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. 2. 3. 4. 5. 6. 7. 8. Wprowadzenie, Procesy, wątki ...
Author: Alicja Lewicka
20 downloads 1 Views 1MB Size
Systemy operacyjne wykład – dr Marcin Czarnota laboratorium – mgr Radosław Maj

Plan wykładów 1. 2. 3. 4.

5. 6. 7. 8.

Wprowadzenie, Procesy, wątki i zasoby, Planowanie przydziału procesora, Zarządzanie pamięcią operacyjną, pamięć wirtualna, Urządzenia wejścia – wyjścia, System plików, Współbieżność i synchronizacja procesów, Zakleszczanie.

Systemy operacyjne

Wykład 1

2/31

Literatura 1.

2. 3.

4.

A. Silberschatz, P.B. Galvin, G. Gagne, Podstawy systemów operacyjnych, wydanie szóste, WNT 2005; wydanie siódme, WNT 2006, A. N. Tanenbaum, Modern operating systems, third edition, Pearson 2008, W. Stallings, Systemy operacyjne. Robomatic, Wrocław 2004, C. Sobaniec, System operacyjny Linux — przewodnik użytkownika. Nakom, Poznań 2002. http://wazniak.mimuw.edu.pl/index.php

http://th-www.if.uj.edu.pl/~placzek/dydaktyka/SO/wyklady/ Systemy operacyjne

Wykład 1

3/31

Wprowadzenie 

System operacyjny: • definicje, • rola i zadania,

 

Klasyfikacja systemów operacyjnych, Zasada działania systemu operacyjnego.

Systemy operacyjne

Wykład 1

4/31

Definicje systemu operacyjnego 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

Systemy operacyjne

Wykład 1

5/31

Definicje systemu operacyjnego 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. Alan Shaw

Systemy operacyjne

Wykład 1

6/31

Definicje systemu operacyjnego 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

Systemy operacyjne

Wykład 1

7/31

Definicje systemu operacyjnego 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

Systemy operacyjne

Wykład 1

8/31

Miejsce systemu operacyjnego w architekturze systemu komputerowego Użytkownicy

Programy użytkowe kompilator

System operacyjny Baza

Edytor tekstu

danych System komputerowy

Systemy operacyjne

Wykład 1

9/31

Architektura systemu komputerowego

Systemy operacyjne

Wykład 1

10/31

Struktura systemu operacyjnego interpreter poleceń

programy systemowe

jądro systemu operacyjnego

sprzęt

Systemy operacyjne

Wykład 1

11/31

Zadania systemu operacyjnego • 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.

Systemy operacyjne

Wykład 1

12/31

Zarządzanie zasobami systemu komputerowego • • • • •

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.

Systemy operacyjne

Wykład 1

13/31

Zasoby zarządzane przez system operacyjny • Procesor — przydział czasu procesora, • Pamięć: – alokacja przestrzeni adresowej dla procesów, – ochrona i transformacja adresów, • Urządzenia wejścia-wyjścia: – 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. Systemy operacyjne

Wykład 1

14/31

Podział systemów operacyjnych



  

ze względu na sposób przetwarzania, ze względu na liczbę wykonywanych programów, ze względu na liczbę użytkowników, inne.

Systemy operacyjne

Wykład 1

15/31

Sposób przetwarzania • Systemy przetwarzania bezpośredniego (on-line processing systems) — systemy interakcyjne – występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem, – wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu. • Systemy przetwarzania pośredniego (off-line processing systems) — systemy wsadowe – występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania, – niemożliwa jest ingerencja użytkownika w wykonywanie zadania. Systemy operacyjne

Wykład 1

16/31

Liczba wykonywanych programów • 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.

Systemy operacyjne

Wykład 1

17/31

Liczba użytkowników • Systemy dla jednego użytkownika — zasoby przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych), nie ma mechanizmów autoryzacji, a mechanizmy ochrony informacji są ograniczone. • Systemy wielodostępne — wielu użytkowników może korzystać ze zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed nieupoważnioną ingerencją.

Systemy operacyjne

Wykład 1

18/31

Inne systemy operacyjne • Systemy czasu rzeczywistego (real-time systems) — zorientowane na przetwarzanie z uwzględnieniem ostrych kryteriów czasowych. • Systemy sieciowe i rozproszone (network and distributed systems) — umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, czyli zbiorem jednostek (komputerów), które są połączone siecią komputerową i nie współdzielą fizycznie zasobów. • Systemy operacyjne komputerów naręcznych — tworzone dla rozwiązań typu PDA, czy telefonów komórkowych, podlegają istotnym ograniczeniom zasobowym (wolny procesor, mała pamięć, niewielki ekran). Systemy operacyjne

Wykład 1

19/31

Zasada działania systemu operacyjnego ujęcie wielowarstwowe poziom języka zorientowanego problemowo

poziom asemblera

poziom systemu operacyjnego poziom maszynowy mikroprocesora poziom mikroarchitektury Systemy operacyjne

Wykład 1

20/31

Architektura von Neumanna • Zarówno program (kody rozkazów), jak i dane (argumenty rozkazu, operandy) znajdują się w pamięci operacyjnej. • Rozkazy wykonywane są w kolejności, w jakiej zostały umieszczone w programie (i tym samym w pamięci), a zmiana tej kolejności może nastąpić w wyniku wykonania specjalnego rozkazu, np. skoku, wywołania podprogramu, powrotu z podprogramu itp. • W celu pobrania rozkazu z pamięci procesor wystawia odpowiedni adres na magistrali adresowej.

Systemy operacyjne

Wykład 1

21/31

Cykl rozkazowy • Cykl rozkazowy — cykl działań procesora i jego interakcji z pamięcią operacyjną związanych z realizacją rozkazu. • Cykl rozkazowy składa się z faz, zwanych cyklami maszynowymi. • Typowe fazy cyklu rozkazowego: – pobranie kodu rozkazu — odczyt pamięci, – pobranie operandu — odczyt pamięci, – składowanie operandu — zapis pamięci.

Systemy operacyjne

Wykład 1

22/31

Cykl rozkazowy – pobranie rozkazu pamięć / IO

pobranie kodu rozkazu

CPU

wystawienie adresu kodu rozkazu

pobranie operandu

dekodowanie operacji

faza pobrania argumentu

faza pobrania rozkazu

Systemy operacyjne

wystawienie adresu operandu

Wykład 1

łańcuch 23/31

Cykl rozkazowy – wykonanie rozkazu zapis operandu

wykonanie operacji

wystawienie adresu operandu

faza przerwania

sprawdzenie zgłoszenia przerwań brak przerwań

faza składowania wyniku Systemy operacyjne

przerwanie

Wykład 1

24/31

Podstawy działania systemu operacyjnego • Odwołania do jądra systemu przez system przerwań lub specjalne instrukcje (przerwanie programowe), • Sprzętowa ochrona pamięci, • Dualny tryb pracy — tryb użytkownika (user mode) i tryb systemowy (tryb jądra, system mode), • Wyróżnienie instrukcji uprzywilejowanych, wykonywanych tylko w trybie systemowym, • Uprzywilejowanie instrukcji wejścia-wyjścia, • Przerwanie zegarowe.

Systemy operacyjne

Wykład 1

25/31

Przerwania i ich obsługa Przerwanie jest reakcją na asynchroniczne zdarzenie, polegającą na automatycznym zapamiętaniu bieżącego stanu procesora w celu późniejszego odtworzenia oraz przekazaniu sterowania do ustalonej procedury obsługi przerwania. Obsługa przerwań (interrupt handling): • System operacyjny zachowuje stan CPU: 􀀩 - stan licznika programu, 􀀩 - stan innych rejestrów. • Określa typ przerwania: 􀀩 - odpytywanie (polling), 􀀩 - wektorowe (vectored interrupt system). • Dla każdego typu przerwań oddzielne procedury. Systemy operacyjne

Wykład 1

26/31

Typy przerwań • Przerwania zewnętrzne — od urządzeń zewnętrznych, • Przerwania programowe — wykonanie specjalnej instrukcji, • Przerwania diagnostyczne — pułapki, błędy programowe i sprzętowe.

Systemy operacyjne

Wykład 1

27/31

Przerwania cd. przerwanie zewnętrzne

ujęcie wielowarstwowe

przerwanie programowe

poziom systemu operacyjnego

poziom maszynowy procesora poziom mikroarchitektury przerwanie diagnostyczne Systemy operacyjne

Wykład 1

28/31

Przerwania zegarowe

programy użytkownika

• Przerwanie zegarowe generowane jest przez czasomierz (timer) po wyznaczonym okresie czasu. • Obsługa przerwania zegarowego oznacza przekazanie sterowania do jądra systemu operacyjnego, umożliwiając w ten sposób wykonanie pewnych zdań okresowych. przerwanie zagarowe program 2 program 1 program jądra Systemy operacyjne

czas Wykład 1

29/31

Ochrona pamięci adres rejestr bazowy ≥