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

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m czyszczenie przy użyciu AWB
Mimicdotga (dyskusja | edycje)
Funkcja sugerowania linków: dodane 3 linki.
Linia 2:
 
== Historia ==
NPTL jest dostępna od wersji 2.6 jądra [[Linux (jądro)|Linux]]. Wcześniej tworzono wątki przy użyciu [[wywołanie systemowe|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ń adresowa|przestrzeń adresową]] i [[Tablica deskryptorów|tablicę deskryptorów]] plików. Pierwszą „prawdziwą” implementacją wątków w jądrze 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 jądrze 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 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ż ==