SYSTEMY OPERACYJNE WYKLAD 6 - procesy



Podobne dokumenty
Procesy, wątki i zasoby

Paweł Skrobanek. C-3, pok

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Procesy, zasoby i wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Systemy operacyjne III

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

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

1.1 Definicja procesu

4. Procesy pojęcia podstawowe

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

Synchronizacja procesów i wątków

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

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

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

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

Proces y i y w i ąt ą ki

Działanie systemu operacyjnego

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

Materiały pomocnicze 1

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

Działanie systemu operacyjnego

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

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

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Zarządzanie procesami i wątkami

Systemy operacyjne III

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

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

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

Podstawy Informatyki Systemy operacyjne

41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego

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

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

Informatyka, systemy, sieci komputerowe

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

System plików. Warstwowy model systemu plików

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 2. Zasoby i procesy w systemach i sieciach komputerowych

Procesy, zasoby i wątki

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI

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

Zarządzanie procesami (omawiane zagadnienia)

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

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

projektowanie systemu

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

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

Programowanie współbieŝne. Paweł Rogaliński Politechnika Wrocławska

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

Informatyka. informatyka i nauki komputerowe (computer science)

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

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

Systemy operacyjne III

Systemy operacyjne III

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Zarządzanie procesorem

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

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

Struktury systemów operacyjnych

Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Zarządzanie pamięcią w systemie operacyjnym

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Czujniki obiektowe Sterowniki przemysłowe

Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

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

Systemy wejścia-wyjścia. wyjścia

Wstęp do Informatyki. Klasyfikacja oprogramowania

Organizacja typowego mikroprocesora

Systemy operacyjne. Paweł Pełczyński

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów

Programowanie współbieżne Wykład 5. Rafał Skinderowicz

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Wprowadzenie do systemów operacyjnych

3URJUDPRZDQLHZVSyáELH*QHZVWS

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Materiały pomocnicze 1

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

Programowanie Niskopoziomowe

... Ireneusz Mrozek. Wydział Informatyki

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

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Ingerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg.

Struktura systemów komputerowych

dr inż. Jarosław Forenc

Struktury systemów operacyjnych

Instrukcja instalacji aplikacji Generator Wniosków Aplikacyjnych Edytor.

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

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

SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH

Transkrypt:

Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu czas procesora, pamięć operacyjna, pamięć pomocnicza (informacja o otwartych plikach), urządzenia we/wy (np. drukarki, itp.) 2 PROCESY UśYTKOWNIKA wykonują program uŝytkownika SYSTEMOWE wykonują program SO 1

NOWY ZAKOŃCZONY AKTYWNY PAMIĘĆ GŁÓWNA (OPERACYJNA) GOTOWY CZEKAJĄCY ODŁOśONY GOTOWY OdłoŜony CZEKAJACY PAMIĘĆ WIRTUALNA NOWY przyjęcie Uruchomienie/ wznowienie zakończenie AKTYWNY przerwanie ZAKOŃCZONY Oczekiwanie na zdarzenie lub operację we/wy GOTOWY ObsłuŜenie zdarzenia lub operacji we/wy CZEKAJĄCY Stan procesu: NOWY (ang. new) proces został utworzony (m.in. utworzono struktury opisujące proces, przydzielono zasoby), AKTYWNY (ang. running) taki, który otrzymał przydział procesora i są wykonywane instrukcje, CZEKAJĄCY (ang. waiting) czeka na coś, np. zakończenie operacji we/wy (pobierania danych z dysku), odbiór sygnału 6 2

Stan procesu: GOTOWY (ang. ready) posiada wszystko co niezbędne do wykonania, tylko czeka na przydział procesora, ZAKOŃCZONY (ang. terminated) zakończył swoje zadanie PYTANIE: Jaki proces nazywa się ZOMBI? 7 Blok kontrolny procesu (PCB) (tzw. deskryptor procesu). wskaźnik Stan procesu Numer procesu Licznik rozkazów Stan rejestrów procesora Ograniczenia pamięci Wykaz otwartych plików 8 Przykład: prosta organizacja kolejki procesora. TABLICA GŁÓWNA DESKRYPTOR PROCESU 1 DESKRYPTOR PROCESU 1 DESKRYPTOR PROCESU n Struktura procesów Kolejka procesów 0 2... 1 PROCES 1 PROCES 2 PROCES n... ZałóŜmy, Ŝe: 0 aktywny, 1 - gotowy, 2 - czekający 9 3

TWORZENIE PROCESÓW SYSTEM NIESTRUKTURALNY (PROCESY NIE TWORZĄ STRUKTURY) SYSTEM STRUKTURALNY (np. struktura drzewa ojciec, syn) system ze stałą liczbą procesów (tworzonych przy uruchomieniu systemu), z mechanizmem umoŝliwiającym tworzenie i usuwanie (proces zarządca) najczęściej struktura drzewa, odpowiednie mechanizmy umoŝliwiające tworzenie i usuwanie procesów lub struktur (np. ojca i dzieci) Przegląd czynności związanych z tworzeniem, wykonywaniem i usuwaniem: http://pl.wikipedia.org/wiki/proces_%28informatyka%29 11 Przykład: uruchamianie OS Unix. SERWER fork () fork () fork () TERMINALE exec gety...... exec login 12 4

Przykład: linia programu (język C) z funkcją fork() (). pid = fork(); jeśli operacja się nie uda, to pid = -1, jeśli się uda, to pid = numer procesu 13 Współpraca procesów (pozytywna): komunikacja moŝliwość przekazywania informacji przez jeden lub więcej procesów (producenci) określonemu procesowi / procesom (konsumenci) przez bufor lub porty, synchronizacja produkcja i konsumpcja danych w koordynowany sposób (mechanizmy to, np. > blokada pamięci 1 moŝna zapisać, 0 nie; > z wykorzystaniem semaforów 14 Współpraca procesów (negatywna): wzajemne wykluczanie gdy np. dwa procesy odwołują się do jednego niepodzielnego zasobu, moŝliwość tzw. zagłodzenia procesu, wyścigi kto pierwszy, nie zawsze lepszy, np. zamazanie wartości zapisanej przez jeden proces wartością innego procesu 15 5

Algorytmy rozwiązywania problemu wzajemnego wykluczania (na przykładach programowych): http://putwiki.informatyka.org/wiki/analiza_programow ych_rozwi%c4%85za%c5%84_problemu_wzajemne go_wykluczania 16 DEADLOCK - blokada wzajemna, muszą być spełnione 4 warunki: wzajemne wyłączanie przynajmniej 1 zasób musi być niepodzielny (tylko jeden proces w danym czasie moŝe z niego korzystać), przetrzymywanie i oczekiwanie musi istnieć proces mający przydzielony co najmniej 1 zasób i oczekujący na dodatkowy, który przetrzymuje inny, 17 DEADLOCK cd. brak wywłaszczeń zasoby nie podlegają wywłaszczeniu, czekanie cykliczne czekanie cykliczne musi istnieć zbiór procesów postaci {P0,P1,, Pn} takich, Ŝe P0 czeka na zasób, który ma P1, P1 na zasób, który ma P2, itd. Pn czeka na zasób który przetrzymuje P0. 18 6

Detekcja i likwidacja blokady uŝytkownik RESET (sprzętowy lub programowy), uwaga: czasem błędna klasyfikacja, z Ŝycia np. program projektowy nie odpowiada (producent po wydaniu poprawki określił to chyba jako chwilowe obciąŝenie procesora ) i jeśli go nie zakończymy brutalnie, to po np. 1 godzinie będzie pracował dalej, specjalny program wykrywa i wyprowadza system z blokady, sprzętowy RESET (tzw. watchdog) - specjalny licznik odlicza do 0, zawsze z programu głównego powinno nastąpić odświeŝenie (wpisanie wartości), jeśli nie nastąpi, to RESET. Zastosowanie, np. mikrokontrolery. 19 7