Materiały pomocnicze 1

Podobne dokumenty
Budowa systemów komputerowych

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Prezentacja systemu RTLinux

Procesy, wątki i zasoby

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

Planowanie przydziału procesora

Planowanie przydziału procesora

4. Procesy pojęcia podstawowe

Zarządzanie procesami i wątkami

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Systemy operacyjne III

Zarządzanie procesorem

Mikroprocesor Operacje wejścia / wyjścia

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

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Zarządzanie pamięcią w systemie operacyjnym

Działanie systemu operacyjnego

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Procesy, zasoby i wątki

Planowanie przydziału procesora

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

Działanie systemu operacyjnego

Podstawy Informatyki Systemy operacyjne

Przerwania, polling, timery - wykład 9

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Wprowadzenie do systemów operacyjnych

Przykłady implementacji planowania przydziału procesora

4. Procesy pojęcia podstawowe

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Struktura systemów komputerowych

Metody obsługi zdarzeń

Działanie systemu operacyjnego

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

1.1 Definicja procesu

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

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

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Architektura systemu komputerowego

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

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

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Planowanie przydziału procesora

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

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Systemy operacyjne. Paweł Pełczyński

Mikroinformatyka. Mechanizmy ochrony pamięci

MIKROPROCESORY architektura i programowanie

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Stronicowanie w systemie pamięci wirtualnej

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

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

Budowa Mikrokomputera

Materiały pomocnicze 1

Materiały pomocnicze 1

Mikroinformatyka. Wielozadaniowość

dr inż. Jarosław Forenc

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

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Zarządzanie pamięcią operacyjną

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

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

Wybrane zagadnienia elektroniki współczesnej

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

Proces y i y w i ąt ą ki

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Podstawy Informatyki Układ przerwań

Informatyka, systemy, sieci komputerowe

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Systemy Operacyjne - zarządzanie procesami

Architektura Systemów Komputerowych

Systemy Operacyjne sprzęt

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

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Podstawowe zagadnienia

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

LEKCJA TEMAT: Zasada działania komputera.

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

Systemy operacyjne system przerwań

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Informatyka. informatyka i nauki komputerowe (computer science)

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

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

projektowanie systemu

Transkrypt:

JĄDRO SYSEMU Jądro systemu stanowi główny interfejs między sprzętem (surową maszyną), a systemem operacyjnym. JĄDRO SYSEMU inne elementy systemu jądro systemu surowa maszyna 2 PODSAWOWE UDOGODIEIA SPRZĘOWE Potrzebne w surowej maszynie do stworzenia środowiska, na którym można uruchomić bezpieczny i nowoczesny system operacyjny mechanizm przerwań ochrona pamięci operacyjnej zbiór rozkazów uprzywilejowanych zegar czasu rzeczywistego PODSAWOWE UDOGODIEIA SPRZĘOWE Mechanizm przerwań obsługa zdarzeń zewnętrznych przełączanie procesów 3 4 PODSAWOWE UDOGODIEIA SPRZĘOWE Ochrona pamięci operacyjnej wbudowana do sprzętu adresującego pamięć procesy nie mogą zmienić przydzielonego im obszaru pamięci procesy nie mogą odwoływać się do pamięci przydzielonej innym procesom PODSAWOWE UDOGODIEIA SPRZĘOWE Zbiór rozkazów uprzywilejowanych działają tylko w trybie nadzorcy Procesor musi posiadać co najmniej 2 tryby pracy: nadzorcy systemu operacyjnego, uprzywilejowany użytkownika - nieuprzywilejowany 5 6 Materiały pomocnicze

PODSAWOWE UDOGODIEIA SPRZĘOWE Zbiór rozkazów uprzywilejowanych: włączanie i wyłączanie przerwań przełączanie procesora między procesami obsługa rejestrów pamięci wirtualnej operacje wejścia-wyjścia sterowanie procesorem PODSAWOWE UDOGODIEIA SPRZĘOWE Przełączenie z trybu użytkownika do trybu nadzorcy: odwołanie do nadzorcy(systemu) - w celu wykonania rozkazu uprzywilejowanego lub funkcji systemowej przerwanie błąd w procesie użytkownika próba wykonania rozkazu uprzywilejowanego 7 8 PODSAWOWE UDOGODIEIA SPRZĘOWE Zegar czasu rzeczywistego - zegar sprzętowy generuje przerwania w ustalonych odstępach czasu. Jego przerwania są podstawą planowania rozliczania zasobów przełączania procesów JĄDRO SYSEMU Jądro systemu buduje się bezpośrednio na podstawie sprzętu, zatem jest ono najbardziej zależną od maszyny częścią systemu operacyjnego. Jądro jest obok obsługi urządzeń peryferyjnych tą częścią systemu operacyjnego, która może zawierać kod napisany w asemblerze. 9 JĄDRO SYSEMU JĄDRO SYSEMU Zadaniem jądra jest stworzenie środowiska, w którym będą występować procesy; mieści ono w sobie obsługę przerwań przełączanie procesorów od procesu do procesu realizację mechanizmów służących do komunikacji między procesami Jądro systemu składa się z trzech programów: programu wstępnej obsługi przerwań programu zwanego dyspozytorem operacji czekaj i sygnalizuj (dwóch procedur, które realizują operacje służące do komunikacji między procesami) 2 Materiały pomocnicze 2

JĄDRO SYSEMU JĄDRO SYSEMU Jądro systemu zawiera również strukturę danych nazwaną tablicą główną. Zawiera ona szereg danych opisujących: system operacyjny jego bieżący stan informacje o sprzęcie informacje o procesach ablica główna SO 3 4 DESKRYPOR DESKRYPOR Każdy proces jest reprezentowany w systemie przez strukturę nazywaną deskryptorem procesu lub: blokiem kontrolnym procesu wektorem stanu Jest on strukturą zawierającą wszystkie istotne informacje o procesie np.: identyfikator procesu (nazwę procesu) identyfikator stanu procesu pulę informacji o procesie, które powinny być zapamiętane wtedy, gdy procesor wstrzymuje jego wykonywanie. Deskryptor procesu 5 6 SAY owy proces został utworzony. Wykonywany (aktywny, bieżący) instrukcje procesu są aktualnie wykonywane Wykonywalny (gotowy) proces czeka na przydział procesora Oczekujący (niewykonywalny) proces czeka na wystąpienie jakiegoś zdarzenia. Zakończony proces zakończył działanie. DESKRYPOR (kontekst, deskryptor sprzętowy) procesu definiuje się jako zbiór danych, które muszą być zapamiętane podczas wstrzymywania procesu, a odtworzone podczas wznawiania, aby proces działał poprawnie. Do tych informacji należą: wartości wszystkich rejestrów procesora wartości rejestrów stosowanych do adresowania pamięci operacyjnej 7 8 Materiały pomocnicze 3

ABLICA GŁÓWA G DP DP2 DPn SO WSĘPA OBSŁUGA PRZERWAŃ Wstępna obsługa przerwań jest zależna od sprzętu, zadaniem jej jest: określić źródło przerwania zainicjować obsługę przerwania. 9 2 WSĘPA OBSŁUGA PRZERWAŃ WSĘPA OBSŁUGA PRZERWAŃ W systemie z tylko jednym przerwaniem należy wykonać ciąg testów, nazywany łańcuchem przeskoków. i=? POP U W systemach umożliwiających obsługę wielu przerwań oddzielnie wstępna obsługa przerwań jest zbędna. i=? POP U Oczywistą korzyść przyniesie takie ułożenie łańcucha, by najczęstsze źródła przerwań znalazły się na jego początku. i=n? POP Un źródło przerwania jest określane sprzętowo na podstawie sygnału przerwania Obsługa błędu! obsługa przerwania jest inicjowana przez procesor 2 22 WSĘPA OBSŁUGA PRZERWAŃ PRZERWAIE O WYŻSZYM PRIORYECIE może przerwać POP o niższym priorytecie W systemach, w których ilość linii przerwań jest mniejsza od ilości urządzeń zgłaszających przerwanie, wstępna obsługa przerwań jest grupowana tylko dla przerwań wspólnych dla kilku urządzeń. a PG a2 a3 POP iret POP2 iret 23 24 Materiały pomocnicze 4

WSĘPA OBSŁUGA PRZERWAŃ DYSPOZYOR W wyniku przerwania może nastąpić zmiana stanu procesu: z wykonywanego na wykonywalny z wykonywalnego na wykonywany z niewykonywalnego na wykonywany albo wykonywalny Zadaniem dyspozytora jest przydzielanie procesora centralnego do procesów. Dyspozytor dokonuje przełączeń procesów. Dyspozytor jest nazywany planistą niskiego poziomu. 25 26 DYSPOZYOR DYSPOZYOR Do dyspozytora przechodzi się w przypadku: przerwania zewnętrznego zmieniającego stan jakiegoś procesu po odwołaniu do systemu wstrzymującym wykonywanie bieżącego procesu po wykryciu błędu w bieżącym procesie. Działanie dyspozytora: Jeżeli bieżący proces można kontynuować i ma najwyższy priorytet, to wznów go. Jeżeli nie, to... Zapamiętaj środowisko ulotne bieżącego procesu. Odtwórz środowisko ulotne pierwszego procesu do wykonania z kolejki procesora. Podejmij wykonywanie tego procesu (przekaż mu sterowanie). 27 28 KOLEJKA Jest to lista zawierająca wszystkie procesy wykonywane i wykonywalne, które można w każdej chwili wznowić. G DP DP2 DPn SO Kolejka procesora 29 KOLEJKA Są trzy podstawowe rodzaje kolejek: kolejka priorytetowa - procesy są uporządkowane zgodnie z priorytetami. kolejka rotacyjna - pierwszy proces po wykonaniu przechodzi na koniec kolejki. kolejka wielopoziomowa ze sprzężeniem zwrotnym: procesy o najwyższym priorytecie są często wybierane, ale na krótki czas, procesy o najniższym priorytecie są rzadko wybierane, ale na długi czas, priorytet procesu wzrasta, gdy proces nie wykorzystuje przydzielonego mu czasu, priorytet procesu maleje, gdy procesowi brakuje czasu. 3 Materiały pomocnicze 5

KOLEJKA Kolejka wielopoziomowa ze sprzężeniem zwrotnym: G DP DP2 DPn SO Kolejka procesora Kolejka procesora Kolejka procesora 2 3 DYSPOZYOR Zadaniem dyspozytora jest spowodowanie wykonywania pierwszego procesu z kolejki, który nie jest wykonywany przez inny procesor. Aby proces stał się wykonywalny należy: zmienić stan w deskryptorze procesu dołączyć deskryptor procesu do kolejki procesora na pozycji wskazywanej przez priorytet procesu. 32 GŁODZEIE PROCESÓW Jest to niemożność wykonania procesu wykonywalnego z powodu długiego oczekiwania na przydział procesora. Dotyczy procesów o niskim priorytecie w mocno obciążonym systemie komputerowym z powodu stałego napływu procesów o wyższych priorytetach. Rozwiązaniem jest podwyższanie priorytetów procesów, które długo oczekują na wykonanie. PODWYŻSZAIE PRIORYEÓW PROCESÓW IERAKCYJYCH Przyznawany procesowi początkowy priorytet (podstawowy) jest traktowany jako punkt startowy. Każdy proces, który podejmie jakieś działanie, otrzymuje tymczasowo wyższy priorytet. Za każdym razem, gdy dyspozytor będzie wybierać dany proces, priorytet tego procesu będzie zmniejszany aż do uzyskania priorytetu podstawowego. Podwyższanie priorytetów jest wykorzystywane do osiągnięcia dobrej pracy interakcyjnej kosztem tych procesów, które wykonują mało pracy interakcyjnej lub w ogóle nie są interakcyjne. 33 34 IMPLEMEACJA OPERACJI CZEKAJ I SYGALIZUJ Operacje czekaj i sygnalizuj działają na semaforach. Semafor jest nieujemną liczbą całkowitą. Operacja czekaj(s): Zmniejsza wartość semafora s o, jeżeli jest to możliwe (s>). Jest operacją niepodzielną. Może spowodować wstrzymanie procesu, gdy semafor = do czasu, aż inny proces wykona operację sygnalizuj na tym semaforze. Operacja sygnalizuj(s): Zwiększa wartość semafora o. Jest operacją niepodzielną. Może wznowić wykonywanie procesu. 35 BUDOWA SRUKURY SEMAFORA semafora semafora Wartość Wartość maksymalna Wskaźnik do kolejki semafora Organizacja kolejki Bit użycia Semafory mogą być nazwane lub nie. Kolejka semafora to lista procesów niewykonywalnych, które wykonały operację czekaj na semaforze =. Organizacja kolejki zawiera opis organizacji kolejki lub wskaźnik do programu dołączającego procesy do kolejki i usuwające je z niej. Bit użycia mówi, czy w danej chwili są wykonywane operacje na semaforze (jest w użyciu). Służy do zapewnienia niepodzielności operacji czekaj i sygnalizuj. 36 Materiały pomocnicze 6

zajmij IMPLEMEACJA OPERACJI CZEKAJ I SYGALIZUJ IMPLEMEACJA OPERACJI CZEKAJ I SYGALIZUJ czekaj(s) sygnalizuj(s) czekaj(s) sygnalizuj(s) s > s := s - ZAJDŹ DESKRYPOR BIEŻĄCEGO USUŃ Z KOLEJKI SEMAFORA CZY PUSA KOLEJKA SEMAFORA s := s + USUŃ Z KOLEJKI JAKIŚ DESKRYPOR s := s - s < ZAJDŹ DESKRYPOR BIEŻĄCEGO USUŃ Z KOLEJKI SEMAFORA s := s + s <= USUŃ Z KOLEJKI JAKIŚ DESKRYPOR UWOLIJ UWOLIJ UWOLIJ UWOLIJ POWRÓ DO DYSPOZYORA POWRÓ DO DYSPOZYORA POWRÓ DO DYSPOZYORA POWRÓ DO DYSPOZYORA 37 38 IEPODZIELOŚĆ OPERACJI W dowolnej chwili tylko jeden proces może wykonywać operacje czekaj i sygnalizuj na tym samym semaforze. Mechanizm ten jest realizowany przez operacje zajmij i uwolnij. OPERACJE I UWOLIJ Operacja zajmij: Pewne miejsce w pamięci jest przeznaczane na sygnalizator (bit użycia). Sprawdza wartość sygnalizatora i ustawia ją na zero (rozkaz sprawdź i ustaw (BR)). Jeśli wartość sygnalizatora była różna od zera, proces może być wykonywany; w przeciwnym wypadku rozkaz sprawdź i ustaw jest wykonywany w pętli aż do zmiany wartości sygnalizatora przez inny proces. W innej metodzie występuje zamiana wartości sygnalizatora z komórką pamięci, w której wcześniej umieszczono zero (rozkaz swap (XCHG)). Operacja uwolnij: adaje sygnalizatorowi wartość różną od zera. 39 4 OPERACJE I UWOLIJ PA BU PB AKYWE CZEKAIE Jest wykonywane wewnątrz operacji zajmij. zajmij uwolnij uwolnij Jest pętlą, w której podejmowane są próby wykonania operacji aż do chwili zmiany wartości sygnalizatora. 4 42 Materiały pomocnicze 7