1 Wprowadzenie do informatyki Wykład 11(c) Jerzy Nawrocki Wprowadzenie do informatyki Wykład 11 Systemy operacyjne Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki, Wykład 11
2 J.Nawrocki, Wprowadzenie .., Wykład 11(c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Wprowadzenie .., Wykład 11 Wprowadzenie do informatyki, Wykład 11
3 Oprogramowanie aplikacyjneWprowadzenie System komputerowy Oprogramowanie aplikacyjne System operacyjny Sprzęt J.Nawrocki, Wprowadzenie .., Wykład 11
4 Wprowadzenie System komputerowy - przykładySystem F-K, MS Word, Gra komputerowa, .. Oprogramowanie aplikacyjne System operacyjny Windows NT, UNIX, QNX, .. Sprzęt Procesor, pamięć, dysk, CDROM, ... J.Nawrocki, Wprowadzenie .., Wykład 11
5 J.Nawrocki, Wprowadzenie .., Wykład 11(c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Wprowadzenie .., Wykład 11 Wprowadzenie do informatyki, Wykład 11
6 .. jako maszyna wirtualnaSystem 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 J.Nawrocki, Wprowadzenie .., Wykład 11
7 J.Nawrocki, Wprowadzenie .., Wykład 11System operacyjny .. jako zarządca zasobów Pamięć System operacyjny = zestaw reguł pozwalających grupie osób na efektywne współdzielenie zasobów systemu komputerowego. Procesor Dysk System komputerowy J.Nawrocki, Wprowadzenie .., Wykład 11
8 J.Nawrocki, Wprowadzenie .., Wykład 11(c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Wprowadzenie .., Wykład 11 Wprowadzenie do informatyki, Wykład 11
9 Historia systemów operacyjnychGeneracje systemów operacyjnych : Lampy elektronowe : Tranzystory i systemy wsadowe : Układy scalone i systemy wieloprogramowe : Komputery osobiste J.Nawrocki, Wprowadzenie .., Wykład 11
10 Historia systemów operacyjnychWieloprogramowość / -zadaniowość Wieloprogramowość Wielozadaniowość Cray Program 1 System oper. Program 2 Program 3 J.Nawrocki, Wprowadzenie .., Wykład 11
11 J.Nawrocki, Wprowadzenie .., Wykład 11(c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Wprowadzenie .., Wykład 11 Wprowadzenie do informatyki, Wykład 11
12 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Proces Proces = Program w trakcie wykonania Program Wartości rejestrów Licznik rozkazów Dane . . . J.Nawrocki, Wprowadzenie .., Wykład 11
13 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
14 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
15 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
16 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
17 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
18 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Wprowadzenie .., Wykład 11
19 J.Nawrocki, Wprowadzenie .., Wykład 11Podstawowe pojęcia Stany procesu Wykonywany Gotowy Zablokowany J.Nawrocki, Wprowadzenie .., Wykład 11
20 J.Nawrocki, Wprowadzenie .., Wykład 11(c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Wprowadzenie .., Wykład 11 Wprowadzenie do informatyki, Wykład 11
21 Komunikacja międzyprocesowaZ:= Z + 1 Z:= Z + 3 X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 J.Nawrocki, Wprowadzenie .., Wykład 11
22 Komunikacja międzyprocesowaZ:= Z + 1 Z:= Z + 3 X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 X= 8 J.Nawrocki, Wprowadzenie .., Wykład 11
23 Komunikacja międzyprocesowaZ:= Z + 1 Z:= Z + 3 X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 X= 8 Y= 10 J.Nawrocki, Wprowadzenie .., Wykład 11
24 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
25 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
26 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
27 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
28 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
29 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
30 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
31 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
32 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
33 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
34 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
35 Komunikacja międzyprocesowaŚcisła wymiana J.Nawrocki, Wprowadzenie .., Wykład 11
36 Komunikacja międzyprocesowaŚcisła wymiana Bum! J.Nawrocki, Wprowadzenie .., Wykład 11
37 Komunikacja międzyprocesowaŚcisła wymiana sekcja_krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
38 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; J.Nawrocki, Wprowadzenie .., Wykład 11
39 Komunikacja międzyprocesowaŚcisła wymiana 1 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; J.Nawrocki, Wprowadzenie .., Wykład 11
40 Komunikacja międzyprocesowaInstrukcja TSL CzekajNaOtwarcie . . . call CNO1 sekcja_krytyczna call Otworz1 inne_czynności . . . call CNO1 sekcja_krytyczna call Otworz1 inne_czynności J.Nawrocki, Wprowadzenie .., Wykład 11
41 Komunikacja międzyprocesowaInstrukcja TSL Zamknięty CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Otwarty Otwarty Otworz1: mov Zamek1, 0 ret J.Nawrocki, Wprowadzenie .., Wykład 11
42 Komunikacja międzyprocesowaInstrukcja TSL Zamek1 = 0 CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret J.Nawrocki, Wprowadzenie .., Wykład 11
43 Komunikacja międzyprocesowaInstrukcja TSL CNO1: mov rej, 1 xchg rej, Zamek1 cmp rej, 0 jne CNO1 ret Otworz1: mov Zamek1, 0 J.Nawrocki, Wprowadzenie .., Wykład 11
44 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne J.Nawrocki, Wprowadzenie .., Wykład 11
45 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne J.Nawrocki, Wprowadzenie .., Wykład 11
46 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
47 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
48 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
49 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne down Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
50 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
51 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne up Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
52 J.Nawrocki, Wprowadzenie .., Wykład 11Semafory binarne Sekcja krytyczna J.Nawrocki, Wprowadzenie .., Wykład 11
53 J.Nawrocki, Wprowadzenie .., Wykład 11Producent-Konsument Konsument Producent Magazyn Produkuj_elem Wstaw_elem J.Nawrocki, Wprowadzenie .., Wykład 11
54 J.Nawrocki, Wprowadzenie .., Wykład 11Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Wstaw_elem J.Nawrocki, Wprowadzenie .., Wykład 11
55 J.Nawrocki, Wprowadzenie .., Wykład 11Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Konsumuj_elem Wstaw_elem J.Nawrocki, Wprowadzenie .., Wykład 11
56 J.Nawrocki, Wprowadzenie .., Wykład 11Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Konsumuj_elem Wstaw_elem J.Nawrocki, Wprowadzenie .., Wykład 11
57 Semafory binarne i uogólnioneProducent-Konsument Semafory binarne i uogólnione Producent While true do begin pobierz_elem; konsumuj_elm end; Konsument While true do begin produkuj_elem; wstaw_elem; end; J.Nawrocki, Wprowadzenie .., Wykład 11
58 Semafory binarne i uogólnioneProducent-Konsument Semafory binarne i uogólnione Producent While true do begin down (mutex); pobierz_elem; up (mutex); konsumuj_elm end; Konsument While true do begin produkuj_elem; down (mutex); wstaw_elem; up (mutex); end; J.Nawrocki, Wprowadzenie .., Wykład 11
59 Semafory binarne i uogólnioneProducent-Konsument Semafory binarne i uogólnione Producent While true do begin down (full); down (mutex); pobierz_elem; up (mutex); konsumuj_elm end; Konsument While true do begin produkuj_elem; down (mutex); wstaw_elem; up (mutex); up (full) end; J.Nawrocki, Wprowadzenie .., Wykład 11
60 Semafory binarne i uogólnioneProducent-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 While true do begin produkuj_elem; down (empty); down (mutex); wstaw_elem; up (mutex); up (full) end; J.Nawrocki, Wprowadzenie .., Wykład 11
61 J.Nawrocki, Wprowadzenie .., Wykład 11Podsumowanie Definicja systemu operacyjnego Historia systemów operacyjnych Interferencja obliczeń Ścisła zmiana Instrukcja TSL Semafory binarne i uogólnione Problem producent-konsument Programowanie współbieżne jest trudniejsze niż sekwencyjne Wreszcie! J.Nawrocki, Wprowadzenie .., Wykład 11
62 J.Nawrocki, Wprowadzenie .., Wykład 11Literatura A. Tanenbaum, Operating Systems: Design and Implementation, Prentice-Hall, 1987. J.Nawrocki, Wprowadzenie .., Wykład 11
63 J.Nawrocki, Wprowadzenie .., Wykład 11Ocena 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? J.Nawrocki, Wprowadzenie .., Wykład 11