Debian GNU/Hurd 2019 – po 29 latach można już bezpiecznie wyłączyć system

Adam Golański , 08.07.2019 r.
GNU/Hurd

W cieniu debiutu Debiana 10 doszło do wydania systemu daleko mniej popularnego, można by było powiedzieć, że bez większego praktycznego znaczenia – a jednak z pewnej teoretycznej perspektywy ważniejszego. Mowa tu o Debianie GNU/Hurd 2019, będącego niczym innym jak implementacją systemu GNU, a w praktyce nieoficjalnym portem Debiana z niestabilnej dystrybucji „sid”, połączonym z mikrokernelem Hurd.

Co nowego w GNU/GNU?

Nowe wydanie Debiana GNU/Hurd podobnie jak i poprzednie dostępne jest tylko na 32-bitową architekturę i386, i może uruchomić jakieś 80% pakietów dostępnych w repozytorium Debiana. Jak można się spodziewać, oficjalnie wydanie nie ograniczyło się do wrzucenia odświeżonych wersji pakietów. Dostaliśmy kilka nowości:

  • translator dla interfejsu ACPI, który pozwoli bezpiecznie wyłączyć system bez obaw o stan systemu plików,
  • arbiter PCI, który pozwoli na zarządzanie dostępem do szyny PCI i zapewni precyzyjny dostęp do sprzętu,
  • lekki stos sieciowy LwIP, powszechnie stosowany w systemach wbudowanych (takich, co muszą sobie radzić z 64 KB RAM),
  • wsparcie dla kompilatora LLVM,
  • garść ulepszeń i optymalizacji, takich jak chronione ładunki, lepsze zarządzanie stronicowaniem pamięci, dyspozycją wiadomości,

Tym razem oprócz standardowego obrazu z instalatorem Debiana, można sięgnąć też po obraz z preinstalowanym systemem, wygodny do użycia w maszynach wirtualnych. Znajdziecie je na serwerach Debiana.

Niestety – to żaden rywal dla Linuksa

Ktoś powie, że to mało? Jasne, w porównaniu do tempa rozwoju Linuksa (i jako kernela, i jako rodziny systemów operacyjnych), GNU/Hurd rozwija się przeraźliwie powoli. Łatwo to jednak wyjaśnić: dzisiaj w praktyce zajmuje się nim dziś raptem dwóch programistów, i to w swoim wolnym czasie. Wydają się oni być ostatnimi naprawdę zainteresowanymi tym, co 29 lat temu gdy GNU/Hurd powstawał, było niezwykle obiecującym tropem w rozwoju systemów operacyjnych.

Standardowe monolityczne jądro, takie jak Linux czy kernel NT, zastąpić miał opracowany na bazie mikrojądra Mach zestaw demonów, implementujących systemy plików, protokoły sieciowe, mechanizmy kontroli dostępu i wszelkie inne przynależne kernelowi kwestie – jednak stabilniej, bezpieczniej i niezawodnej. Stąd też nazwa, para wzajemnie rekursywnych akronimów (HURD: Hird of Unix-Replacing Daemons, HIRD: Hurd of Interfaces Representing Depth).

Jak wiadomo – w praktyce nie zastąpiły. Owszem, w 2013 roku po raz pierwszy deweloperzy Debiana zdołali zastąpić Linuksa GNU/Hurdem w nieoficjalnej i nadającej się do ograniczonego użytku dystrybucji tego systemu, ale nie przyniosło to większego przełomu. Główne bolączki pozostały: bardzo skromny zakres obsługiwanego sprzętu (właściwie to nie ma sensu uruchamiać tego poza emulatorem QEMU, wciąż nie wspiera szyny USB), oraz powolna komunikacja międzyprocesowa, będąca wynikiem założeń architektury.

Niektórzy oczywiście uważają, że w mikrokernelach istnieje ukryty potencjał, którego dziś dobrze nie rozumiemy, a narzut na wydajność może zostać zmniejszony za sprawą wielordzeniowości współczesnych procesorów. I może faktycznie tak właśnie jest. Ostatecznie mikrokernel L4 znalazł liczne przemysłowe zastosowania (np. w bezpiecznych enklawach procesorów ARM), Intel wykorzystuje Minixa w swoim Management Engine, a systemem przyszłości Google’a jest przecież Fuchsia z mikrokernelem Zircon.

Wszystko to jednak zastosowania daleko bardziej specyficzne, niż napędzanie desktopowego systemu operacyjnego w imię prac badawczych nad projektami mikrokerneli – i niezdolnego dziś wciąż do wykorzystania wielordzeniowości czy architektur 64-bitowych. Nikt już chyba poważnie nie sądzi, że GNU/Hurd będzie ostatnim elementem układanki znanej jako System operacyjny GNU (czy też złośliwie mówiąc, GNU/GNU). Linux jako kernel spełnia zasadniczo wszystkie założenia ideologiczne, jest projektem Wolnego Oprogramowania, i to największym na świecie.

Najgorsze w tym wszystkim jest to, że o ile same prace badawcze nad mikrokernelami niewątpliwie mają sens i w przyszłości mogą coś przynieść, to deweloperzy GNU/Hurd wciąż tkwią mentalnie w minionym stuleciu, uparcie trzymając się mikrokernela pierwszej generacji, Macha. A przecież dziś mamy takie służące naukowym i badawczym celom systemy mikrokernelowe jak HelenOS, Genode czy Muen.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: