System operacyjny MACH

Podobne dokumenty
projektowanie systemu

Komputery przemysłowe i systemy wbudowane

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

System operacyjny Amoeba

Działanie systemu operacyjnego

Systemy operacyjne III

Działanie systemu operacyjnego

Procesy, wątki i zasoby

Działanie systemu operacyjnego

1.1 Definicja procesu

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Klient-Serwer Komunikacja przy pomocy gniazd

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

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

Wprowadzenie do systemów operacyjnych

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

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

Proces y i y w i ąt ą ki

Działanie systemu operacyjnego

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

4. Procesy pojęcia podstawowe

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

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

Zarządzanie procesami i wątkami

4. Procesy pojęcia podstawowe

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

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

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawy Informatyki Systemy operacyjne

Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008

Wprowadzenie. Dariusz Wawrzyniak 1

Zarządzanie pamięcią operacyjną

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Programowanie współbieżne Wykład 2. Iwona Kochańska

Simulator of Operating System

Rozproszona pamiêæ dzielona - 1

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

Wprowadzenie do systemu Minix

Prezentacja systemu RTLinux

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

IPC: Kolejki komunikatów

Jądro systemu operacyjnego

Wywoływanie metod zdalnych

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Zarządzanie pamięcią operacyjną

Systemy operacyjne II

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

4. Procesy pojęcia podstawowe

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

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Wstęp do programowania 2

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

Współbieżność w środowisku Java

Informatyka. informatyka i nauki komputerowe (computer science)

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Opis efektów kształcenia dla modułu zajęć

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

ochrona w systemie operacyjnym

Systemy operacyjne Procesy i wątki

Zaawansowany kurs języka Python

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Middleware wprowadzenie października 2010

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

Zaawansowane programowanie w C++ (PCP)

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

2.1 Pojęcie wątku Modele wielowątkowości Wybrane zagadnienia wielowątkowości Wątki POSIX... 18

76.Struktura oprogramowania rozproszonego.

5. Model komunikujących się procesów, komunikaty

Systemy rozproszone System rozproszony

Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

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

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

1. Etapy rozwoju systemów komputerowych

System operacyjny wstęp

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

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Koncepcja procesu. Procesy i wątki. Diagram stanów procesu. Stan procesu. Blok kontrolny procesu Process Control Block (PCB)

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

WINDOWS NT. Diagram warstw systemu Windows NT

Wypożyczalnia VIDEO. Technologie obiektowe

L4Ka::Pistachio Mikrojądra mogą być wydajne

Specyfikacja API Runtime BAS 3.0

Zarządzanie procesami (omawiane zagadnienia)

Procesy i wątki. Wątki. Procesy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Transkrypt:

Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów operacyjnych.! Udostępnianie wielkiej rozrzedzonej przestrzeni adresowej.! Umożliwienie przezroczystego dostępu do zasobów sieciowych.! Wykorzystanie równoległości zarówno w systemie jak i zastosowaniach.! Uzyskanie przenośności w możliwie dużym zbiorze maszyn. Jądro systemu Podstawowe funkcje realizowane przez jądro:! zarządzanie procesami,! zarządzanie pamięcią,! komunikacja,! zarządzanie usługami wejścia/wyjścia. Podstawowe abstrakcje urzeczywistniane przez jądro:! procesy lub zadania (tasks),! wątki (threads),! y (s),! komunikaty (messages),! obiekty pamięci (memory objects). Zbigniew Suski Zbigniew Suski 4

Elementy procesu! Przestrzeń adresowa! Wątki wykonywane w przestrzeni adresowej! Porty Wątki! Wykonują instrukcje i działają na swoich rejestrach oraz przestrzeni adresowej.! Współdzielą przestrzeń adresową procesu i wszystkie zasoby ogólno-procesowe.! Mają również swoje własne, prywatne zasoby. " wywołuje operacje jądra poprzez wysłanie do niego odpowiedniego komunikatu. " Operacja tworzenia procesu określa proces prototypowy, którym nie musi być proces tworzący.! Porty są znane w całym procesie.! Tworzenie i usuwanie wątków jest wykonywane przez jądro.! Wątek podobnie jak proces może być zdatny do działania lub zablokowany. Zbigniew Suski 5 Zbigniew Suski 6 Operacje na wątkach! Tworzenie wątku! Zakończenie działania wątku! lokowanie wątku w celu oczekiwania na zakończenie działania przez wątek potomny! Oświadczenie, że dany wątek nie będzie oczekiwany przez inny! Przekazanie informacji dla planisty, że wątek oczekuje na zdarzenie i może zostać podjęty inny wątek! Pobranie identyfikatora! Funkcje synchronizacji za pomocą zamków i zmiennych warunkowych! Działania na zmiennych warunkowych (blokowanie i budzenie wątków) Planowanie Zbiór procesorów (processor set) " jednostki przetwarzające " wątki Priorytety wątku:! podstawowy - ustawiany w pewnych granicach przez sam wątek! graniczny - najmniejsza dopuszczalna wartość (najwyższy priorytet) priorytetu podstawowego! bieżący - wykorzystywany w planowaniu; obliczany jako suma priorytetu podstawowego i wartości będącej funkcją ostatniego zatrudnienia jednostki centralnej przez wątek Zbigniew Suski 7 Zbigniew Suski 8

lgorytm planowania Zarządzanie pamięcią! Globalna tablica kolejek wykonań! Lokalne tablice kolejek wykonań! Zmienność kwantu czasu! Zmienność priorytetu! Planowanie swobodne (handoff scheduling)! Pokrewieństwo! Moduł pmap wykonywany w jądrze i odpowiedzialny za działanie MMU.! Maszynowo niezależny kod jądra. Przetwarza zdarzenia braku stron, zarządza mapami adresów i zastępowania stron.! zwany zarządcą pamięci (memory manager) lub zewnętrzną procedurą stronicującą (external pager). Zbigniew Suski 9 Zbigniew Suski 0 Struktura przestrzeni adresowej Zarządzanie pamięcią obszar pliku abc obszar pliku xyz obszar stosu obszar danych obszar kodu (tekstu) przestrzeń nie używana! Obszary (regions)! Obiekty pamięci (memory objects)! trybut dziedziczności (inheritance attribute) " Obszar nie jest używany w procesie potomnym " Obszar jest dzielony przez proces prototypowy i potomny " Obszar w procesie potomnym jest kopią prototypowego Zbigniew Suski Zbigniew Suski

Zarządzanie pamięcią Komunikacja struktura u! Zarządcy pamięci " Port obiektu (object ) " Port nadzorczy (control ) " Port nazwy (name )! Demon stronicowania! Strona dzielona i serwer DSM (Distributed Shared Memory Server) kolejka komunikatów bieżący licznik komunikatów maksymalna liczba komunikatów zbiór ów, do których należy bieżący wykaz udzielonych uprawnień uprawnienia do raowania błędów kolejka wątków zablokowanych w porcie wskaźnik procesu z uprawnieniami RECEIVE indeks u na wykazie uprawnień odbiorcy wskaźnik do obiektu w jądrze Niektóre y specjalne: Port procesu (process ) Port rozruchu (bootstrap ) Port wyjątków (exception ) Porty zarejestrowane (registered s) Tablica procesów inne Zbigniew Suski Zbigniew Suski 4 Uprawnienia dostępu do ów Zmiana uprawnień dostępu do ów w locie REC SEND REC 4 SEND 5 SEND X wątek proces Y REC SEND SEND 4 REC 5 SEND komunikat wychodzący Nagłówek Uprawnienie Dane spoza linii (out-of-line data) komunikat nadchodzący Nagłówek Przed wysłaniem uprawnień przez Po odebraniu uprawnień przez Uprawnienie Zbigniew Suski 5 Zbigniew Suski 6 4

Komunikacja międzymaszynowa Emulacja systemu UNIX Tablice odwzorowań ów lokalny sieciowy lokalny sieciowy 5 54 8 54 Implementacja emulacji systemu UNIX składa się z dwóch części: " serwera systemu UNIX " biblioteki emulującej odwołania do systemu maszyna K SKS SKS maszyna S! Jądro MCHa wychwytuje wszelkie odwołania do systemu UNIX i przenosi je do procedur bibliotecznych emulujących wywołania systemowe.! Powrót do przestrzeni użytkownika przy użyciu mechanizmu trampoliny (trampoline mechanism). Zbigniew Suski 7 Zbigniew Suski 8 Emulacja systemu UNIX! Potomkowie procesu init, dziedziczą bibliotekę emulującą i mechanizm trampoliny.! Wykonanie funkcji EXEC powoduje zastąpienie w przestrzeni adresowej tylko części stanowiącej program uniksowy. Nie jest zastępowana biblioteka emulująca.! Zgłoszenia do serwera systemu UNIX przekazywane są w formie komunikatów.! Otwierany plik zostaje odwzorowany bezpośrednio w przestrzeni adresowej procesu wywołującego. iblioteka emulująca ma do niego dostęp bezpośredni i nie musi wykonywać zdalnych odwołań do serwera uniksowego. Zbigniew Suski 9 5