GNU Hurd

Logo programu

Interfejs użytkownika
Producent

Projekt GNU

Architektura

i386

Aktualna wersja

0.9
(18 grudnia 2016) [±]

Jądro

Mikrojądro

Środowisko pracy

Bash

Licencja

GNU General Public License

Wersja Live

dostępna

Strona internetowa

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

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

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 POSIX

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, tymczasowo istnieje biblioteka emulująca wątki Pthreads na bazie Cthreads.

Budowa

Mikrojądro

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

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

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

Dystrybucje GNU bazujące na Hurdzie:

  • Arch Hurd,
  • Debian GNU/Hurd,
  • NixOS,
  • Bee GNU/Hurd (rozwój przerwany),
  • Gentoo GNU Hurd (rozwój przerwany),
  • GNU/Hurd Live CD (rozwój przerwany).

Zobacz też

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

Linki zewnętrzne

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.