Rysa na Oknach

W styczniu 2001 r. zostało oficjalnie opublikowane linuksowe jądro 2.4.0. Jest to krok milowy dla tego systemu, gdyż nowy kernel wprowadza wiele funkcji i rozszerzeń, dostępnych do tej pory tylko w dużych, komercyjnych systemach. Skutkiem tego faktu było stwierdzenie szefa Microsoftu, że Linux zaczyna być zagrożeniem dla jego firmy (patrz: ramka “Info”). I to nie tylko dla platform serwerowych opartych na systemie Windows 2000, ale również dla komputerów osobistych.

Nie tylko dla pecetów

Większość zmian w jądrach serii 2.4.x dotyczy bardziej rozwiązań dla dużych systemów niż dla domowych, jednak są one również ważne dla przeciętnego użytkownika Linuksa. W nowej wersji jądra dodano obsługę dla nowych procesorów i maszyn, a są nimi:

– ia64, czyli Itanium – w pełni 64-bitowy następca całej linii procesorów opartych na architekturze i386,

– S/390, czyli maszyna mainframe firmy IBM,

– SuperH – platforma sprzętowa dla Windows CE,

– 64-bitowe procesory, wykonane w technologii MIPS.

Obsługa mechanizmu Logical Volume Manager umożliwi zarządzanie wieloma dyskami jak jednym, co przyda się na pewno w zastosowaniach biznesowych.

Jądro 2.4.0 zawiera także pełne wsparcie dla procesora Pentium 4, a także dla technologii MMX i MMX2. Zoptymalizowano jądro dla nowych procesorów, w szczególności Pentium III. Poprawiono także obsługę maszyn wieloprocesorowych – obecnie możliwa jest obsługa do 16 procesorów.

Wymienione cechy mają ogromne znaczenie dla zastosowań biznesowych, gdyż właśnie w takich rozwiązaniach potrzebna jest duża skalowalność i moc obliczeniowa. Ważną zaletą jest także wspieranie dużego sprzętu (mainframe) firmy IBM, gdyż nadal jest on stosowany w krytycznych rozwiązaniach (są to duże i niezawodne maszyny).

Nowy kernel ma już także w pełni funkcjonalny system zarządzania zasobami. Co to dokładnie oznacza? Otóż w nowej wersji w pełni jest już wspierana technologia Plug and Play, gdyż system jest w stanie prawidłowo zarządzać dynamicznie przydzielanymi zasobami systemowym. Jest to szczególnie ważne dla domowych użytkowników Linuksa, posiadających przeróżne karty rozszerzeń, które dotychczas niekoniecznie “chciały” współpracować z tym systemem.

Dla zawodowców

Nowości, które są może mniej ważne dla domowego użytkownika, to: możliwość obsługi większej liczby procesów (ma to szczególne znaczenie w systemach wieloprocesorowych), poprawiony scheduler do obsługi procesów równoległych i zwiększony limit na zakładanie kont użytkowników oraz grup – obecnie może ich być 4,2 miliarda!!! Nowe jądro może także korzystać maksymalnie z 64 GB pamięci RAM, 10 kart sieciowych Ethernet i 10 kontrolerów IDE. Usunięto też ograniczenie maksymalnego rozmiaru pliku równe 2 GB.

W nowym jądrze zmieniono strukturę kar-toteki /dev. Poprzednio znajdowały się tu powiązania do wszystkich urządzeń w systemie. W nowej wersji używany jest DevFS (Device Filesystem), czyli – ogólnie rzecz ujmując – katalog podzielono na grupy i utworzono np. folder /dev/ide0, zawierający dyski pracujące na pierwszym kontrolerze IDE. Taka zmiana wyraźnie zwiększa przestrzeń nazw dla urządzeń w systemie.

Jądro 2.4.0 w pełni obsługuje standard USB i I2O. Obecnie możemy bez problemu korzystać z klawiatury bądź myszki USB. Przepisano także od nowa sterowniki do kart PCI, ISA, MCA. Dodano również obsługę zdobywającego coraz większe rzesze zwolenników standardu Firewire (IEE1398), z którego korzystają m.in. urządzenia multimedialne – np. kamery wideo.

Bardzo duże zmiany zaszły także w warstwie jądra odpowiadającej za obsługę plików i dysków. Nowością jest LVM, czyli Logical Volume Manager – jest to mechanizm znany z “większych” Uniksów (HP-UX czy True64 Unix), umożliwiający na przykład administrowanie wieloma dyskami, tak jakby był to jeden. Pojawiła się też możliwość dynamicznego dołączania nowych przestrzeni (np. poprzez dodanie nowego dysku) do partycji itp. Ta technologia jest przydatna także w rozwiązaniach biznesowych, gdzie czasami wymagane partycje muszą być większe niż produkowane dyski.

Nowy kernel obsługuje także tzw. raw devices, czyli bezpośredni dostęp do dysków. Dostęp taki jest bardzo ważny w newralgicznych aplikacjach, które “nie mają czasu” czekać, aż dane “przejdą” przez wolną pamięć podręczną systemu na dysk, tylko zapisują je bezpośrednio na dysk. Technologia ta jest stosowana np. w dużych bazach danych.

Jądra serii 2.4.x mają od nowa przepisaną znaczną część warstwy sieciowej, tak aby była ona bardziej stabilna i wydajna. Poprawiono także obsługę NFS-u, czyli sieciowego systemu plików pozwalającego współdzielić katalogi w sieci.

Ponownie napisano też warstwę jądra odpowiadającą za firewall i translację adresów sieciowych (NAT – Network Address Translation). Oznacza to, że za pomocą Linuksa można budować jeszcze bezpieczniejsze bramy sieciowe.

Jedną z ciekawych, całkiem nowych rozwiązań jest dodanie do jądra demona serwera WWW, czyli khttpd. Oznacza to, że jądro może działać jako prosty serwer WWW, dający szybki i bezpośredni dostęp do plików w systemie.

Quo vadis pingwinie?

Podsumowując – nowe jądro w obecnej fazie rozwoju może już w pełni konkurować, z dużymi i komercyjnymi systemami, gdyż oferuje takie same funkcje. Dziś na rynku systemów operacyjnych liczy się przede wszystkim skalowalność, szybkość, otwartość na nowe standardy i niezawodność. Wszystkie te warunki spełnia kernel 2.4.x.

Info
Grupy dyskusyjne
Uwagi i komentarze do artykułu:
#
Pytania techniczne:
#
Internet
The Linux Kernel Archives
http://linux.kernel.org/
The International Kernel Patch (wsparcie do kryptografii zawarte w jądrze)
http://www.kerneli.org/
Wonderful World of Linux 2.4.x
http://linuxtoday.com/stories/8191.html
Steve Ballmer o Linuksie
http://www.techweb.com/wire/story/ TWB20010110S0006
Na CHIP-CD 2/2001 w dziale Software | Programy dla Linuksa znajduje się jądro w wersji 2.4.0
Na CHIP-CD 3/2001 w dziale Aktualności | Programy dla Linuksa znajduje się uaktualnienie jądra 2.4.0 do wersji 2.4.1
Więcej:bezcatnews