Wprowadzenie do informatyki Wykład 6 (c) Jerzy Nawrocki Wprowadzenie do informatyki Wykład 6 Systemy operacyjne Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/ics/ Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki (6), Systemy operacyjne
J.Nawrocki, Systemy operacyjne, Wykł. 6 (c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Systemy operacyjne, Wykł. 6 Wprowadzenie do informatyki (6), Systemy operacyjne
Oprogramowanie aplikacyjne Wprowadzenie System komputerowy Oprogramowanie aplikacyjne System operacyjny Sprzęt J.Nawrocki, Systemy operacyjne, Wykł. 6
Wprowadzenie System komputerowy - przykłady System F-K, MS Word, Gra komputerowa, .. Oprogramowanie aplikacyjne System operacyjny Windows NT, UNIX, QNX, .. Sprzęt Procesor, pamięć, dysk, CDROM, ... J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 (c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Systemy operacyjne, Wykł. 6 Wprowadzenie do informatyki (6), Systemy operacyjne
.. jako maszyna wirtualna 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 J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 System 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, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 (c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Systemy operacyjne, Wykł. 6 Wprowadzenie do informatyki (6), Systemy operacyjne
Historia systemów operacyjnych Generacje 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 J.Nawrocki, Systemy operacyjne, Wykł. 6
Historia systemów operacyjnych Wieloprogramowość / -zadaniowość Wieloprogramowość Wielozadaniowość Cray Program 1 System oper. Program 2 Program 3 J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 (c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Systemy operacyjne, Wykł. 6 Wprowadzenie do informatyki (6), Systemy operacyjne
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Proces Proces = Program w trakcie wykonania Program Wartości rejestrów Licznik rozkazów Dane . . . J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Procesy na 1 procesorze A B C D J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podstawowe pojęcia Stany procesu Wykonywany Gotowy Zablokowany J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 (c) Jerzy Nawrocki Plan wykładu Wprowadzenie System operacyjny Historia systemów operacyjnych Podstawowe pojęcia Komunikacja międzyprocesowa J.Nawrocki, Systemy operacyjne, Wykł. 6 Wprowadzenie do informatyki (6), Systemy operacyjne
Komunikacja międzyprocesowa Z:= Z + 1 Z:= Z + 3 X:= Z; X:= X + 1; Z:= X Y:= Z; Y:= Y + 3; Z:= Y Z: 7 J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Z:= 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, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Z:= 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, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana Bum! J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Ścisła wymiana sekcja_krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
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, Systemy operacyjne, Wykł. 6
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, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Instrukcja TSL CzekajNaOtwarcie . . . call CNO1 sekcja_krytyczna call Otworz1 inne_czynności . . . call CNO1 sekcja_krytyczna call Otworz1 inne_czynności J.Nawrocki, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Instrukcja 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, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Instrukcja 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, Systemy operacyjne, Wykł. 6
Komunikacja międzyprocesowa Instrukcja TSL CNO1: mov rej, 1 xchg rej, Zamek1 cmp rej, 0 jne CNO1 ret Otworz1: mov Zamek1, 0 J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne down Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne up Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Semafory binarne Sekcja krytyczna J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Producent-Konsument Konsument Producent Magazyn Produkuj_elem Wstaw_elem J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Wstaw_elem J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Konsumuj_elem Wstaw_elem J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Producent-Konsument Konsument Producent Magazyn Pobierz_elem Produkuj_elem Konsumuj_elem Wstaw_elem J.Nawrocki, Systemy operacyjne, Wykł. 6
Semafory binarne i uogólnione Producent-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, Systemy operacyjne, Wykł. 6
Semafory binarne i uogólnione Producent-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, Systemy operacyjne, Wykł. 6
Semafory binarne i uogólnione Producent-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, Systemy operacyjne, Wykł. 6
Semafory binarne i uogólnione 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 While true do begin produkuj_elem; down (empty); down (mutex); wstaw_elem; up (mutex); up (full) end; J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Podsumowanie 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, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 Literatura A. Tanenbaum, Operating Systems: Design and Implementation, Prentice-Hall, 1987. J.Nawrocki, Systemy operacyjne, Wykł. 6
J.Nawrocki, Systemy operacyjne, Wykł. 6 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? J.Nawrocki, Systemy operacyjne, Wykł. 6