GNU Hurd

jądro systemu operacyjnego planowanego jako następca Unixa

GNU Hurdjądro systemu operacyjnego opartego na architekturze mikrojądra.

GNU Hurd
Rodzina systemów operacyjnych uniksopodobne
Logo
Ilustracja
Interfejs użytkownika
Producent Projekt GNU
Architektura i386
Aktualna wersja 0.9
(18 grudnia 2016; ponad 3 lata temu)
Jądro Mikrojądro
Środowisko pracy Bash
Licencja GNU General Public License
Wersja Live T dostępna
Strona internetowa

Ściśle technicznie Hurd nie jest jądrem, a jedynie zbiorem uprzywilejowanych serwerów działających w przestrzeni użytkownika i dostarczających takich usług jak system plików, obsługa terminala, dysku czy sieci reszcie systemu. W jądrach monolitycznych sterowniki tego typu znajdują się w jądrze.

NazwaEdytuj

System, którego jądrem jest Hurd, nazywa się GNU/Hurd (analogicznie do GNU/Linux) albo po prostu GNU, ponieważ Hurd jest częścią tego projektu.

Nazwa „Hurd” jest rekurencyjnym akronimem. Oznacza Hird of Unix-Replacing Daemons, „Hird” natomiast oznacza Hurd of Interfaces Representing Depth.

DystrybucjeEdytuj

Obecnie nadającymi się do użytku dystrybucjami z jądrem Hurd – poza ręczną kompilacją systemu – są Debian GNU/Hurd i ArchHurd.

Zgodność ze standardem POSIXEdytuj

Hurd jest częściowo zgodny ze standardem POSIX. Najważniejszą niezgodnością jest używanie systemu wątków Cthreads zamiast systemu określonego w standardzie POSIX (Pthreads). Planowane jest porzucenie Cthreads na rzecz Pthreads[1], tymczasowo istnieje biblioteka emulująca wątki Pthreads na bazie Cthreads.

BudowaEdytuj

MikrojądroEdytuj

Obecnie Hurd używa mikrojądra Mach 4, powstałego na Uniwersytecie Carnegie-Mellon, lecz od lat pojawiają się propozycje zmiany mikrojądra. Są one wysuwane ze względu m.in. na słabą wydajność i przenośność oraz brak obsługi SMP w Mach 4.

Podjęto próbę nieoficjalnego przeniesienia Hurd na L4. Udało się uzyskać pewne sukcesy na L4Ka::Pistachio, a docelowo jest rozważana integracja z jądrem Coyotos i współpraca z jego autorami.

SerweryEdytuj

Hurd bywa nazywany „zespołem serwerów” (bazujących na Machu lub innym mikrojądrze) wykonujących konkretne zadania. Do dyspozycji są serwery uwierzytelniania, haseł, procesów itd.

Nowatorskim rozwiązaniem zastosowanym w Hurdzie jest danie użytkownikom możliwości usunięcia lub zamiany jakiegokolwiek z serwerów. Użytkownicy mogą pisać też własne pełnoprawne serwery. Obszar systemu (w sensie obszaru, z którym użytkownik nie może nic zrobić) jest ograniczony do minimum.

TranslatoryEdytuj

Inną ciekawą cechą jest mechanizm translatorów, działających na zasadzie filtrów nakładanych na konkretne miejsca w drzewie katalogowym (także na pliki). Za przykład translatora mógłby posłużyć mechanizm pozwalający na dostęp do zasobów FTP tak jak do zwykłego katalogu na dysku i operacje na tych zasobach tak jak na plikach lokalnych (tymi samymi narzędziami).

Współcześnie takie możliwości są oferowane w obrębie pojedynczych programów, a nie całego systemu, natomiast najbliższy odpowiednik translatorów dla systemów typu GNU/Linux to projekt FUSE (filesystem in userspace).

Dystrybucje GNU uruchamiające HurdaEdytuj

 
Debian GNU/Hurd ze środowiskiem graficznym Xfce4 i przeglądarką Midori

Dystrybucje GNU bazujące na Hurdzie:

Zobacz teżEdytuj

Linki zewnętrzneEdytuj

PrzypisyEdytuj

  1. GNU Issues Convert Hurd Libraries and Servers to pthreads, dostęp 2011-10-07
  2. nixos.org
  3. Gnu.org: Nix-based GNU/Hurd System. 2012-03-21. [dostęp 2012-07-12].
  4. GNU Hurd/ hurd/ running/ live cd. [dostęp 2012-11-19].