Zadania systemu operacyjnego

Slides:



Advertisements
Podobne prezentacje
System operacyjny i sterowniki urządzeń
Advertisements

Wirtualizacja zasobów w systemach operacyjnych
SYSTEMY OPERACYJNE WSTĘP
Moduł 2. Struktury Systemów Komputerowych
Sieci komputerowe.
1 Linux jako system wielozadaniowy i wielodostępny.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Schemat blokowy komputera
Systemy operacyjne Bibliografia:
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Autorzy: Łukasz Sztandarski Bartłomiej Granat
ZARZĄDZANIE PROCESAMI
Systemów Operacyjnych
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Opracował: mgr Mariusz Bruździński
Budowa Komputera.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Komputer a system komputerowy
Instytut Tele- i Radiotechniczny WARSZAWA
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
Autor: Justyna Radomska
System operacyjny i jego usługi
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Sieciowe Systemy Operacyjne
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Budowa i działanie komputera - jednostka
Przerwanie ang. interrupt.
Maszyna wirtualna ang. virtual machine, VM.
Buforowanie D e f i n i c j a.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Przeglądanie zasobów komputera - uruchamianie programów
Defragmentacja dysku Jednym z kluczowych czynników wydajności operacji wejścia/wyjścia jest poziom fragmentacji plików. Fragmentacja oznacza zapisywanie.
Architektura PC.
Spis treści Architektura systemu windows Pamięć wirtualna Plik wymiany
Budowa komputera ProProgramer.
Elementy zestawu komputerowego
Etapy uruchamiania systemu Pliki konfiguracyjne
W ą t e k (lekki proces) thread.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Procesor – charakterystyka elementów systemu. Parametry procesora.
Jednym z podstawowych celów tworzenia sieci komputerowych jest współdzielenie zasobów, takich jak pliki lub drukarki. Każdy z takich zasobów musi być udostępniony,
Procesor, pamięć, przerwania, WE/WY, …
Struktura wewnętrzna mikrokontrolera zamkniętego
Pamięć RAM Pamięć RAM.
Uprawnienia w Windows Server
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Model warstwowy ISO-OSI
Powtórzenie Zadania systemu operacyjnego… Rodzaje i jednostki pamięci…
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
Schemat blokowy komputera
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Zadania systemu operacyjnego Bibliografia: „Systemy operacyjne. Struktura i zasada budowy” W. Stallings; wyd. MIKOM „Podstawy systemów operacyjnych” A. Silberschatz; wyd. WNT http://pl.wikipedia.org/ Zadania systemu operacyjnego

Zadania systemu operacyjnego Wygodna obsługa – wygodny, domyślny interfejs Wydajność – system plików Możliwość rozwoju – system plików, interfejs, przenośność

Idea budowy komputera - architektura von Neumanna

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.

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

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.

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.

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).

Idea budowy komputera - architektura harwardzka

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.

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).

Pamięć wirtualna. Plik wymiany

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.

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.

Ćwiczenia

Ć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

Ćwiczenie 2 Lokalizacja pliku stronicowania – znajdź plik stronicowania Wyszukaj – pagefile.sys

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

Ć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

Tryby pracy procesora

Tryby pracy procesora Tryb rzeczywisty – real mode Tryb chroniony – protected mode Tryb wirtualny – virtual mode

Procesy i wątki

Proces w systemie operacyjnym Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie operacyjnym.

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.

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.

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).

Stany procesów 1 3 2 4 Running Ready Blocked

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.

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),

Stany procesów w systemie Unix wstrzymany, wymieciony - (ang. sleeping, swapped), wywłaszczony - (ang. preempted), utworzony - (ang. created), zombie - (ang. zombie).

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

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

Zarządzanie pamięcią

Zarządzanie pamięcią Zarządzanie pamięcią (ang. Memory Management, MM) na poziomie systemu operacyjnego uwarunkowane jest architekturą systemu.

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).

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.

Funkcje systemu operacyjnego w kontekście zarządzania pamięcią:

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.

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.

Budowa jądra systemu operacyjnego

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).

jądro systemu operacyjnego Jądro monolityczne aplikacje jądro systemu operacyjnego procesor pamięć urządzenia Model funkcjonowania jądra monolitycznego.

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.

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.

jądro systemu operacyjnego Mikrojądro aplikacje jądro systemu operacyjnego serwery Model komunikacji mikrojądra z aplikacjami.

Nanokernel nanokernel – technika zbliżona do techniki mikrojądra, różnica w wielkości – nanokernel jest jeszcze mniejszy.

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.

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.

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.

jądro systemu operacyjnego Jądro hybrydowe aplikacje jądro systemu operacyjnego serwery Model komunikacji jądra hybrydowego z aplikacjami