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