Co nowego w jądrze Linuksa 2.6
Spis treści:
Wstęp
17 grudnia roku 2003 jest jednym z
ważniejszych w historii społeczności komputerowej. Tego dnia Linus Torvalds,
kilkanaście lat temu nikomu nie znany student z Finlandii, dziś jedna z
największych gwiazd branży IT, oficjalnie ogłosił wydanie nowej wersji jądra
systemu operacyjnego Linux - wersji o numerze 2.6.
Wszelkie zmiany, które zaszły w porównaniu do wydania 2.4, są
efektem pracy wielu ludzi rozsianych po całym świecie - najcześciej ludzi,
którzy poświęcili swój czas dobrowolnie, dla czystej satysfakcji. Ponieważ
bowiem Linux jest produktem open-sourceowym, każdy ma dostęp do jego kodu i
każdy może na tym kodzie operować. A gdy komuś udaje się napisać coś naprawdę
sensownego, jest to dołączane (choć oczywiście najpierw musi zostać dokładnie
przetestowane) do kolejnej wersji jądra. W praktyce odbywa się to tak, że taki
programista (zwany developerem Linuxa) pisze łatkę (ang - patch) na starszą
wersję jądra, a kod w nowej wersji jest bardzo zbliżony do starego z nałożoną
łatką. Taka forma rozwoju oprogramowania - wobec konkurencji produktów wielkich,
zorganizowanych firm - mogłaby się wydawać nierealna, bez przyszłości bo bez
szans na sukces. A jednak. Popularność Linuxa rośnie z każdym dniem, a nie tak
dawno zupełnie niezagrożone Windowsy Microsoftu mają teraz naprawdę poważną
konkurencję.
Ponieważ każde kolejne jądro jest większe od poprzedniego, a
oprócz rzeczy nowych zmienia implementację wielu starych, nie zostaną tu
omówione wszystkie zmiany. Skupmy się jednak na tych najważniejszych, tych,
które dotyczyć będą najszerszą grupę użytkowników. Są to:
Asynchroniczne wejście-wyjście
Odwrotne odwzorowanie stron (reverse mapping)
Scheduler O(1)
Obsługa NUMA i HyperThreading
Wywłaszczalne jądro
Zarządzanie informacjami o urządzeniach
Wydajniejsza obsługa blokowych operacji weścia-wyjścia)
Systemy plików
Moduły
"Embedded System" i mikrokontrolery
Udogodnienia w Laptopach
inne zagadnienia
Wybrane momenty z historii Linuxa
Rok 1991. Linus Torvalds, student informatyki na Uniwersytecie Helsińskim,
niezadowolony z luk w systemie operacyjnym unix, postanawia napisać własny
system operacyjny. Dnia 25-ego sierpnia ogłasza w usenecie zakończenie prac nad
pierwszą wersją. System działa jedynie na procesorze 386 i obsługuje tylko dyski
twarde AT (bo taki miał Linus). Liczy dokładnie 10239 linii kodu, a jego
rozmiar to 0.2 MB.
jądro 0.01 - rok 1991
Projekt cieszy się coraz większym zainteresowaniem. W czerwcu roku 1996
ukazuje się wersja 2.0.0 rozmiaru 22 MB, na które składa się 777956
linii kodu. Tymczasem Torvalds wyjeżdża - jeszcze nie na stałe - do
Kalifornii, zaproszony przez wchodzącą na rynek kompanię Transmeta. Jednocześnie
jednak stale nadzoruje postęp prac nad kolejnymi funkcjonalnościami.
jądro 2.0 - rok 1996
Przychodzi grudzień roku 2003. Linux oczywiście jest już znany i
popularny na całym świecie, podobnie jak jego autor. Pierwsze wydanie wersji 2.6
- 2.6.0 - ma rozmiar 212 megabajtów, na które składa się 5929913 linii
kodu. W dziale 'CREDITS' pojawiają się nazwiska 447 osób, a są to jedynie
najważniejsi developerzy.
jądro 2.6 - rok 2003
W chwili pisania tego artykułu najnowszą stabilną wersją jądra
linuxa jest 2.6.9 (18-10-2004), choć oczywiście trwają już prace nad
2.6.10. Nasuwa się pytanie - czy ten rozwój się kiedyś zatrzyma? Na pewno w
najbliższym czasie nic na to nie wskazuje, choćby dlatego, że rozwój sprzętu
wymaga równoczesnego rozwoju oprogramowania dla niego. A jaką obecnie pozycję na
świecie ma Linux? Dane, że używać go może około dwóch-trzech procent
użytkowników komputerów domowych mogłyby wskazywać, że wciąż nie za mocną.
Ale...
-
przekłada się to na kilkanaście-kilkadziesiąt milionów
użytkowników, najczęściej zaawansowanych
-
z Linuxa korzysta około 30% serwerów
-
IBM
BlueGene/L
Linux
cluster zajmuje pierwsze miejsce na liście 500 najlepszych
superkomputerów (Listopad 2004)
-
Spośród pięciu najszybszych superkomputerów na świecie trzy
korzystają z Linuxa (nr 1,2,5).
-
na Linuxa przerzuciła się największa na świecie internetowa
księgarnia - Amazon
-
pod Linuxem chodzą serwery Google (wzrost ich liczby z
6000 w 2000 do ponad 54000 trzy lata później)
-
i wieeeeeele innych...
A zatem...
jądro 3.0 - ????
Rozwój jądra krok po kroku:
-
Linux 0.01 (Wrz 1991) to 10239 linii kodu, 0.2 MB.
-
Linux 0.10 (Gru 1991) to 17750 linii kodu, 0.4 MB.
-
Linux 0.99 (Gru 1992) to 81091 linii kodu, 2.2 MB.
-
Linux 1.0.0 (Mar 1994) to 176250 linii kodu, 4.7 MB.
-
Linux 1.2.0 (Mar 1995) to 310950 linii kodu, 8.4 MB.
-
Linux 2.0.0 (Cze 1996) to 777956 linii kodu, 22 MB.
-
Linux 2.2.0 (Sty 1999) to 1800847 linii kodu, 52 MB.
-
Linux 2.4.0 (Sty 2001) to 3377902 linii kodu, 100 MB.
-
Linux 2.5.37 (Wrz 2002) to 5100081 linii kodu, 152 MB.
-
Linux 2.6.0 (Gru 2003) to 5929913 linii kodu, 212 MB
NA poniższym diagramie widać wykładniczość tego rozwoju:
Dokumentacja
Autorzy
- Katarzyna Zimnoch
- Wojciech Czerwiński
- Miłosz Darżynkiewicz
- Marcin Kulka
początek