Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Zadania systemu operacyjnego
Bibliografia: „Systemy operacyjne. Struktura i zasada budowy” W. Stallings; wyd. MIKOM „Podstawy systemów operacyjnych” A. Silberschatz; wyd. WNT Zadania systemu operacyjnego
2
Zadania systemu operacyjnego
Wygodna obsługa – wygodny, domyślny interfejs Wydajność – system plików Możliwość rozwoju – system plików, interfejs, przenośność
3
Idea budowy komputera - architektura von Neumanna
4
Architektura von Neumanna
Architektura von Neumanna - rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez Johna von Neumanna stworzonej wspólnie z Johnem W. Mauchly'ym i Johnem Presper Eckertem.
5
Architektura von Neumanna
Polega na ścisłym podziale komputera na trzy podstawowe części: procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna) pamięć komputera (zawierająca dane i sam program) urządzenia wejścia/wyjścia
6
Architektura von Neumanna
System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien: mieć skończoną i funkcjonalnie pełną listę rozkazów mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak danych dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze.
7
Architektura von Neumanna
Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność. System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje.
8
Architektura von Neumanna
Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji - danych - zacząć je wykonywać. Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową (PMC).
9
Idea budowy komputera - architektura harwardzka
10
Architektura harwardzka
rodzaj architektury komputera. W odróżnieniu od architektury von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów. Podstawowa architektura komputerów zerowej generacji i początkowa komputerów pierwszej generacji. Prostsza (w stosunku do architektury von Neumanna) budowa przekłada się na większą szybkość działania - dlatego ten typ architektury jest często wykorzystywany w procesorach sygnałowych oraz przy dostępie procesora do pamięci cache.
11
Architektura harwardzka
Separacja pamięci danych od pamięci rozkazów sprawia, że architektura harwardzka jest obecnie powszechnie stosowana w mikrokomputerach jednoukładowych, w których dane programu są najczęściej zapisane w nieulotnej pamięci ROM (EPROM/EEPROM), natomiast dla danych tymczasowych wykorzystana jest pamięć RAM (wewnętrzna lub zewnętrzna).
12
Pamięć wirtualna. Plik wymiany
13
Plik wymiany Pamięć wirtualna - składa się z pliku wymiany (pliku stronicowania) i zainstalowanej fizycznej pamięci RAM. Plik wymiany w Windows – pagefile.sys jest ukryty, chroniony przez system i użytkownik nie może go zmieniać bezpośrednio. Plik stronicowania – używany przez system Windows do przechowywania części plików programów i danych, które są zbyt duże i nie mogą być umieszczone w całości w pamięci. System Windows przenosi dane z pliku stronicowania do pamięci zgodnie z potrzebami oraz z pamięci do pliku stronicowania , aby zwolnić miejsce dla nowych danych.
14
Plik wymiany W systemie Windows XP tylko jądro systemu operuje bezpośrednio na pamięci RAM. Wszystkie inne procesy i aplikacje korzystają w mniejszym lub większym stopniu z pośrednictwa pamięci wirtualnej. W pamięci RAM przechowywane są dane pozostające aktualnie w użyciu. Jeśli w pamięci RAM nie ma już miejsca, system przenosi do pliku stronicowania wszystko to, co w danej chwili nie jest konieczne. Tworzy w ten sposób wolne miejsce dla danych bieżących. Każda informacja z pliku wymiany potrzebna w danej chwili przenoszona jest do pamięci RAM.
15
Ćwiczenia
16
Ćwiczenie 1 Sygnałem, że pamięci może być za mało , jest wyraźne spowolnienie pracy systemu. Zajrzeć do Menedżera zadań [Alt] + [Ctrl] + [Delete] Menedżer zadań / Wydajność – Pamięć - Razem
17
Ćwiczenie 2 Lokalizacja pliku stronicowania – znajdź plik stronicowania Wyszukaj – pagefile.sys
18
Defragmentacja pliku wymiany
Pamięć wirtualną powinno ustawiać się na dysku zdefragmentowanym – to jednak nie daje gwarancji zachowania ciągłości tego pliku. Dynamicznie rozciągający się plik ulega fragmentacji – operacje na takim pliku tracą na wydajności. Defragmentator Windows nie potrafi scalać pliku pagefile.sys. Najlepiej skorzystać z programu narzędziowego np.. darmowy PageDefrag
19
Ćwiczenie 3 Ustawienie wielkości pliku stronicowania
Panel sterowania / System / Zaawansowane – Wydajność – Ustawienia Zaawansowane / Pamięć wirtualna / Zmień Ustaw Kombinacje rozmiaru rozmiar niestandardowy rozmiar początkowy rozmiar maksymalny rozmiar kontrolowany przez system bez pliku stronicowany
20
Tryby pracy procesora
21
Tryby pracy procesora Tryb rzeczywisty – real mode
Tryb chroniony – protected mode Tryb wirtualny – virtual mode
22
Procesy i wątki
23
Proces w systemie operacyjnym
Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie operacyjnym.
24
Wymagania odnośnie systemu operacyjnego odnośnie zarządzania procesami:
umożliwienie przeplatania się wykonywania procesów, akceptowalnie krótki czas odpowiedzi systemu, zarządzanie przydziałem zasobów poszczególnym procesom, udostępnianie mechanizmów do komunikacji międzyprocesowej, udostępnianie mechanizmów do tworzenia procesów.
25
Tworzenie i kończenie procesów
Utworzenie procesu może być rezultatem: inicjalizacji systemu, wywołania przez już uruchomiony proces funkcji systemowej do tworzenia procesu, zlecenia użytkownika utworzenia nowego procesu, uruchomienia zadania wsadowego.
26
Tworzenie i kończenie procesów
Zakończenie działania procesu może być rezultatem: zakończenia algorytmu procesu, celowego zakończenia w wyniku wystąpienia błędu, wykonania niedozwolonej operacji (zakończenie wymuszone), otrzymania sygnału od innego procesu (zakończenie wymuszone).
27
Stany procesów 1 3 2 4 Running Ready Blocked
28
Stany procesów uruchomiony - (ang. running), w danej chwili wykonuje się na procesorze, gotowy - (ang. ready), gotowy do wykonania, ale wstrzymany w oczekiwaniu na przydział czasu procesora, wstrzymany - (ang. blocked), nie może kontynuować pracy do momentu wystąpienia pewnego zewnętrznego zdarzenia.
29
Stany procesów w systemie Unix
uruchomiony w trybie użytkownika - (ang. user running), uruchomiony w trybie jądra - (ang. kernel running), gotowy, w pamięci - (ang. ready to run, in memory), wstrzymany, w pamięci - (ang. asleep in memory), gotowy wymieciony - (ang. ready to run, swapped),
30
Stany procesów w systemie Unix
wstrzymany, wymieciony - (ang. sleeping, swapped), wywłaszczony - (ang. preempted), utworzony - (ang. created), zombie - (ang. zombie).
31
Typowe pola elementu tablicy procesów
Zarządzanie procesem Zarządzanie pamięcią Rejestry Wskaźnik do segmentu kodu Licznik rozkazów (PC) Wskaźnik do segmentu danych Słowo stanu procesora (PSW) Wskaźnik do segmentu stosu Wskaźnik stosu Stan procesu Priorytet Parametry szeregowania Zarządzanie plikami ID procesu Katalog root
32
Typowe pola elementu tablicy procesów
Zarządzanie procesem Zarządzanie pamięcią Proces rodzic Katalog bieżący Grupa procesu Deskryptory plików Sygnały ID użytkownika Czas startu procesu ID grupy Użyty czas CPU Czas następnego alarmu
33
Zarządzanie pamięcią
34
Zarządzanie pamięcią Zarządzanie pamięcią (ang. Memory Management, MM) na poziomie systemu operacyjnego uwarunkowane jest architekturą systemu.
35
Zarządzanie pamięcią Oczekiwania w stosunku do pamięci systemu:
by była duża, by była szybka, by była nieulotna. Hierarchia pamięci: mała szybka droga pamięć (np. cache), średnia, średnio szybka, umiarkowanie droga, pamięć (np. pamięć operacyjna), ogromna, wolna i tania pamięć (np. pamięć dyskowa/ taśmowa).
36
Organizacja zarządzania pamięcią
W zależności od długości pola adresacji przestrzeń adresowa może pokrywać się z zakresem adresów pamięci operacyjnej, może być większa lub mniejsza. Na organizację zarządzania mają wpływ: pole adresowe argumentów rozkazu, miejsce pola adresacji w słowie, sprzętowe możliwości przekształcania pola adresacji.
37
Funkcje systemu operacyjnego w kontekście zarządzania pamięcią:
38
Funkcje systemu operacyjnego w kontekście zarządzania pamięcią:
zagospodarowanie przestrzeni adresowej poprzez wykorzystanie mechanizmów translacji adresów, ochrona zawartości pamięci, organizacja dostępu do obszarów dzielonych, efektywna organizacja pamięci operacyjnej.
39
Jądro systemu operacyjnego
40
Jądro systemu operacyjnego
Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.
41
Budowa jądra systemu operacyjnego
42
Jądro monolityczne Jądro monolityczne – często stosowane w systemach typu Unix. Wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra. Przykładami takiego jądra są systemy z rodziny Linux, chociaż większość posiada umiejętność dołączania i odłączania modułów (najczęściej zawierających kod sterownika urządzenia lub obsługi potrzebnego w danej chwili systemu plików).
43
jądro systemu operacyjnego
Jądro monolityczne aplikacje jądro systemu operacyjnego procesor pamięć urządzenia Model funkcjonowania jądra monolitycznego.
44
Zalety i wady Zaletą tej techniki jest prostota, stabilność, łatwość komunikacji pomiędzy różnymi członami jądra (jedna przestrzeń adresowa). Wadą jest, w późniejszym stadium rozwoju projektu, uciążliwość w rozwijaniu programu oraz w znajdywaniu błędów.
45
Mikrojądro Mikrojądro – w tej technice z monolitycznego jądra zostaje tylko jego podstawowa część, a części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy w trybie użytkownika.
46
jądro systemu operacyjnego
Mikrojądro aplikacje jądro systemu operacyjnego serwery Model komunikacji mikrojądra z aplikacjami.
47
Nanokernel nanokernel – technika zbliżona do techniki mikrojądra, różnica w wielkości – nanokernel jest jeszcze mniejszy.
48
Exokernel Exokernel – architektura będąca odmianą nanojądra. Cechą wyróżniającą jest możliwość zarządzania zasobami systemu przez nieuprzywilejowanego użytkownika, a rola jądra sprowadza się do zabezpieczania zasobów. Przykładem systemu korzystającego z tego typu jądra jest system XOK, zbudowany w MIT Laboratory for Computer Science, pracujący na komputerach PC. Wyposażony on został w bibliotekę ExOS, która implementuje system UNIX i umożliwia uruchamianie większości aplikacji tego systemu.
49
Cachekernel Cachekernel – w tej technice jądro systemu buforuje obiekty systemowe takie jak wątki czy przestrzenie adresowe tak jak sprzęt komputerowy buforuje pamięć. Jądra aplikacji trybu użytkownika są odpowiedzialne za ładowanie tych danych i ponowne ich zapisanie stosując specyficzne dla danej aplikacji mechanizmy.
50
Jądro hybrydowe Jądro hybrydowe – kompromis między architekturą jądra monolitycznego i mikrojądra. W krytycznych usługach - np. stos sieci - usługi są na stałe wkompilowane w główny kod jądra, inne usługi pozostają oddzielone od głównego jądra i działają jako serwery (w przestrzeni jądra). Dzięki temu rozwiązaniu możliwe jest zachowanie wydajności jądra monolitycznego dla kluczowych usług. Klasyfikacja ta budzi kontrowersje niektórych programistów. Jądro tego typu zastosowano w systemie Windows.
51
jądro systemu operacyjnego
Jądro hybrydowe aplikacje jądro systemu operacyjnego serwery Model komunikacji jądra hybrydowego z aplikacjami
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.