Native POSIX Thread Library: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Darekm (dyskusja | edycje)
zm kategorii: programowanie równoległe
Beau (dyskusja | edycje)
drobne redakcyjne
Linia 1: Linia 1:
'''NPTL''' (ang. Native POSIX Thread Library) - to [[Linux|linuksowa]] implementacja [[wątek|wątków]]. Cechuje ją bardzo duża szybkość działania. Np. uruchomienie 100 000 wątków na komputerze klasy [[IA-32]] zajmuje bez użycia NPTL ok. 15 minut, a przy użyciu NPTL czas ten zmniejsza się do około 2 sekund.
'''NPTL''' (ang. Native POSIX Thread Library) - to [[Linux|linuksowa]] implementacja [[wątek|wątków]]. Cechuje ją bardzo duża szybkość działania. Np. uruchomienie 100 000 wątków na komputerze klasy [[IA-32]] zajmuje bez użycia NPTL ok. 15 minut, a przy użyciu NPTL czas ten zmniejsza się do około 2 sekund.


==Historia==
== Historia ==
NPTL jest dostępna od wersji 2.6 jądra systemu [[Linux (jądro)]]. Wcześniej tworzono wątki przy użyciu wywołania systemowego clone() z odpowiednimi flagami. Proces macierzysty rozgałęział się wtedy na dwa wątki, które współdzieliły ze sobą przestrzeń adresową i tablicę deskryptorów plików. Pierwszą "prawdziwą" implementacją wątków w systemie Linux był projekt o nazwie [[LinuxThreads]]. To on wprowadził możliwość prostszego korzystania z wątków w przestrzeni użytkownika. W wielu dystrybucjach do dziś można spotkać tą właśnie implementację wątków.
NPTL jest dostępna od wersji 2.6 jądra systemu [[Linux (jądro)|Linux]]. Wcześniej tworzono wątki przy użyciu wywołania systemowego clone() z odpowiednimi flagami. Proces macierzysty rozgałęział się wtedy na dwa wątki, które współdzieliły ze sobą przestrzeń adresową i tablicę deskryptorów plików. Pierwszą "prawdziwą" implementacją wątków w systemie Linux był projekt o nazwie [[LinuxThreads]]. To on wprowadził możliwość prostszego korzystania z wątków w przestrzeni użytkownika. W wielu dystrybucjach do dziś można spotkać tą właśnie implementację wątków.


Jednak [[LinuxThreads]] jest stosunkowo powolnym rozwiązaniem, dlatego firma [[IBM]] zaprezentowała swoją koncepcję realizacji wątków w systemie Linux. Rozwiązanie to nosi nazwę [[NGPT]] (ang. Next Generation POSIX Threads). Okazało się jednak, że rozwiązanie proponowane przez firmę [[Red Hat]] jest zdecydowanie wydajniejsze. W roku 2003 firma IBM zakończyła prace nad [[NGPT]].
Jednak [[LinuxThreads]] jest stosunkowo powolnym rozwiązaniem, dlatego firma [[IBM]] zaprezentowała swoją koncepcję realizacji wątków w systemie Linux. Rozwiązanie to nosi nazwę [[NGPT]] (ang. Next Generation POSIX Threads). Okazało się jednak, że rozwiązanie proponowane przez firmę [[Red Hat]] jest zdecydowanie wydajniejsze. W roku 2003 firma IBM zakończyła prace nad [[NGPT]].
Linia 8: Linia 8:
Pomysłem promowanym przez [[Red Hat]]a była właśnie biblioteka NPTL. Wymagała ona pewnych zmian w jądrze i do dnia dzisiejszego nie wszyscy dystrybutorzy systemu Linux zdecydowali się przejść na tę implementację wątków. NPTL pojawiła się pierwszy raz w systemie Red Hat Linux 9. NPTL wychodzi z założenia, że każdy wątek można zaprezentować jako proces. Jądro nie widzi różnicy między wątkiem a procesem, poza jednym wyjątkiem - przy przełączaniu wątków nie trzeba przełączać przestrzeni adresowej, co znacznie skraca czas potrzebny na przełączenie procesu.
Pomysłem promowanym przez [[Red Hat]]a była właśnie biblioteka NPTL. Wymagała ona pewnych zmian w jądrze i do dnia dzisiejszego nie wszyscy dystrybutorzy systemu Linux zdecydowali się przejść na tę implementację wątków. NPTL pojawiła się pierwszy raz w systemie Red Hat Linux 9. NPTL wychodzi z założenia, że każdy wątek można zaprezentować jako proces. Jądro nie widzi różnicy między wątkiem a procesem, poza jednym wyjątkiem - przy przełączaniu wątków nie trzeba przełączać przestrzeni adresowej, co znacznie skraca czas potrzebny na przełączenie procesu.


==Zobacz też==
== Zobacz też ==
* [[wątek (informatyka)|wątek]]
* [[Wątek]]
* [[Algorytm szeregowania|planista]]
* [[Linux]]
* [[Linux]]
* [[Planista]]
* [[POSIX Threads]]
* [[POSIX Threads]]


==Linki zewnętrzne==
== Linki zewnętrzne ==
* [http://people.redhat.com/drepper/nptl-design.pdf Szczegóły implementacji NPTL]
* [http://people.redhat.com/drepper/nptl-design.pdf Szczegóły implementacji NPTL]


{{Oprogramowanie stub}}
{{Oprogramowanie stub}}

[[Kategoria:Linux]]
[[Kategoria:Linux]]
[[Kategoria:Programowanie równoległe]]
[[Kategoria:Programowanie równoległe]]


[[en:Native POSIX Thread Library]]
[[de:Native POSIX Thread Library]]
[[de:Native POSIX Thread Library]]
[[fi:Native POSIX Thread Library]]
[[en:Native POSIX Thread Library]]
[[ru:Библиотека потоков POSIX]]
[[ru:Библиотека потоков POSIX]]
[[fi:Native POSIX Thread Library]]

Wersja z 01:06, 16 sty 2008

NPTL (ang. Native POSIX Thread Library) - to linuksowa implementacja wątków. Cechuje ją bardzo duża szybkość działania. Np. uruchomienie 100 000 wątków na komputerze klasy IA-32 zajmuje bez użycia NPTL ok. 15 minut, a przy użyciu NPTL czas ten zmniejsza się do około 2 sekund.

Historia

NPTL jest dostępna od wersji 2.6 jądra systemu Linux. Wcześniej tworzono wątki przy użyciu wywołania systemowego clone() z odpowiednimi flagami. Proces macierzysty rozgałęział się wtedy na dwa wątki, które współdzieliły ze sobą przestrzeń adresową i tablicę deskryptorów plików. Pierwszą "prawdziwą" implementacją wątków w systemie Linux był projekt o nazwie LinuxThreads. To on wprowadził możliwość prostszego korzystania z wątków w przestrzeni użytkownika. W wielu dystrybucjach do dziś można spotkać tą właśnie implementację wątków.

Jednak LinuxThreads jest stosunkowo powolnym rozwiązaniem, dlatego firma IBM zaprezentowała swoją koncepcję realizacji wątków w systemie Linux. Rozwiązanie to nosi nazwę NGPT (ang. Next Generation POSIX Threads). Okazało się jednak, że rozwiązanie proponowane przez firmę Red Hat jest zdecydowanie wydajniejsze. W roku 2003 firma IBM zakończyła prace nad NGPT.

Pomysłem promowanym przez Red Hata była właśnie biblioteka NPTL. Wymagała ona pewnych zmian w jądrze i do dnia dzisiejszego nie wszyscy dystrybutorzy systemu Linux zdecydowali się przejść na tę implementację wątków. NPTL pojawiła się pierwszy raz w systemie Red Hat Linux 9. NPTL wychodzi z założenia, że każdy wątek można zaprezentować jako proces. Jądro nie widzi różnicy między wątkiem a procesem, poza jednym wyjątkiem - przy przełączaniu wątków nie trzeba przełączać przestrzeni adresowej, co znacznie skraca czas potrzebny na przełączenie procesu.

Zobacz też

Linki zewnętrzne

Szablon:Oprogramowanie stub