Logo programu | |
Interfejs użytkownika | |
| Producent | |
|---|---|
| Architektura | |
| Aktualna wersja |
0.9 |
| Jądro | |
| Środowisko pracy | |
| Licencja | |
| Wersja Live |
dostępna |
| Strona internetowa | |
GNU Hurd – ją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
- ↑ GNU Issues Convert Hurd Libraries and Servers to pthreads, dostęp 2011-10-07.
- ↑ nixos.org.
- ↑ Gnu.org: Nix-based GNU/Hurd System. 2012-03-21. [dostęp 2012-07-12].
- ↑ GNU Hurd/ hurd/ running/ live cd. [dostęp 2012-11-19].