dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI
|
|
- Wacław Kurek
- 7 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,
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) Miejsce, rola i zadania systemu operacyjnego
dr 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
Systemy 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
Definicja 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
Systemy 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ą,
Dział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
Dział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ęć
Podstawy 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
Dział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
System 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
Podstawy 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
Dział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
SYSTEMY 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
Procesy, 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.
Systemy 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
procesó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
4. 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
Systemy 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
Systemy 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
Proces 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
Procesy, 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
4. 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
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 Wątki Procesy i wątki
Mechanizmy 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
Podstawy 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.
Procesy, 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
SYSTEMY 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
Wykł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ą
Systemy 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
Semafor 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
Procesy 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
Wykł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ą
Systemy 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
Budowa 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
Przerwania. 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
Przerwania. 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
Struktura 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
Semafor 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ę.
Programowanie 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
Systemy 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
Wprowadzenie 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
Zarzą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
Ingerencja 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
Podsumowanie. 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
Podsumowanie. 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
Podsumowanie. 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
4. 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
Struktury 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
Programowanie 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
Planowanie 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
projektowanie 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
Informatyka. 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)
Planowanie 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
Materiał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
Zarzą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!
Klasyczne 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
Prezentacja 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
Wprowadzenie 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
LEKCJA 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
Systemy 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,
Urzą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
Systemy 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
Systemy 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
Proces 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
Semafory. // 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
Mikroprocesor 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
System 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,
Informatyka, 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
Systemy 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
Stan 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
Przeplot. 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
2009-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
2013-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
Procesy 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
Synchronizacja 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
Planowanie 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
Monitory. 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 -
Celem 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
Systemy 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
SYSTEMY 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
SYLABUS 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
Systemy 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
Proces 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
41. 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
Ogó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
Programowanie 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
Wykł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
1.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
dr 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
Systemy 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
System 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
Od 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ć
Poś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
Systemy 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:
3 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
Struktura 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
Księ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
Architektura 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
Architektura 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