GNU Hurd

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
GNU Hurd
Rodzina systemów operacyjnych uniksopodobne
Logo
Logo systemu
Interfejs
Interfejs użytkownika
Producent Projekt GNU
Platforma sprzętowa i386
Aktualna wersja 0.7
Wydana 31 października 2015
Jądro Mikrojądro
Środowisko pracy Bash
Licencja GNU General Public License
Wersja Live T dostępna
Oficjalna strona

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

Ś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.

Nazwa[edytuj | edytuj kod]

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.

Dystrybucje[edytuj | edytuj kod]

Obecnie używalnymi dystrybucjami z jądrem Hurd - poza ręczną kompilacją systemu - są Debian GNU/Hurd i ArchHurd.

Zgodność ze standardem POSIX[edytuj | edytuj kod]

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.

Budowa[edytuj | edytuj kod]

Mikrojądro[edytuj | edytuj kod]

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.

Serwery[edytuj | edytuj kod]

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.

Translatory[edytuj | edytuj kod]

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 Hurda[edytuj | edytuj kod]

Dystrybucje GNU bazujące na Hurdzie:

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]

Przypisy

  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].