1 Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki [email protected] http://www.cs.put.poznan.pl/~nawrocki/ics/ Wprowadzenie do informatyki Wykład 7
2 J.Nawrocki, Wprowadzenie.., Wykład 7 2 Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa
3 J.Nawrocki, Wprowadzenie.., Wykład 7 3 Wprowadzenie System komputerowy Sprzęt System operacyjny Oprogramowanie aplikacyjne
4 J.Nawrocki, Wprowadzenie.., Wykład 7 4 Sprzęt System operacyjny Oprogramowanie aplikacyjne Wprowadzenie System komputerowy - przykłady Procesor, pamięć, dysk, CDROM,... Windows NT, UNIX, QNX,.. System F-K, MS Word, Gra komputerowa,..
5 J.Nawrocki, Wprowadzenie.., Wykład 7 5 System operacyjny.. jako maszyna wirtualna 16 komend: czytanie, pisanie, przesunięcie głowicy, inicjacja, odczyt położenia głowicy, rekalibracja,... Sterowanie napędem dysków elastycznych PD765
6 J.Nawrocki, Wprowadzenie.., Wykład 7 6 System operacyjny.. jako maszyna wirtualna Komenda czytania 13 parametrów wejściowych w 9 bajtach: adres bloku, liczba sektorów na ścieżce, tryb zapisu na nośniku, przestrzeń międzysektorowa,... 23 pola statusu i błędów w 7 bajtach. Czy silnik włączony ? Jeśli nie to włącz i czekaj. Sterowanie napędem dysków elastycznych PD765
7 J.Nawrocki, Wprowadzenie.., Wykład 7 7 Dysk.. jako zarządca zasobów System operacyjny System operacyjny = zestaw reguł pozwalających grupie osób na efektywne współdzielenie zasobów systemu komputerowego. Procesor Pamięć System komputerowy
8 J.Nawrocki, Wprowadzenie.., Wykład 7 8 Generacje systemów operacyjnych Historia systemów operacyjnych 1945 - 1955: Lampy elektronowe 1955 - 1965: Tranzystory i systemy wsadowe 1965 - 1980: Układy scalone i systemy wieloprogramowe 1980 - 1990: Komputery osobiste
9 J.Nawrocki, Wprowadzenie.., Wykład 7 9 Wieloprogramowość / -zadaniowość Historia systemów operacyjnych Program 1 System oper. Program 2 Program 3 WieloprogramowośćWielozadaniowość Cray
10 J.Nawrocki, Wprowadzenie.., Wykład 7 10 Proces Podstawowe pojęcia Proces = Program w trakcie wykonania Program Wartości rejestrów Licznik rozkazów Dane...
11 J.Nawrocki, Wprowadzenie.., Wykład 7 11 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
12 J.Nawrocki, Wprowadzenie.., Wykład 7 12 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
13 J.Nawrocki, Wprowadzenie.., Wykład 7 13 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
14 J.Nawrocki, Wprowadzenie.., Wykład 7 14 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
15 J.Nawrocki, Wprowadzenie.., Wykład 7 15 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
16 J.Nawrocki, Wprowadzenie.., Wykład 7 16 Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D
17 J.Nawrocki, Wprowadzenie.., Wykład 7 17 Stany procesu Podstawowe pojęcia Wykonywany Gotowy Zablokowany
18 J.Nawrocki, Wprowadzenie.., Wykład 7 18 Komunikacja międzyprocesowa X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 Z:= Z + 1Z:= Z + 3
19 J.Nawrocki, Wprowadzenie.., Wykład 7 19 Komunikacja międzyprocesowa X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 Z:= Z + 1Z:= Z + 3 X= 8
20 J.Nawrocki, Wprowadzenie.., Wykład 7 20 Komunikacja międzyprocesowa X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Y= 10 Z: 7 Z:= Z + 1Z:= Z + 3 X= 8
21 J.Nawrocki, Wprowadzenie.., Wykład 7 21 Komunikacja międzyprocesowa Ścisła wymiana
22 J.Nawrocki, Wprowadzenie.., Wykład 7 22 Komunikacja międzyprocesowa Ścisła wymiana
23 J.Nawrocki, Wprowadzenie.., Wykład 7 23 Komunikacja międzyprocesowa Ścisła wymiana
24 J.Nawrocki, Wprowadzenie.., Wykład 7 24 Komunikacja międzyprocesowa Ścisła wymiana
25 J.Nawrocki, Wprowadzenie.., Wykład 7 25 Komunikacja międzyprocesowa Ścisła wymiana
26 J.Nawrocki, Wprowadzenie.., Wykład 7 26 Komunikacja międzyprocesowa Ścisła wymiana
27 J.Nawrocki, Wprowadzenie.., Wykład 7 27 Komunikacja międzyprocesowa Ścisła wymiana
28 J.Nawrocki, Wprowadzenie.., Wykład 7 28 Komunikacja międzyprocesowa Ścisła wymiana
29 J.Nawrocki, Wprowadzenie.., Wykład 7 29 Komunikacja międzyprocesowa Ścisła wymiana
30 J.Nawrocki, Wprowadzenie.., Wykład 7 30 Komunikacja międzyprocesowa Ścisła wymiana
31 J.Nawrocki, Wprowadzenie.., Wykład 7 31 Komunikacja międzyprocesowa Ścisła wymiana
32 J.Nawrocki, Wprowadzenie.., Wykład 7 32 Komunikacja międzyprocesowa Ścisła wymiana
33 J.Nawrocki, Wprowadzenie.., Wykład 7 33 Komunikacja międzyprocesowa Ścisła wymiana Bum!
34 J.Nawrocki, Wprowadzenie.., Wykład 7 34 Komunikacja międzyprocesowa Ścisła wymiana sekcja_krytyczna
35 J.Nawrocki, Wprowadzenie.., Wykład 7 35 Komunikacja międzyprocesowa Ścisła wymiana while true do begin sekcja_krytyczna(); inne_czynności() end; while true do begin sekcja_krytyczna(); inne_czynności() end;
36 J.Nawrocki, Wprowadzenie.., Wykład 7 36 Komunikacja międzyprocesowa Ścisła wymiana while true do begin while kolej 0 do; sekcja_krytyczna(); kolej:= 1; inne_czynności() end; while true do begin while kolej 1 do; sekcja_krytyczna(); kolej:= 0; inne_czynności() end; 0 1
37 J.Nawrocki, Wprowadzenie.., Wykład 7 37 Wyj1: mov Stan1, 0 ret Wej1: mov rej, Stan1 mov Stan1, 1 cmp rej, 0 jne Wej1 ret Komunikacja międzyprocesowa Instrukcja TSL Zajęta Wolna
38 J.Nawrocki, Wprowadzenie.., Wykład 7 38 Wej1: mov rej, Stan1 mov Stan1, 1 cmp rej, 0 jne Wej1 ret Komunikacja międzyprocesowa Instrukcja TSL Wej1: mov rej, Stan1 mov Stan1, 1 cmp rej, 0 jne Wej1 ret
39 J.Nawrocki, Wprowadzenie.., Wykład 7 39 Wej1: mov rej, 1 xchg rej, Stan1 cmp rej, 0 jne Wej1 ret Wyj1: mov Stan1, 0 ret Komunikacja międzyprocesowa Instrukcja TSL
40 J.Nawrocki, Wprowadzenie.., Wykład 7 40 Semafory binarne
41 J.Nawrocki, Wprowadzenie.., Wykład 7 41 Semafory binarne
42 J.Nawrocki, Wprowadzenie.., Wykład 7 42 Sekcja krytyczna Semafory binarne
43 J.Nawrocki, Wprowadzenie.., Wykład 7 43 Semafory binarne Sekcja krytyczna
44 J.Nawrocki, Wprowadzenie.., Wykład 7 44 Semafory binarne Sekcja krytyczna
45 J.Nawrocki, Wprowadzenie.., Wykład 7 45 Semafory binarne Sekcja krytyczna down
46 J.Nawrocki, Wprowadzenie.., Wykład 7 46 Semafory binarne Sekcja krytyczna
47 J.Nawrocki, Wprowadzenie.., Wykład 7 47 Semafory binarne Sekcja krytyczna up
48 J.Nawrocki, Wprowadzenie.., Wykład 7 48 Semafory binarne Sekcja krytyczna
49 J.Nawrocki, Wprowadzenie.., Wykład 7 49 Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem
50 J.Nawrocki, Wprowadzenie.., Wykład 7 50 Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem
51 J.Nawrocki, Wprowadzenie.., Wykład 7 51 Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem
52 J.Nawrocki, Wprowadzenie.., Wykład 7 52 Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem
53 J.Nawrocki, Wprowadzenie.., Wykład 7 53 While true do begin produkuj_elem; down (empty); down (mutex); wstaw_elem; up (mutex); up (full) end; Producent-Konsument Semafory binarne i uogólnione Producent While true do begin down (full); down (mutex); pobierz_elem; up (mutex); up (empty); konsumuj_elm end; Konsument
54 J.Nawrocki, Wprowadzenie.., Wykład 7 54 Komunikacja międzyprocesowa Czytelnicy i pisarze Mysli; Pisze Czytaj; Korzystaj
55 J.Nawrocki, Wprowadzenie.., Wykład 7 55 Podsumowanie Programowanie współbieżne jest znacznie trudniejsze niż sekwencyjne. Wreszcie!
56 J.Nawrocki, Wprowadzenie.., Wykład 7 56 Literatura A. Tanenbaum, Operating Systems: Design and Implementation, Prentice- Hall, 1987.
57 J.Nawrocki, Wprowadzenie.., Wykład 7 57 Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?