dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI
|
|
- Wacław Kurek
- 6 lat temu
- Przeglądów:
Transkrypt
1 dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI
2 Systemy operacyjne 2 System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej Per Brinch Hansen
3 Systemy operacyjne 3 System operacyjny (nadzorczy, nadrzędny, sterujący) jest to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania. Alen Shaw
4 Systemy operacyjne 4 System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny. Abraham Silberschatz
5 Systemy operacyjne 5 System operacyjny jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania. Andrew Tanenbaum
6 Systemy operacyjne 6..zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania. jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny. to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania.
7 Systemy operacyjne 7 Użytkownik 1 Użytkownik 2 Użytkownik 3 Użytkownik n Kompilator Odtwarzacz muzyki Edytor tekstu Baza danych Sprzęt komputerowy
8 Systemy operacyjne 8 Użytkownik 1 Użytkownik 2 Użytkownik 3 Użytkownik n Kompilator Odtwarzacz muzyki Edytor tekstu Baza danych Programy systemowe i użytkowe(powłoka, GUI) SYSTEM OPERACYJNY Sprzęt komputerowy
9 tryb jądra tryb użytkownika Systemy operacyjne 9 Użytkownik 1 Użytkownik 2 Użytkownik 3 Użytkownik n Kompilator Odtwarzacz muzyki Edytor tekstu Baza danych Programy systemowe i użytkowe(powłoka, GUI) SYSTEM OPERACYJNY Sprzęt komputerowy
10 Systemy operacyjne 10 Tryby działania komputera tryb jądra (nadzorcy) - uprzywilejowany tryb wykonywania kodu, w którym procesor zezwala na dostęp do całej pamięci systemu oraz do wszystkich instrukcji procesora; W trybie jądra działa kod systemu operacyjnego. tryb użytkownika nieuprzywilejowany tryb procesora, w którym dostępna jest ograniczona liczba interfejsów oraz ograniczony dostęp do zasobów systemowych. W trybie użytkownika działają aplikacje użytkownika. Dwa tryby pracy procesora wprowadzono w celu ochrony krytycznych dla systemu operacyjnego danych. Mechanizm uniemożliwiający błędnej aplikacji użytkownika naruszenie stabilności całego systemu
11 Zarządzanie zasobami Zadania systemu operacyjnego 11 Definicja interfejsu użytkownika Udostępnianie systemu plików Udostępnianie środowiska do wykonywania programów użytkownika mechanizm ładowania i uruchamiania programów mechanizmy synchronizacji i komunikacji procesów Sterowanie urządzeniami wejścia-wyjścia Obsługa podstawowej klasy błędów
12 Zarządzanie zasobami 12 Przydział zasobów Planowanie dostępu do zasobów Ochrona i autoryzacja dostępu do zasobów Odzyskiwanie zasobów Rozliczanie - gromadzenie danych o wykorzystaniu zasobów
13 Zarządzanie zasobami 13 Procesor przydział czasu procesora Pamięć alokacja przestrzeni adresowej dla procesów transformacja adresów Urządzenia zewnętrzne udostępnianie i sterowanie urządzeniami pamięci masowej alokacja przestrzeni dyskowej udostępnianie i sterownie drukarkami, skanerami itp. Informacja (system plików) organizacja i udostępnianie informacji ochrona i autoryzacja dostępu do informacji
14 14 Systemy operacyjne Systemy przetwarzania bezpośredniego systemy interakcyjne występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem operacyjnym, wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu. Systemy przetwarzania pośredniego systemy wsadowe występuje zwłoka między przedłożeniem a rozpoczęciem wykonywania zadania, niemożliwa jest ingerencja użytkownika w wykonywanie zadania
15 Spooling 15 Spooling procesor pobiera kolejne zadania z dysku, wykonuje je i zapisuje wyniki na dysku wyniki zakończonych zadań są drukowane zadanie systemu operacyjnego - synchronizacja wczytywania zadań, wypisywania wyników oraz zarządzanie informacjami magazynowanymi na dysku.
16 Systemy operacyjne 16 Systemy jednozadaniowe niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego. Systemy wielozadaniowe dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym zgodnie z pewną strategią przydzielany jest procesor. Zwolnienie procesora następuje w wyniku żądania przydziału dodatkowego zasobu, zainicjowaniu operacji wejścia-wyjścia, przekroczenia ustalonego limitu czasu (kwantu czasu)
17 Systemy operacyjne 17 Zadania systemu operacyjnego zarządzanie pamięcią i pilnowanie, aby jeden proces nie ingerował w obszar pamięci przydzielonej innym procesom, przydzielanie urządzeń zewnętrznych procesom, jeśli procesor jest bezczynny, to należy wybrać jeden z procesów, które znajdują się w pamięci i są gotowe do wykonania; jest to tzw. szeregowanie krótkoterminowe, jeśli zwalnia się pamięć operacyjna i można wczytać z dysku kolejne zadanie oczekujące na wykonanie, to należy wybrać jedno z oczekujących zadań; jest to tzw. szeregowanie długoterminowe.
18 Systemy operacyjne 18 Systemy dla jednego użytkownika zasoby przeznaczone są dla jednego użytkownika, nie ma mechanizmów autoryzacji dostępu, a mechanizmy ochrony informacji są ograniczone. Systemy wielodostępne wielu użytkowników może korzystać z zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed niepowołaną ingerencją. system plików indywidualizacja zasobów dyskowych
19 Systemy operacyjne 19 Systemy czasu rzeczywistego zorientowane na przetwarzanie z uwzględnieniem czasu zakończenie zadania, tzw. linii krytycznej. Systemy sieciowe i rozproszone umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, które są zintegrowane siecią komputerową i nie współdzielą fizycznie zasobów. niezawodność współdzielenie zasobów zwiększenie mocy obliczeniowej nowe usługi
20 Systemy operacyjne 20 W typowym systemie operacyjnym wyróżniamy następujące podsystemy: podsystem zarządzania procesami podsystem zarządzania pamięcią podsystem systemu plików podsystem wejścia/wyjścia podsystem pamięci pomocniczej podsystem usług sieciowych podsystem ochrony interpreter poleceń i programy użytkowe
21 Funkcje systemowe 21 Programy użytkowników mają dostęp do usług systemu operacyjnego poprzez tzw. funkcje systemowe. operacje na procesach - tworzenie nowych procesów, przerwanie, zawieszanie, wznawianie działania procesu, pobranie informacji o procesie, oczekiwanie na określone zdarzenie, przydzielanie i zwalnianie pamięci. operacje na plikach - utworzenie pliku, usunięcie pliku, otwarcie pliku, odczyt z pliku, zapis do pliku, pobranie lub zmiana atrybutów pliku. operacje na urządzeniach - zamówienie i zwolnienie urządzenia, odczyt z i zapis do urządzenia, pobranie lub zmiana atrybutów urządzenia, (logiczne) przyłączenie lub odłączenie urządzenia. informacje systemowe - pobieranie i/lub ustawianie najrozmaitszych informacji systemowych, w tym: czasu i daty, wersji systemu operacyjnego, atrybutów użytkowników. komunikacja - przekazywanie informacji między procesami.
22 Jądro systemu (kernel) Struktura systemu Unix 22 Sygnały Obsługa terminali System znakowego I/O Moduły sterujące terminali Sterowniki terminali Terminale Użytkownicy Powłoki i polecenia Kompilatory i interpretery Biblioteki systemowe Interfejs funkcji systemowych jądra System plików Wymiana System blokowego I/O Moduły sterujące dysków i taśm Interfejs między jądrem a sprzętem Sterowniki urządzeń Dyski i taśmy Planowanie przydziału procesora Zastępowanie stron Stronicowanie na żądanie Pamięć Planowanie wirtualna przydziału procesora Zastępowanie stron Stronicowanie na żądanie Pamięć wirtualna Sterowniki pamięci Pamięć operacyjna
23 Koncepcja procesu 23 Proces (nazywany też czasem zadaniem) to wykonujący się program. Każdy proces ma własny licznik instrukcji, który wskazuje następną instrukcję do wykonania, oraz własny obszar przydzielonej mu pamięci operacyjnej. Proces jest elementarną jednostką pracy (aktywności) zarządzaną przez system operacyjny, która ubiega się o zasoby systemu komputerowego w celu wykonania programu. Procesem jest cały kontekst niezbędny do wykonania programu. program definiuje zachowanie procesu, dane zbiór wartości przetwarzanych oraz wyniki, zbiór zasobów tworzących środowisko wykonawcze, blok kontrolny procesu (PCB, deskryptor) opis bieżącego stanu procesu.
24 Koncepcja zasobu 24 Zasobem jest element sprzętowy lub programowy systemu komputerowego, którego brak może potencjalnie zablokować wykonywanie programu System operacyjny definiuje element systemu komputerowego jako zasób. Zasoby tworzone przez jądro systemu operacyjnego nazywamy wirtualnymi, np. plik. (pliki udostępnia system operacyjny; na poziomie maszynowym mamy sektory dysku, w których składowana są dane)
25 Procesy i zasoby 25 Ze względów pojęciowych lub projektowych fragmenty kodu jądra związane z obsługą procesów i zasobów wyodrębnia się w postaci zarządców. Zarządca procesów (ang. process manager) kontroluje stany procesów w celu efektywnego i bezpiecznego wykorzystania współdzielonych zasobów systemu. Zarządca zasobów (ang. resource manager) realizuje przydział zasobów stosownie do żądań procesów, aktualnego stanu systemu oraz ogólnosystemowej polityki przydziału.
26 Deskryptor procesu PCB 26 Informacje związane z każdym procesem : Identyfikator procesu Stan procesu Licznik rozkazów Rejestry procesora Informacje o planowaniu przydziału procesora Informacje o zarządzaniu pamięcią Informacje do rozliczeń Informacje o stanie wejścia-wyjścia
27 Stany procesu 27 nowy - właśnie utworzono. aktywny- jest właśnie wykonywany przez procesor. czekający - czeka na zajście jakiegoś zdarzenia gotowy - czeka na przydzielenie mu procesora. zakończony - zakończył działanie.
28 28 Diagram przejść stanu procesów nowy przyjęcie przerwanie - wywłaszczenie zakończony wyjście gotowy aktywny decyzja planisty obsłużenie zdarzenia lub operacji I/O czekający oczekiwanie na zdarzenie lub na wykonanie operacji I/O
29 Planowanie procesów 29 Planowanie procesów polega na wskazywaniu procesu, któremu ma być w danej chwili przydzielony procesor (gotowy aktywny) W systemie w każdej chwili może być aktywnych co tyle procesów, ile jest procesorów. Procesy nieaktywne czekają na przydział procesora w kolejkach. Kolejka zadań - wszystkie procesy w systemie Kolejka gotowych - gotowe do wykonania Kolejka do urządzenia - dla każdego urządzenia wejściawyjścia odrębna taka kolejka
30 Planowanie 30 Kolejka procesów gotowych CPU I/O Kolejka operacji I/O Proces potomny Wystąpienie przerwania Zamówienie operacji I/O Zużycie kwantu czasu Powołanie procesu potomnego Czekanie na przerwanie
31 31 Planista Selekcji procesu, który ma przejść do stanu aktywny, dokonuje odpowiedni proces systemowy planista. Planista długoterminowy (albo planista zadań) decyduje o tym, który z procesów ma być załadowany do pamięci i gotowy do wykonania. Kontroluje on poziom wieloprogramowości, czyli liczbę współbieżnie wykonywanych procesów. Planista krótkoterminowy (albo planista procesora) decyduje o tym, który z procesów gotowych ma być wykonywany przez procesor.
32 Planista 32 Planowanie opiera się na trzech elementach : 1. Tryb decyzji - zbiór wytycznych odnośnie momentu dokonywania analizy priorytetów procesów. 2. Funkcja priorytetu wyznacza aktualny priorytet procesu na podstawie parametrów procesu i stanu systemu. 3. Reguła arbitrażu reguła rozstrzygania konfliktu w przypadku procesów o tym samym priorytecie.
33 Planista 33 Decyzje planisty są podejmowane jedynie : przejście procesu aktywnego do stanu oczekiwania, zakończenie procesu, to planowanie nazywamy niewywłaszczeniowym Jeżeli decyzje planisty podejmowane są także: przejście procesu ze stanu oczekiwania do stanu gotowości, przejście procesu aktywnego do stanu gotowości. to planowanie nazywamy wywłaszczeniowym
34 Wywłaszczenie 34 Pojawienie się procesu o wyższym priorytecie może być następstwem: utworzenie i przyjęcia nowego procesu, zajścia zdarzenia, oczekiwanego przez proces (np. zakończenie operacji wejścia wyjścia, otrzymania sygnału synchronizacji) obudzenie procesu, upłynięcie kwantu czasu wzrostu priorytetu procesu gotowego, co może mieć miejsce wówczas, gdy priorytety procesów zmieniają się i przeliczane są częściej, niż to wynika z upływu kwantu czasu, czy opuszczenie procesora przez proces.
35 Komunikacja między procesami W jaki sposób proces może przesłać komunikat do innego procesu? 2. Zapobieganie sytuacji, gdy procesy wchodzą sobie w drogę 3. Kolejkowanie procesów proces A generuje dane dla procesu B
36 36 Wyścig Procesy często dzielą obszary wspólnej pamięci, pliki lub inne zasoby. Warunkami wyścigu nazywamy sytuację, w której dwa lub więcej procesów wykonuje operacje na zasobach dzielonych, a ostateczny wynik tej operacji jest zależny od momentu jej realizacji. Przykład spooler drukarki 1. Drukowanie zapis pliku do katalogu spoolera 2. Demon drukarki sprawdza okresowo czy jest coś do wydrukowania 3. Drukowanie i usunięcie z katalogu 4. Rozmiar katalogu spoolera ograniczony
37 Wyścig 37 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 8
38 Wyścig 38 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 8
39 Wyścig 39 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 czytanie zm in next_free_slot = in //7 przerwanie zegarowe //przełaczenie na proces B
40 Wyścig 40 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B czytanie zm in next_free_slot = in //7 7 8
41 Wyścig 41 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B czytanie zm in next_free_slot = 7 wstawienie procesu B do katalogu spoolera
42 Wyścig 42 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 B czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B czytanie zm in next_free_slot = 7 wstawienie procesu B do katalogu spoolera in = next_free_slot
43 Wyścig 43 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 B czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B czytanie zm in next_free_slot = 7 wstawienie procesu B do katalogu spoolera in = next_free_slot
44 Wyścig 44 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 A czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B in = next_free_slot czytanie zm in next_free_slot = 7 wstawienie procesu B do katalogu spoolera in = next_free_slot
45 Wyścig 45 katalog spoolera zmienne współdzielone out = 4 in = abc pragram1 pragram3 A czytanie zm in next_free_slot = 7 przerwanie zegarowe //przełaczenie na proces B in = next_free_slot czytanie zm in next_free_slot = 7 wstawienie procesu B do katalogu spoolera in = next_free_slot
46 Komunikacja między procesami 46 Unikanie wyścigu oraz dostęp do współdzielonych zasobów. Unikanie sytuacji.gdy więcej niż jeden proces zapisywał/odczytywał zasób w tym samym czasie. Wzajemne wykluczanie
47 Komunikacja między procesami 47 Problem producenta-konsumenta Mamy dane dwa procesy: producenta i konsumenta. Oba procesy działają w nieskończonej pętli. Producent wytwarza jednostki jakiegoś produktu, a konsument konsumuje je. Jednostki wyprodukowane, ale jeszcze nie skonsumowane są umieszczane w buforze. Bufor może pomieścić maksymalnie n jednostek produktu. Jeżeli bufor jest pusty, to konsument musi zaczekać, aż producent wyprodukuje kolejną jednostkę produktu. Jeżeli bufor jest pełny, to producent musi zaczekać, aż konsument pobierze jednostkę produktu z bufora. Przykład : buforowanie znaków naciskanych na klawiaturze wysyłanie wydruków na drukarkę
48 Producent-konsument 48 PRODUCENT KONSUMENT repeat wyprodukuj jednostkę produktu; wstaw wyprodukowaną jednostkę do bufora until false repeat pobierz z bufora jednostkę produktu; skonsumuj pobraną jednostkę until false BUFOR var bufor: array [0..n-1] of produkt; pierwszy: 0..n-1; licznik: 0..n;
49 Producent-konsument 49 repeat wyprodukuj jednostkę produktu; while licznik < n do bufor [(pierwszy+licznik) mod n] := wyprodukowana jednostka; licznik := licznik + 1 until false repeat while licznik > 0 do pobrana jednostka := bufor [pierwszy]; pierwszy := (pierwszy + 1) mod n; licznik := licznik - 1; skonsumuj pobraną jednostkę until false rejestr1 := licznik; rejestr1 := rejestr1 + 1; licznik := rejestr1; rejestr1 := licznik; rejestr2 := licznik; rejestr2 := licznik; rejestr2 := rejestr2-1; licznik := rejestr2; rejestr2 := rejestr2-1; licznik := rejestr2; rejestr1 := rejestr1 + 1; licznik := rejestr1 ;
50 Producent-konsument 50 repeat wyprodukuj jednostkę produktu; while licznik < n do bufor [(pierwszy+licznik) mod n] := wyprodukowana jednostka; licznik := licznik + 1 until false repeat while licznik > 0 do pobrana jednostka := bufor [pierwszy]; pierwszy := (pierwszy + 1) mod n; licznik := licznik - 1; skonsumuj pobraną jednostkę until false rejestr1 := licznik; rejestr1 := rejestr1 + 1; licznik := rejestr1; rejestr2 := licznik; rejestr2 := rejestr2-1; licznik := rejestr2; rejestr1 := licznik; (5) rejestr2 := licznik; (5) rejestr2 := rejestr2-1; (4) licznik := rejestr2; (4) rejestr1 := rejestr1 + 1; (6) licznik := rejestr1 ; (6)
51 Sekcja krytyczna 51 Rozwiązaniem problemu jest "zatomizowanie" operacji pobierania i wkładania jednostek produktu z i do bufora. Należy zapewnić, aby w trakcie gdy jeden proces zmienia zawartość bufora drugi nie mógł robić tego równocześnie. Operacje wkładania i wyjmowania z bufora powinny tworzyć tzw. sekcję krytyczną.
52 Sekcja krytyczna 52 Sekcja krytyczna, to fragment(y) kodu lub operacje, które nie mogą być wykonywane współbieżnie. Sekcja krytyczna jest otoczona dodatkowym kodem synchronizującym przebywanie procesów wejściowych -- przed wejściem do sekcji krytycznej każdy proces musi przejść przez sekcję wejściową, a wychodząc przechodzi przez sekcję wyjściową. Wzajemne wykluczanie: tylko jeden proces na raz może przebywać w sekcji krytycznej.
53 Sekcja krytyczna 53 Sekcja krytyczna jest otoczona dodatkowym kodem synchronizującym przebywanie procesów wejściowych -- przed wejściem do sekcji krytycznej każdy proces musi przejść przez sekcję wejściową, a wychodząc przechodzi przez sekcję wyjściową. Wzajemne wykluczanie: tylko jeden proces na raz może przebywać w sekcji krytycznej.
54 Sekcja krytyczna 54 Rozwiązanie problemu sekcji krytycznej polega na podaniu implementacji sekcji wejściowej i wyjściowej. algorytmy z aktywnym oczekiwaniem algorytm Dekkera algorytm piekarniany mechanizmy synchronizacji Semafory Kolejki komunikatów Monitory Sprzętowe mechanizmy synchronizacji
55 Sekcja krytyczna 55 repeat wyprodukuj jednostkę produktu; while licznik = n do sekcja wejsciowa bufor [(pierwszy+licznik) mod n] := wyprodukowana jednostka; licznik := licznik + 1 sekcja wyjsciowa until false repeat while licznik = 0 do sekcja wejsciowa pobrana jednostka := bufor [pierwszy]; pierwszy := (pierwszy + 1) mod n; licznik := licznik - 1; sekcja wyjsciowa skonsumuj pobraną jednostkę until false
56 Algorytm Dekkera 56 var k: array [1..2] of 0..1; tablica procesów czyja_kolej: 1..2; zmienna rozstrzygająca p - numer procesu lokalnie k [p] := 0; while k [3 - p] = 0 do begin if czyja_kolej p then begin (* Ustąp drugiemu procesowi.*) k [p] := 1; while czyja_kolej p do; k [p] := 0 end end jest ograniczone do dwóch procesów, proces oczekujący oczekuje aktywnie, tzn. czekając na jakieś zdarzenie sprawdza ciągle warunek określający, czy dane zdarzenie już zaszło. k [p] := 1; czyja_kolej := 3 - p;
57 Algorytm piekarniany 57 var wybieranie: array [1..n] of boolean; numerek: array [0..n-1] of integer; p - numer procesu lokalnie wybieranie [p] := true; numerek [p] := max (numerek [1], numerek [2],..., numerek [n]) + 1; wybieranie [p] := false; for j := 1 to n do begin while wybieranie [j] do; while numerek [j] 0 and (numerek [j], j) < (numerek [p], p) do; end jest ograniczone do n procesów, proces oczekujący oczekuje aktywnie numerek [p] := 0;
58 58 Sekcja krytyczna Czekanie aktywne 1. Marnowany jest czas procesora - można by przeznaczyć na wykonanie innego procesu. 2. Uzasadnione gdy czas oczekiwania stosunkowo krótki (najlepiej krótszy od czasu przełączenia kontekstu) Liczba procesów Liczba procesorów 3. Alternatywą do czekania aktywnego jest przejście procesu w stan zablokowany Semafory Monitory
59 Semafory 59 Semafor jest obiektem abstrakcyjnym służącym do kontrolowania dostępu do ograniczonego zasobu. Semafory są szczególnie przydatne w środowisku gdzie wiele procesów lub wątków komunikuje się przez wspólną pamięć. Semafor S jest obiektem abstrakcyjnym, z którym związany jest licznik L zasobu przyjmujący wartości nieujemne. Na semaforze zdefiniowane są atomowe operacje sem_init, sem_wait, sem_post
60 Semafory 60 Definicja operacji wykonywanych na semaforze sem_init(s,n) Inicjacja Zajmowanie sem_wait(s) Sygnalizacja sem_post(s) Ustawienie licznika semafora S na początkową wartość N. Gdy licznik L semafora S jest dodatni (L > 0) zmniejsz go o 1 (L = L 1). Gdy licznik L semafora S jest równy zero (L==0) zablokuj proces bieżący. Gdy istnieje jakiś proces oczekujący na semaforze S to odblokuj jeden z czekających procesów. Gdy brak procesów oczekujących na semaforze S zwiększ jego licznik o 1 (L=L+1). Semafor binarny -wartość licznika przyjmuje tylko dwie wartości: 0 i 1.
61 Semafory 61 Implementacja wzajemnego wykluczania semaphore S; // Deklaracja semafora sem_init(s,1); // Inicjacja semafora Proces1 { do { Sekcja_lokalna; sem_wait(s); Sekcja_krytyczna; sem_post(s); } while(1); } Proces2 { do { Sekcja_lokalna; sem_wait(s); Sekcja_krytyczna; sem_post(s); } while(1); }
62 Semafory 62 L = 1 Proces 1 Proces 2 L = 0 sem_wait(s) użycie zasobu sem_wait(s) blokada L = 0 sem_post(s) odblokowanie użycie zasobu L = 1 sem_post(s)
63 Semafory 63 Mutex - mutually exclusive (wzajemnie wykluczający się). Mutex jest rodzajem semafora, którego stan jest ustawiony jako sygnalizowany kiedy żaden proces nie sprawuje nad nim kontroli oraz niesygnalizowany, kiedy jakiś proces sprawuje nad nim kontrolę. Synchronizację za pomocą mutexów realizuje się tak, że każdy proces czeka na objęcie mutexa w posiadanie, zaś po zakończeniu operacji wymagającej wyłączności, proces uwalnia mutexa.
64 Semafory 64 Problem producent-konsument z wykorzystaniem semaforów const int n; Semaphore empty(n),full(0),mutex(1); Item buffer[n]; Semafor mutex zapewnia wzajemne wykluczanie przy dostępie do zmiennych współdzielonych. Semafor full zlicza liczbę elementów w buforze (pełnych miejsc w tablicy). Wstrzymuje konsumenta, gdy w buforze nie ma żadnego elementu. Semafor empty zlicza liczby pustych miejsc w tablicy. Wstrzymuje producenta gdy w buforze nie ma wolnego miejsca.
65 Semafory 65 const int n; Semaphore empty(n),full(0),mutex(1); Item buffer[n]; int in = 0; Item pitem; while (1) { // produkujemy } empty.wait(); mutex.wait(); buffer[in] = pitem; in = (in+1) % n; mutex.signal(); full.signal(); int out = 0; Item citem; while (1) { full.wait(); mutex.wait(); citem = buffer[out]; out = (out+1) % n; mutex.signal(); empty.signal(); // konsumujemy }
66 Monitory 66 Monitory - strukturalny mechanizm synchronizacji wbudowanego w języki programowania wysokiego poziomu. Monitor to rodzaj klasy, której metody stanowią sekcję krytyczną. Atrybuty monitora są dostępne jedynie wewnątrz (metod) monitora. Konstrukcja monitora zapewnia, że tylko jeden proces na raz może znajdować się w monitorze. Pozostałe procesy oczekują w kolejce (FIFO). Jeśli jakiś proces chce wejść do monitora, który jest właśnie zajęty, to jest on wstawiany na koniec kolejki procesów oczekujących na wejście do monitora. Jeśli proces opuszcza monitor, a inne procesy czekają w kolejce na wejście do monitora, to pierwszy proces z kolejki wchodzi do monitora. W przypadku monitorów odpowiednie instrukcje synchronizujące są realizowane przez język programowania.
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Bardziej szczegółowodr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
Bardziej szczegółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Bardziej szczegółowoDefinicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego
Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na
Bardziej szczegółowoSystemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj
Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Bardziej szczegółowoPodstawy Informatyki Systemy operacyjne
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Bardziej szczegółowoSystem operacyjny wstęp
System operacyjny wstęp Definicja 1. System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej. Per Brinch Hansen
Bardziej szczegółowoPodstawy informatyki. Izabela Szczęch. Politechnika Poznańska
Podstawy informatyki Izabela Szczęch Politechnika Poznańska SYSTEMY OPERACYJNE 2 Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Klasyfikacja systemów operacyjnych
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoProcesy, wątki i zasoby
Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.
Bardziej szczegółowoSystemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu
Systemy operacyjne Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 3a, CW p. 5 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl www.cs.put.poznan.pl/dwawrzyniak www.cs.put.poznan.pl/sop
Bardziej szczegółowoprocesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoSystemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1
Systemy operacyjne Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 3a, CW p. 5 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl www.cs.put.poznan.pl/dwawrzyniak www.cs.put.poznan.pl/sop
Bardziej szczegółowoSystemy operacyjne. Program przedmiotu
Systemy operacyjne Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 3a, CW p. 5 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl www.cs.put.poznan.pl/dwawrzyniak www.cs.put.poznan.pl/sop
Bardziej szczegółowoProces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoProcesy, zasoby i wątki
Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoProcesy, zasoby i wątki
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowoPodstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
Bardziej szczegółowoProcesy, zasoby i wątki
Dariusz Wawrzyniak Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki we współczesnych systemach operacyjnych Plan
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 6 - procesy
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
Bardziej szczegółowoWykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Procesy wykonują się współbieżnie Potrzeba synchronizacji Jeżeli w 100% są
Bardziej szczegółowoSystemy operacyjne. Paweł Pełczyński
Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 11.1 abstrakcyjne Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoWykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są
Bardziej szczegółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Bardziej szczegółowoPrzerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań
Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna Sterownik sieci Przerwanie
Bardziej szczegółowoPrzerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań
Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna I NIC Sterownik sieci
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów
Bardziej szczegółowoWprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko
Wprowadzenie do systemów operacyjnych mgr inż. Krzysztof Szałajko Co to jest system operacyjny? Co to jest system komputerowy? 2 / 37 Definicja: system operacyjny System operacyjny jest programem pośredniczącym
Bardziej szczegółowoZarządzanie procesami i wątkami
SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora
Bardziej szczegółowoIngerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg.
Wady mechanizmów niskopoziomowych Ingerencja w kod systemu operacyjnego (przerwania) Programowanie na niskim poziomie (instrukcje specjalne) Trudności implementacyjne (alg. Dekkera zależny od liczby synchronizowanych
Bardziej szczegółowoPodsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań
Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych
Bardziej szczegółowoPodsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania
Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych
Bardziej szczegółowoPodsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania
Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoStruktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko
Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
Bardziej szczegółowoPlanowanie przydziału procesora
Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy
Bardziej szczegółowoprojektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
Bardziej szczegółowoInformatyka. informatyka i nauki komputerowe (computer science)
Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)
Bardziej szczegółowoPlanowanie przydziału procesora
Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista
Bardziej szczegółowoMateriały pomocnicze 1
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
Bardziej szczegółowoZarządzanie procesorem
Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!
Bardziej szczegółowoKlasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów
Klasyczne problemy współbieżności Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Wzajemne wykluczanie Zsynchronizować N procesów, z których każdy w nieskończonej
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoWprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoSystemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu
Systemy Operacyjne wykład 1. Adam Kolany Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu dr.a.kolany@wp.pl Październik, 2007 Literatura DrAK (PWSZ) Systemy Operacyjne 11 Październik,
Bardziej szczegółowoUrządzenia wejścia-wyjścia
Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Bardziej szczegółowoSystemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski
Systemy operacyjne wykład 1- System operacyjny i jego zadania dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 3marca2016r. PLAN WYKŁADU 1 Historia i zadania
Bardziej szczegółowoProces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd
Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; Zmodyfikowany proces
Bardziej szczegółowoSemafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0;
Semafory Rozwiązanie problemu wzajemnego wykluczania Bez dodatkowego wsparcia sprzętowego i programowego Zakładamy jedynie, że zapis do i odczyt z pamięci wspólnej są operacjami atomowymi (czyli istnieje
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoSystem komputerowy. System komputerowy
System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,
Bardziej szczegółowoInformatyka, systemy, sieci komputerowe
Informatyka, systemy, sieci komputerowe Systemy operacyjne wykład 2 Procesy i wątki issk 1 SO koncepcja procesu i zasobu Proces jest elementarną jednostką pracy zarządzaną przez system operacyjny, wykonującym
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji
Bardziej szczegółowoStan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoPrzeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne
Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów
Bardziej szczegółowo2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl http://pawel.skrobanek.staff.iiar.pwr.wroc.pl
Wrocław 2007-09 SYSTEMY OPERACYJNE WYKLAD 2 Paweł Skrobanek C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl http://pawel.skrobanek.staff.iiar.pwr.wroc.pl 1 PLAN: 2. Usługi 3. Funkcje systemowe 4. Programy
Bardziej szczegółowo2013-04-25. Czujniki obiektowe Sterowniki przemysłowe
Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoSynchronizacja procesów i wątków
SOE Systemy Operacyjne Wykład 12 Synchronizacja procesów i wątków dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Problem sekcji krytycznej Podstawowy problem synchronizacji
Bardziej szczegółowoPlanowanie przydziału procesora
Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja
Bardziej szczegółowoMonitory. Wady semafora
Wady semafora Monitory Niestrukturalny mechanizm synchronizacji Nie ułatwia wykrywania błędów synchronizacyjnych w czasie kompilacji programu Idea Jądro systemu operacyjnego jako monolityczny monitor -
Bardziej szczegółowoCelem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we
Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we współczesnych systemach komputerowych pojęcia procesu i pojęcia
Bardziej szczegółowoSystemy operacyjne. Zajęcia 11. Monitory
Systemy operacyjne. Zajęcia 11. Monitory 1. Monitor to mechanizm zamykający całą pamięć wspólną i synchronizację w pojedynczym module. 2. Monitor posiada całą pamięć wspólną jako część 'prywatną': dostępu
Bardziej szczegółowoSYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA
SYSTEMY OPERACYJNE PROWADZI: dr inż. Jarosław Bilski Katedra Inżynierii Komputerowej Politechnika Częstochowska Wykład dla kierunku Informatyka 2 ZAJĘCIA: Obowiązkowe Wykład Laboratorium 2 godziny tygodniowo
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
Bardziej szczegółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie ogólnych informacji o systemie operacyjnym jako składowej oprogramowania komputera. Omawiana jest zatem jego rola
Bardziej szczegółowoProces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd
Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; Zmodyfikowany proces
Bardziej szczegółowo41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego
41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego Pierwsze komputery, budowane według zasad określonych przez Johna von Neumanna, nie były kompatybilne dla
Bardziej szczegółowoOgólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu
Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja
Bardziej szczegółowoProgramowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska
Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Mechanizm synchronizacji wątków/procesów Wykorzystanie semaforów zapobiega niedozwolonemu wykonaniu
Bardziej szczegółowoWykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
Bardziej szczegółowo1.1 Definicja procesu
1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy
Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa
Bardziej szczegółowoSystem operacyjny MACH
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
Bardziej szczegółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Bardziej szczegółowoPośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Bardziej szczegółowoSystemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania
Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:
Bardziej szczegółowo3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy
Bardziej szczegółowoStruktura systemów komputerowych
Struktura systemów komputerowych Działanie systemu komputerowego Struktury WE/WY Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Wykład 6, Systemy operacyjne (studia
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
Bardziej szczegółowoArchitektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
Bardziej szczegółowo