Nowe jądro przed końcem roku

a) Obsługa sprzętu

  • Obsługa nowych architektur sprzętowych: AMD 64-bitowa (x86-64), PowerPC 64-bitowa (ppc64).
  • Możliwość wymiany procesora bez konieczności wyłączania serwera w serwerach wspierających taką funkcjonalność (tzw. hot-plug CPU).
  • Obsługa technologii Hyperthreading.
  • Lepsza obsługa architektur wieloprocesorowych, w tym NUMA.
  • Obsługa złącza USB 2.0 (na razie testowo).
  • Obsługa złącza graficznego AGP 3.0.
  • Rozszerzona obsługa interfejsu do sterowania konfiguracją wewnętrznych urządzeń i poborem mocy serwera ACPI (Advanced Configuration & Power Interface); interfejs ACPI jest szeroko wykorzystywany w systemach serwerowych wyższej klasy, a jądro 2.4.x nie umożliwiało pełnego wykorzystania jego możliwości.
  • Nowy zestaw interfejsów do sterowania napięciem i taktowaniem procesorów - wsparcie dla Intel SpeedStep, Powernow! (AMD Mobile Athlon), a także innych, np. ARM.
b) Funkcjonalność

  • Przepisany w całości moduł LVM - usunięcie ograniczenia wielkości urządzenia blokowych i plików do 2 TB - obecnie limit wynosi 16 TB dla platform 32-bitowych i aż 8 EB (eksabajtów - 1 EB = 1000 PB = 1 mln TB) dla platform 64-bitowych.
  • Znaczna poprawa wydajności obsługi urządzeń blokowych i zarządzania pamięcią.
  • Wprowadzenie obsługi list praw dostępu dla systemów plików ext2/ ext3; dzięki listom stanie się możliwe stosowanie kontekstowego systemu uprawnień do zasobów systemowych, wychodzącego poza stosowany w systemach Unix i Windows model "wszystko albo nic".
  • Nowy model sterowników sprzętowych (wyniesienie większości sterowników poza jądro ich modularyzacji) i zunifikowana struktura nazewnictwa urządzeń.
  • Nowa wersja dziennikowego systemu plików JFS przekazana środowisku open source przez IBM.
  • Nowy - szybszy i stabilniejszy sterownik systemu plików NTFS o nazwie NTFS TNG (wciąż tylko w wersji "tylko do odczytu")
  • Nowy zestaw interfejsów API dla sterowników obsługujących sieci radiowe.
c) Wydajność

Wielozadaniowość jest od lat atutem systemów Linux. Prawdą jest jednak to, że - podobnie jak w przypadku systemów Windows - jest to wielozadaniowość realizowana ponad poziomem jądra systemu za pomocą narzędzia do kolejkowania procesów (process scheduler). Zadania realizowane zaś bezpośrednio przez jądro systemu nie mogą być wykonywane równolegle. Chodzi tu np. o możliwość wywłaszczenia niektórych zadań jądra systemu po to, by wykonać inne zadania, np. o wyższym priorytecie. Jedynym wyjątkiem są przerwania sprzętowe, które samodzielnie inicjuje kod jądra.

Wielozadaniowość na poziomie jądra obsługują na razie najbardziej zaawansowane systemy operacyjne dla systemów wieloprocesorowych, takie jak Sun Solaris czy HP-UX, oraz niektóre systemy czasu rzeczywistego. Jednak jądro Linuxa w wersji 2.5.4 zawiera pierwsze próby w tej dziedzinie - powstały nawet łatki pozwalające na dodanie wielowątkowości do jądra w wersji 2.4.x. Niezależnie wersja 2.5 wprowadza także ulepszenia w dotychczasowej obsłudze wielowątkowości, co powinno być widoczne zwłaszcza przy wykonywaniu większej liczby procesów.

Wersja 2.6.x - w kierunku

Jądro serii eksperymentalnej 2.5.x jest już wystarczająco dojrzałe i stabilne, by rozpocząć przygotowania do zamiany wersji testowej na produkcyjną. Tradycyjnie już nie jest podawana konkretna data, jednak wszystko wskazuje na to, że wersja stabilna zostanie opublikowana jeszcze w 2003 r. Pierwsze testowe wersje jądra pre-2.6.0 opublikowano w kwietniu 2003 r. z zamiarem zakończenia testów do końca czerwca. Przedstawiciele IBM, który wydaje się najbardziej zainteresowany zakończeniem prac nad wersją 2.6.0, zapowiadają jednak, że pierwsze produkty wykorzystujące możliwości nowego jądra pojawią się dopiero w drugim kwartale 2004 r. Chodzi głównie o nowe wersje pakietów JDK, WebSphere, DB2, Domino i produkty Oracle'a. Najnowsza generacja stabilnej wersji jądra Linuxa będzie zawierała wiele rewolucyjnych zmian, które sprawią, że jądro to nie będzie miało wiele wspólnego z wersjami sprzed 2.4. Większość ulepszeń

i nowych funkcji to rozszerzanie możliwości Linuxa, tak by był on konkurencyjny dla komercyjnych systemów operacyjnych. Poniżej zamieszczamy listę najważniejszych ulepszeń wprowadzanych w wersji 2.6.0, uzupełniających udoskonalenia wprowadzone w wersji 2.5.x:

  • Przebudowa wszystkich sterowników zgodnie z nowym modelem wprowadzonym w serii 2.5.x.
  • Przebudowa stosu protokołu AppleTalk.
  • Możliwość zmiany wielkości systemów plików ext2/ext3 "w locie".
  • Zapis płyt CD-R/RW w trybie UDF (tryb pakietowy).
  • Nowe wywołanie systemowe o nazwie kexec, pozwalające załadować nowe jądro systemu z pominięciem BIOS-u i bootloadera, co umożliwia przeprowadzenie błyskawicznego restartu, np. bez konieczności skanowania urządzeń podłączonych do kontrolerów SCSI.
Mimo wielu udoskonaleń funkcjonalnych i optymalizacji, jądro 2.6.0 wciąż będzie wymagało rozwoju. Proces wyprowadzania sterowników sprzętowych poza jądro i ich modularyzacji, choć rozpoczęty, nie zostanie tym razem w pełni zakończony. W wersji 2.6.0 nie pojawi się także, bardzo potrzebna, możliwość "wymiany w biegu" urządzeń SCSI i Fibre Channel. Odpowiedni projekt już jednak istnieje - szczegóły można znaleźć pod adresem:http://sourceforge.net/projects/atca-hotswap . Należy też pamiętać, że dla programistów korzystających z usług jądra nowa jego wersja to jednak nie tylko zalety, ale także nowe wyzwania związane z koniecznością poznania nowej architektury.

Ważne adresy

TOP 200