GNU/Hurd

Transkrypt

GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
GNU/Hurd
Michaª Šyczek
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
1
Wprowadzenie
Historia
2
GNU/Mach
Historia i zaªo»enia
Architektura
3
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
GNU Hurd
J¡dro systemu oparacyjnego wydane na licencji GNU GPL,
zbudowane na bazie mikroj¡dra GNU Mach i zbioru serwerów.
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
Historia
1983:
1988:
1991:
1991:
1994:
1997:
1998:
2001:
Richard Stallman rozpocz¦cie projektu GNU.
Decyzja o wykorzystaniu mikroj¡dra Mach.
Wydanie Mach 3.0 na kompatybilnej licencji.
Thomas Bushnell rozpoczyna projekt Hurd.
Pierwsze bootowanie Hurda.
Wydanie wersji 0.2.
Powstanie archiwum Debian hurd-i386.
Projekt Debian GNU/Hurd zajmuje 3 obrazy CD.
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
Pojedynczy serwer:
Pojedyncze zadanie (task) implementuje funkcjonalno±¢
systemu operacyjnego.
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
Pojedynczy serwer:
Pojedyncze zadanie (task) implementuje funkcjonalno±¢
systemu operacyjnego.
Wiele serwerów:
Wiele zada« razem dostarcza funkcjonalno±ci systemu
operacyjnego.
Pojedynczy serwer dostarczy maª¡, ale dobrze zdeniowan¡
cz¦±¢ caªego systemu.
Obowi¡zki s¡ rozdzielone logicznie pomi¦dzy serwery
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
Pojedynczy serwer:
Pojedyncze zadanie (task) implementuje funkcjonalno±¢
systemu operacyjnego.
Wiele serwerów:
Wiele zada« razem dostarcza funkcjonalno±ci systemu
operacyjnego.
Pojedynczy serwer dostarczy maª¡, ale dobrze zdeniowan¡
cz¦±¢ caªego systemu.
Obowi¡zki s¡ rozdzielone logicznie pomi¦dzy serwery
System z pojedynczym serwerem jest porównywalny do systemu z
j¡drem monolitycznym. Posiada podobne wady i zalety.
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia
Hurd idzie dalej, umo»liwia u»ytkownikom pisanie i uruchamianie
wªasnych serwerów:
U»ytkownicy mog¡ dynamicznie zast¡pi¢ serwery systemowe
wªasnymi
U»ytkownicy mog¡ decydowa¢, które gotowe elementy systemu
chc¡ wykorzysta¢
U»ytkownicy mog¡ rozszerza¢ funkcjonalno±¢ systemu
Bezpiecze«stwo systemu jest nienaruszone
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Historia i zaªo»enia
GNU/Mach:
system kompatybilny z BSD
wsparcie dla ró»nych architektur
uproszczenie budowy j¡dra
obiektowo±¢
wydajna komunikacja mi¦dzyprocesorowa
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
thread
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
thread
port
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
thread
port
port set
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
thread
port
port set
message
Wprowadzenie
GNU/Mach
GNU/Hurd
Historia i zaªo»enia
Architektura
Michaª Šyczek
GNU/Hurd
Architektura
task
thread
port
port set
message
memory object
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Mach vs. Hurd
Tradycyjny Mach:
Serwer nazw (nameserver ) dostarcza portów dla wszystkich
zarejestrowanych serwerów
Port serwera nazw jest dostarczany przez Macha
Pªaska struktura, pojedyncza lista
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Mach vs. Hurd
Tradycyjny Mach:
Serwer nazw (nameserver ) dostarcza portów dla wszystkich
zarejestrowanych serwerów
Port serwera nazw jest dostarczany przez Macha
Pªaska struktura, pojedyncza lista
The Hurd:
System plików (lesystem) jest u»ywany w roli przestrzeni
nazw
Port korzenia (root) jest dostarczany ka»demu zadaniu
W C inne porty mog¡ zosta¢ pozyskane dzi¦ki funkcji
hurd_file_name_lookup
Struktura drzewiasta
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Przykªad u»ycia hurd_le_name_lookup
mach_port_t identity;
mach_port_t pwserver;
kern_return_t err;
pwserver = hurd_file_name_lookup
("/servers/password");
err = password_check_user (pwserver,
0 /* root */, "supass",
&identity);
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Kolejny przykªad
Odnale¹¢ /mnt/readme.txt gdzie /mnt jest "zamontowanym"
systemem plików.
Funkcja biblioteczna wysyªa zapytanie do serwera lesystemu
korzenia / o /mnt/readme.txt.
Filesystem korzenia zwraca port do serwera lesystemu mnt i
nazw¦ /readme.txt.
Funkcja biblioteczna wysyªa zapytanie do lesystemu /mnt o
/readme.txt.
Filesystem mnt zwraca swój port wskazuj¡cy na plik
/readme.txt.
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Aktywne translatory:
settrans -a /cdrom /hurd/isofs /dev/hd2
prowadz¡ serwery pilków
przyczepione do w¦zªa który tªumacz¡ (translate)
uruchamiane jako zwykªe zadania
usuwane po restarcie
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Aktywne translatory:
settrans -a /cdrom /hurd/isofs /dev/hd2
prowadz¡ serwery pilków
przyczepione do w¦zªa który tªumacz¡ (translate)
uruchamiane jako zwykªe zadania
usuwane po restarcie
Pasywne translatory:
settrans /mnt /hurd/ext2fs /dev/hd1s1
s¡ przechowywane jako komendy w w¦zªach systemu plików
w razie potrzeby uruchamiaj¡ aktwyne translatory
uruchamianie jest transparentne dla u»ytkownika
uruchamianie odbywa si¦ w chwili pierwszego »¡dania
s¡ trwaªe pomi¦dzy uruchomieniami systemu
Michaª Šyczek
GNU/Hurd
Wprowadzenie
GNU/Mach
GNU/Hurd
Serwery nazw
Przykªady
Aktywne i pasywne translatory
Debian GNU Hurd
Debian GNU Hurd
Cel:
Dostarczy¢ ªatw¡ w instalacji, binarn¡ dystrybucj¦ Hurda
Zaªo»enia:
Wykorzysta¢ te same ¹ródªa pakietów co Debian GNU/Linux.
Wykorzysta¢ t¦ sam¡ infrastruktur¦:
Cele poboczne:
Przygotowa¢ Debiana na przyszªo±¢
Michaª Šyczek
GNU/Hurd

Podobne dokumenty