System operacyjny Amoeba



Podobne dokumenty
System operacyjny MACH

Mechanizmy pracy równoległej. Jarosław Kuchta

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sieciowe Systemy Operacyjne

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Działanie systemu operacyjnego

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Działanie systemu operacyjnego

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Klient-Serwer Komunikacja przy pomocy gniazd

Działanie systemu operacyjnego

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Laboratorium Sieci Komputerowych - 2

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Prezentacja systemu RTLinux

Działanie systemu operacyjnego

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Architektura komputerów

Warstwy systemu Windows 2000

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

76.Struktura oprogramowania rozproszonego.

Tworzenie aplikacji rozproszonej w Sun RPC

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Programowanie współbieżne i rozproszone

1. Etapy rozwoju systemów komputerowych

SIECI KOMPUTEROWE. Podstawowe wiadomości

Adres IP

Wprowadzenie. Dariusz Wawrzyniak 1

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Protokoły sieciowe - TCP/IP

Instrukcja konfiguracji funkcji skanowania

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Podstawy sieci komputerowych. Technologia Informacyjna Lekcja 19

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Sieci komputerowe. Wstęp

4. Podstawowa konfiguracja

Problemy z bezpieczeństwem w sieci lokalnej

LEKCJA TEMAT: Zasada działania komputera.

SYSTEMY WEJŚCIA-WYJŚCIA

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

"Klasyczna" struktura systemu operacyjnego:

Prezentacja systemu plików NFS

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Praca w sieci z serwerem

Programowanie współbieżne i rozproszone

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Działanie komputera i sieci komputerowej.

DESlock+ szybki start

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

router wielu sieci pakietów

Podstawowe pojęcia dotyczące sieci komputerowych

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Konfiguracja konta pocztowego w Thunderbird

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Przesyłania danych przez protokół TCP/IP

Warstwa sieciowa rutowanie

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Sieci równorzędne, oraz klient - serwer

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Test. Administrowanie sieciowymi systemami operacyjnymi

Rozproszona pamiêæ dzielona - 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

System operacyjny Linux

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wybrane działy Informatyki Stosowanej

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Obliczenia rozproszone MPI

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Budowa systemów komputerowych

Tomasz Greszata - Koszalin

Bezpieczeństwo systemów informatycznych

Zarządzanie pamięcią operacyjną

Inteligentny czujnik w strukturze sieci rozległej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

7. zainstalowane oprogramowanie zarządzane stacje robocze

Szkolenie autoryzowane. MS Konfigurowanie Windows 8. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Technologie informacyjne (2) Zdzisław Szyjewski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Middleware wprowadzenie października 2010

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Obliczenia rozproszone MPI

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

Transkrypt:

Architektura systemu System operacyjny Amoeba Processor Pula Pool Workstations procesorów Stacje robocze X-terminale Gateway Brama WAN WAN Specialized servers Specjalizowane serwery Zbigniew Suski 1 Zbigniew Suski 2 Model oprogramowania Uprawnienia Klient Serwer port obiekt uprawnienia oryginalne prawa 11111111 kontrola nowa maska 00000001 XOR Funkcje mikrojądra! zarządzanie procesami i wątkami! zapewnienie niskopoziomowego zarządzania pamięcią! dostarczanie środków komunikacji międzyprocesowej! wykonywanie niskopoziomowych operacji we-wy uprawnienia ograniczone port obiekt prawa 00000001 hash kontrola Zbigniew Suski 3 Zbigniew Suski 4 1

Operacje na obiektach Deskryptor procesu! age wykonaj cykl łączenia nieużytków.! touch (dotknij) pozoruje aktualne używanie obiektu.! copy podwojenie obiektu bez faktycznego przenoszenia.! destroy usunięcie obiektu.! getparams czytanie parametrów sterujących pracą.! setparams zapisywanie parametrów sterujących pracą.! info pobranie tekstowego opisu obiektu.! status pobranie informacji o serwerze.! restrict utworzenie nowego uprawnienia do obiektu. Licznik rozkazów LR1 LR2 LR3 kod dane dzielone architektura = SPARC uprawnienia właściciela deskryptory segmentów Wątek 1 LR1 WS1 Wątek 1 LR2 WS2 dane prywatne 1 2 3 Wątek 1 LR3 WS3 WS1 stosy 1 2 3 WS2 WS3 Zbigniew Suski 5 Zbigniew Suski 6 Niskopoziomowy interfejs procesu! exec realizuje na określonym serwerze wywołanie RPC żądające powołania procesu! getload zwraca informacje o szybkości jednostki centralnej, jej bieżącym obciążeniu i ilości wolnej pamięci! stun realizuje ogłuszanie procesu Model wątków! Wszystkie wątki dzielą ten sam czysty kod programu oraz globalne dane! Każdy z wątków ma własny stos, oraz kopię rejestrów maszynowych! Do synchronizacji wątków wykorzystuje się sygnały, zamki oraz semafory! Wątkami zarządza jądro! Zarządzanie bez wywłaszczania (domyślne)! Zarządzanie z wywłaszczaniem (wymaga włączenia)! Sytuacje wyjątkowe - wyjątki Zbigniew Suski 7 Zbigniew Suski 8 2

Zarządzanie pamięcią! Proces może dysponować dowolną liczbą segmentów umieszczonych w dowolnym miejscu jego pamięci wirtualnej.! Segmenty nie ulegają wymianie ani nie są stronicowane, wobec tego wykonywany proces musi w całości pozostawać w pamięci.! Segment może zostać jednocześnie odwzorowany w przestrzeni adresowej kilku procesów. W wyniku osiągnięto wysoką sprawność działania, prostotę rozwiązania i ekonomiczność. Zbigniew Suski 9 Komunikacja! Protokół FLIP! Interfejs klienta! Stopki procedur! Port = adres! Operacje: " get_request " put_reply " trans! Ochrona przed podszywaniem się - porty przyjęć i porty wydań) Zbigniew Suski 10 Porty przyjęć i porty wydań Komunikacja grupowa - charakterystyka Kryterium porównawcze. Realizacja w systemie Amoeba.. Klient trans(port_wydania) sieć Serwer get_request(port_przyjęcia) F(port_przyjęcia) Adresowanie. Komunikaty są adresowane unikatowym identyfikatorem grupy. Jądro systemu dba o to aby komunikat został dostarczony do wszystkich procesów należących do grupy o danym identyfikatorze. Niezawodność. Kolejność komunikatów. Mechanizm komunikacji grupowej w systemie Amoeba jest niezawodny, co oznacza, że gwarantuje pewność dostarczenia komunikatów do wszystkich członków grupy. Amoeba zapewnia dostarczenie komunikatów do wszystkich członków grupy w jednakowej kolejności. pakiety zawierają porty wydań Tablica nasłuchiwanych portów przechowuje porty wydań Semantyka wywołania. Struktura grupy. Komunikat jest odbierany przez wszystkich członków grupy ze względu na niezawodność. Grupy są zamknięte i mogą być tworzone dynamicznie. Zbigniew Suski 11 Zbigniew Suski 12 3

System komunikacji grupowej Protokół FLIP (Fast Local Internet Protocol). Proces użytk. MP MP maszyna porządkująca (porządkowanie możliwe) Proces użytk. porządkowanie niemożliwe Proces użytk.! Możliwość zdalnego wywoływania procedur (RPC)! Możliwość komunikacji grupowej! Wędrówka procesów procesy zabierają swoje adresy! Niedopuszczalność podszywania się procesów pod inne procesy! Możliwość automatycznej rekonfiguracji! Możliwość działania w sieciach rozległych sieć rozgłaszająca Zbigniew Suski 13 Zbigniew Suski 14 Atrybuty tablicy tras protokołu FLIP! Adres FLIP! Adres sieciowy! Licznik przeskoków! Bit zaufania! Wiek Serwery systemu Amoeba! Serwer plików! Serwer katalogów! Serwer zwielokrotnień! Serwer wykonań! Serwer rozruchu! Serwer protokołu TCP/IP! Inne serwery Zbigniew Suski 15 Zbigniew Suski 16 4

Rozproszony system plików - wymagania Serwer plików(bullet server)! widziany jako zasób lokalny! przezroczystość rozproszenia! wysoka niezawodność! duża szybkość działania! a może NFS?! rozdzielenie usługi zarządzania plikami od ich umiejscowienia w strukturze katalogów! Element standardowego systemu plików! Operacja create i współpraca z serwerem katalogowym! Ustalone pliki (immutable ) ciągłe obszary na dysku i w pamięci podręcznej! Jedna operacja przesyłania pliku! Pliki zatwierdzone (commited) i nie zatwierdzone (uncommited) Zbigniew Suski 17 Zbigniew Suski 18 Implementacja plików Serwer katalogów (directory server) Dysk Plik 1 Plik 2 Plik n ad1 ad1 dług kontr czas Pamięć podręczna Plik 1 Plik 2 Plik n! ad1 - adres zbioru na dysku! ad2 - adres zbioru w pamięci podręcznej! dług - długość zbioru! kontr - losowa liczba kontrolna wygenerowana przy tworzeniu zbioru! czas - czas życia obiektu! Odwzorowuje nazwy (w kodzie ASCII) na uprawnienia! Każdy wiersz katalogu opisuje obiekt! Opis obiektu, zawiera jego nazwę i uprawnienia! W jednym katalogu mogą znajdować się wpisy dotyczące obiektów różnego typu! Obiekty mogą być znacznie rozrzucone terytorialnie! Katalogi są również obiektami i podlegają ochronie za pomocą uprawnień Zbigniew Suski 19 Zbigniew Suski 20 5

Hierarchia katalogów Katalog główny użytkownika / Environ.profile bulletsvr/ amebb1 bin/ hellow.c soapsvr/ amebb2 dev/ default etc/ home/ soap0 lib/ amebb1/ soap1 public/ cap/ amebb2/ tmp/ group/ lab41/ usr/ module/ lab42/... pool/... hosts/... Zasoby komputera i działające na nim serwery Implementacja katalogu Plik opisujący katalog Partycja plików cap1 cap2 Partycja katalogów Pliki zawierające programy i dane Nazwa zbiór capability właściciel grupa inni pomoc cap1 cap2 11111111 10101010 00000000 main.c cap1 cap2 11110101 00000000 101001010 czytaj cap1 cap2 10101010 11110100 000011110 Zbigniew Suski 21 Zbigniew Suski 22 Dublowany tryb pracy katalogu Partycja wymiana uprawnień Partycja pierwszy plików opisujących drugi plików serwer katalogi serwer katalogów katalogów synchronizacja katalogów dysk 1 danych dysk 2 pierwszy serwer plików drugi serwer plików Serwer zwielokrotnień (replication server)! Realizuje zwielokrotnianie obiektów zarządzanych przez serwer katalogu! Leniwe zwielokrotnianie (lazy replication) " początkowo tylko jeden obiekt " dla utworzenia kolejnych replik wywoływany jest serwer zwielokrotnień " okresowa analiza systemu katalogów realizowana w trybie drugoplanowym! Mechanizm postarzania i łączenia nieużytków " okresowe dotykanie obiektów " komunikaty określające wiek wysyłane do serwerów Zbigniew Suski 23 Zbigniew Suski 24 6

Serwer wykonań (run server) Serwer wykonań Pula Processor procesorów Pool 386 VAX SPARC Katalog pooldir 386 VAX SPARC plik z uprawnieniami do kontaktu z serwerem procesów na określonym procesorze (386)! Serwer określa, na którym procesorze ma być uruchomiony dany proces! Serwer zarządza pulą procesorów reprezentowaną przez katalog pooldir " Przecięcie zbioru deskryptorów procesów z pulą procesorów wyznacza zbiór możliwych architektur " Eliminacja maszyn ze zbyt małą ilością pamięci " Oszacowania mocy obliczeniowej, którą każda z pozostałych maszyn może poświęcić nowemu procesowi " Wywołującemu procesowi zwracane są uprawnienia do porozumiewania się z jego serwerem procesów Zbigniew Suski 25 Zbigniew Suski 26 Serwer rozruchu (boot server) Serwer protokołu TCP/IP! Serwer rozruchu stosuje się w celu zapewnienia zadanego poziomu tolerowania awarii. Polega to na sprawdzaniu, czy wszystkie serwery, o których zakłada się że są sprawne, takie faktycznie są, oraz podejmowaniu dotyczących ewentualnych działań naprawczych! Każdy wpis w pliku konfiguracyjnym określa nadzorowaną jednostkę, częstotliwość jej odpytywania przez serwer rozruchu i sposób tego odpytywania! Przeznaczony jest do współpracy z innymi systemami wykorzystującymi protokół TCP/IP (standardowo wykorzystywany jest FLIP)! Proces wykonuje zdalne wywołanie procedury TCP/IP, podając mu adres IP.! Serwer nawiązuje połączenie i dostarcza uprawnień do używania połączenia.! Następne wywołania RPC mogą wysyłać i odbierać pakiety z odległej maszyny Zbigniew Suski 27 Zbigniew Suski 28 7

Inne serwery! Serwer dysku używany przez serwer katalogu do zapamiętywania tablic par uprawnień.! Serwer czasu dnia! Serwer liczb losowych wykorzystywany do generowania portów, uprawnień, adresów protokołu FLIP.! Serwer szwajcarskiego scyzoryka zajmuje się wieloma czynnościami, które mają być wykonane w późniejszym okresie czasu.! Serwer poczty Zbigniew Suski 29 8