1 I. Pardyka - Akademia Świętokrzyska 3.1 Podstawy systemów operacyjnych – A. Silberschatz System komputerowy - hardware (schemat uproszczony) I. Pardyka - Akademia Świętokrzyska 3.2 Podstawy systemów operacyjnych – A. Silberschatz System operacyjny I. Pardyka - Akademia Świętokrzyska 3.3 Podstawy systemów operacyjnych – A. Silberschatz Struktury systemów operacyjnych Skladniki systemu Uslugi systemowe Funkcje systemowe (system calls) Programy systemowe Struktura systemu Maszyny wirtualne Projektowanie systemu i implementacja Generowanie systemu I. Pardyka - Akademia Świętokrzyska 3.4 Podstawy systemów operacyjnych – A. Silberschatz Skladniki systemu Zarządzanie procesami Zarządzanie pamięcią glówną Zarządzanie plikami Zarządzanie systemem we/wy Zarządzanie pamięcią pomocniczą Zarządzanie pracą w sieci System ochrony System interpretacji poleceń I. Pardyka - Akademia Świętokrzyska 3.5 Podstawy systemów operacyjnych – A. Silberschatz Zarządzanie procesami Proces to program w trakcie wykonywania. Proces wymaga zasobów (czas CPU, pamięć, pliki, urządzenia we/wy) aby wykonać zadanie. System operacyjny odpowiada za następujące dzialania związane z zarządzaniem procesami: Tworzenie i usuwanie procesu. Zawieszanie i odwieszanie procesu. Dostarcza mechanizmów do: synchronizacji procesów komunikacji między procesami. I. Pardyka - Akademia Świętokrzyska 3.6 Podstawy systemów operacyjnych – A. Silberschatz Zarządzanie pamięcią glówną Pamięć jest zorganizowana w postaci wielkiej tablicy slów lub bajtów wskazywanych przez adres. Jest zbiornikiem danych o szybkim dostępie dzielonym między CPU i urządzenia we/wy. Pamięć glówna jest ulotna (volatile). Traci swoją zawartość w razie awarii systemu. System operacyjny jest odpowiedzialny za następujące dzialania związane z zarządzaniem pamięcią: Śledzenie zajętości pamięci (która część jest zajęta i przez kogo). Decydowanie, który proces zaladować, gdy pojawi się wolne miejsce w pamięci. Przydzielanie (allocation) i zwalnianie (deallocation) pamięci stosownie do potrzeb.
7
Embed
Podstawy systemów operacyjnych – A. Silberschatz 3.1 ę ... · 2 Podstawy systemów operacyjnych – A. Silberschatz 3.7 I. Pardyka - Akademia Świętokrzyska Zarządzanie plikami
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
I. Pardyka - Akademia Świętokrzyska3.1Podstawy systemów operacyjnych – A. Silberschatz
System komputerowy - hardware(schemat uproszczony)
I. Pardyka - Akademia Świętokrzyska3.2Podstawy systemów operacyjnych – A. Silberschatz
System operacyjny
I. Pardyka - Akademia Świętokrzyska3.3Podstawy systemów operacyjnych – A. Silberschatz
Struktury systemów operacyjnych
Składniki systemuUsługi systemowe
Funkcje systemowe (system calls)Programy systemoweStruktura systemu
Maszyny wirtualneProjektowanie systemu i implementacja
Generowanie systemu
I. Pardyka - Akademia Świętokrzyska3.4Podstawy systemów operacyjnych – A. Silberschatz
Składniki systemu
Zarządzanie procesami
Zarządzanie pamięcią głównąZarządzanie plikami
Zarządzanie systemem we/wyZarządzanie pamięcią pomocnicząZarządzanie pracą w sieciSystem ochronySystem interpretacji poleceń
I. Pardyka - Akademia Świętokrzyska3.5Podstawy systemów operacyjnych – A. Silberschatz
Zarządzanie procesami
Proces to program w trakcie wykonywania. Proceswymaga zasobów (czas CPU, pamięć, pliki, urządzeniawe/wy) aby wykonać zadanie.
System operacyjny odpowiada za następujące działaniazwiązane z zarządzaniem procesami:
Tworzenie i usuwanie procesu.Zawieszanie i odwieszanie procesu.
Dostarcza mechanizmów do:synchronizacji procesów
komunikacji między procesami.
I. Pardyka - Akademia Świętokrzyska3.6Podstawy systemów operacyjnych – A. Silberschatz
Zarządzanie pamięcią główną
Pamięć jest zorganizowana w postaci wielkiej tablicy słówlub bajtów wskazywanych przez adres. Jest zbiornikiemdanych o szybkim dostępie dzielonym między CPU iurządzenia we/wy.Pamięć główna jest ulotna (volatile). Traci swojązawartość w razie awarii systemu.System operacyjny jest odpowiedzialny za następującedziałania związane z zarządzaniem pamięcią:
Śledzenie zajętości pamięci (która część jest zajęta i przezkogo).Decydowanie, który proces załadować, gdy pojawi sięwolne miejsce w pamięci.Przydzielanie (allocation) i zwalnianie (deallocation) pamięcistosownie do potrzeb.
2
I. Pardyka - Akademia Świętokrzyska3.7Podstawy systemów operacyjnych – A. Silberschatz
Zarządzanie plikami
Plik jest zbiorem powiązanych ze sobą informacji,zdefiniowanych przez jego twórcę. Zwykle pliki zawierająprogramy (wersję źródłową i wynikową) oraz dane.System operacyjny jest odpowiedzialny za następującedziałania związane z zarządzaniem plikami:
Tworzenie i usuwanie plików.Tworzenie i usuwanie katalogów.
Dostarczanie elementarnych operacji do manipulowaniaplikami i katalogami.
Odwzorowanie plików na obszary pamięci pomocniczej.Składanie plików na trwałych nośnikach pamięci (na którychinformacja nie znika).
I. Pardyka - Akademia Świętokrzyska3.8Podstawy systemów operacyjnych – A. Silberschatz
Zarządzanie systemem we/wy
System we/wy składa się z:Systemu buforowania notatnikowego
Ogólnego interfejsu do programów obsługi urządzeńsprzętowych.
Sterowników poszczególnych urządzeń sprzętowych.
I. Pardyka - Akademia Świętokrzyska3.9Podstawy systemów operacyjnych – A. Silberschatz
Zarządzanie pamięcią pomocnicząPamięć główna (main memory = primary storage) jest ulotna izbyt mała aby pomieścić wszystkie dane i programy dlategopotrzebna jest pamięć pomocnicza (secondary storage)stanowiąca zaplecze dla pamięci głównej.
Większość współczesnych systemów komputerowych posługujesię pamięcią dyskową jako podstawowym środkiemmagazynowania programów i danych.System operacyjny jest odpowiedzialny za następujące działaniazwiązane z zarządzaniem pamięcią pomocniczą:
Zarządzanie obszarami wolnymiPrzydzielanie pamięci
Planowanie przydziałów obszarów pamięci
I. Pardyka - Akademia Świętokrzyska3.10Podstawy systemów operacyjnych – A. Silberschatz
Praca sieciowa(w systemie rozproszonym)
System rozległy (distributed) to zbiór procesorów, którenie korzystają ze wspólnej pamięci ani zegara. Każdyprocesor posiada swoją własną pamięć lokalną.Procesory w systemie rozproszonym są połączone zapośrednictwem sieci komunikacyjnej.
Dla celów komunikacji stosowane są protokoły(protocol).
System rozproszony umożliwia użytkownikowi dostęp doróżnych zasobów systemowych.
Dostęp do zasobów dzielonych pozwala na:Przyspieszenie obliczeń.
I. Pardyka - Akademia Świętokrzyska3.11Podstawy systemów operacyjnych – A. Silberschatz
System ochrony
Ochrona (Protection) jest mechanizmem nadzorowaniadostępu programów, procesów lub użytkowników dozasobów zdefiniowanych przez system komputerowy.Mechanizm ochrony musi:
Rozróżnić dostęp autoryzowany od nieautoryzowanego.
Określić co podlega jakiej ochronie.Zapewnić środki wymuszania zaprowadzonych ustaleń.
I. Pardyka - Akademia Świętokrzyska3.12Podstawy systemów operacyjnych – A. Silberschatz
System interpretacji poleceń
Wiele poleceń jest przekazywanych do systemuoperacyjnego za pośrednictwem instrukcji sterujących(control statements):
Tworzenie procesu i zarządzanie nim
Obsługa we/wyZarządzanie pamięcią pomocnicząZarządzanie pamięcią główną (operacyjną)Dostęp do systemu plików
OchronaPraca w sieci
3
I. Pardyka - Akademia Świętokrzyska3.13Podstawy systemów operacyjnych – A. Silberschatz
System interpretacji poleceń (cd.)
Program, który czyta i interpretuje polecenia jestnazywany:
Interpreterem poleceń (command-line interpreter)Powłoką (ang. Shell), np. w systemie UNIX
Jego zadaniem jest pobranie i wykonanie następnegopolecenia.
I. Pardyka - Akademia Świętokrzyska3.14Podstawy systemów operacyjnych – A. Silberschatz
Usługi systemu operacyjnego
Wykonanie programu (program execution) – załadowanie programudo pamięci i rozpoczęcie jego wykonywania.
Operacje we/wy (I/O operations) – ponieważ programy użytkownikanie mogą wykonywać operacji we/wy bezpośrednio, więc środki dorealizacji tych czynności musi mieć system operacyjny.Manipulowanie systemem plików (file-system manipulation) –możliwość czytania, zapisu, tworzenia i usuwania plików.
Komunikacja (communications) – wymiana informacji międzyprocesami wykonywanymi na tym samym komputerze lub nakomputerach połączonych siecią. Komunikacja zachodzi zapośrednictwem pamięci dzielonej (shared memory) lub zapośrednictwem przekazywania komunikatów (message passing).Wykrywanie błędów (error detection) – w CPU, pamięci,urządzeniach we/wy, programie użytkownika gwarantujepoprawność i spójność obliczeń.
I. Pardyka - Akademia Świętokrzyska3.15Podstawy systemów operacyjnych – A. Silberschatz
Dodatkowe funkcje systemu
Nie tyle pomagają użytkownikowi, co zapewniają poprawnąpracę systemu.
• Przydział zasobów (resource allocation) – wieluużytkownikom lub wielu zadaniom wykonywanym w tymsamym czasie.
• Rozliczanie (accounting) – przechowywanie danych o tym,którzy użytkownicy i w jakim stopniu korzystają z zasobówkomputera (aby wystawić rachunek lub dla celówstatystycznych).
• Ochrona (protection) – zapewnia, że dostęp do zasobówsystemu jest kontrolowany.
I. Pardyka - Akademia Świętokrzyska3.16Podstawy systemów operacyjnych – A. Silberschatz
Funkcje systemowe (System Calls)
Funkcje systemowe tworzą interfejs między wykonywanymprogramem, a systemem operacyjnym.
Zwykle dostępne na poziomie instrukcji asemblera.Języki zastępujące asembler w programowaniu systemowym (jak C,C++) pozwalają również na bezpośrednie korzystanie z tych funkcji.
Metody przekazywania parametrów pomiędzy wykonywanymprogramem a systemem operacyjnym.
Przekazywanie parametrów przez rejestry.Umieszczenie parametrów w tablicy i przekazanie adresu tablicy jakoparametru poprzez rejestr.Za pośrednictwem stosu (stack):
Program odkłada parametry na stosie: operacja: push (store)System operacyjny pobiera parametry ze stosu: operacja pop.
I. Pardyka - Akademia Świętokrzyska3.17Podstawy systemów operacyjnych – A. Silberschatz
Przekazywanie parametrów zapomocą tablicy
I. Pardyka - Akademia Świętokrzyska3.18Podstawy systemów operacyjnych – A. Silberschatz
Większość użytkowników postrzega system operacyjny przezpryzmat programów systemowych (a nie funkcji systemowych).
I. Pardyka - Akademia Świętokrzyska3.23Podstawy systemów operacyjnych – A. Silberschatz
Struktura MS-DOS
MS-DOS – został napisany pod kątem maksymalnejfunkcjonalności przy oszczędności kodu.
Brak podziału na modułyInterfejsy i poziomy funkcjonalne nie są wyraźniewydzielone.
I. Pardyka - Akademia Świętokrzyska3.24Podstawy systemów operacyjnych – A. Silberschatz
Warstwy MS-DOS
5
I. Pardyka - Akademia Świętokrzyska3.25Podstawy systemów operacyjnych – A. Silberschatz
Struktura systemu UNIX
UNIX – początkowo ograniczony przez cechy sprzętu.Składa się z dwóch odrębnych części:
Programów systemowychJądra
Do jądra należy wszystko, co znajduje się powyżejsprzętu, a poniżej interfejsu do funkcjisystemowych.Jądro zarządza systemem plików, planuje przydziałprocesora, zarządza pamięcią.
I. Pardyka - Akademia Świętokrzyska3.26Podstawy systemów operacyjnych – A. Silberschatz
Struktura systemu UNIX
I. Pardyka - Akademia Świętokrzyska3.27Podstawy systemów operacyjnych – A. Silberschatz
Podejście warstwowe
System operacyjny jest dzielony na warstwy: najniższazarządza sprzętem, najwyższa stanowi interfejsużytkownika.
Warstwa używa funkcji i usług należących tylko dowarstwy niższej (leżącej bezpośrednio pod danąwarstwą).
I. Pardyka - Akademia Świętokrzyska3.28Podstawy systemów operacyjnych – A. Silberschatz
Warstwy
I. Pardyka - Akademia Świętokrzyska3.29Podstawy systemów operacyjnych – A. Silberschatz
Struktura OS/2
I. Pardyka - Akademia Świętokrzyska3.30Podstawy systemów operacyjnych – A. Silberschatz
Koncepcja mikrojądra
W jądrze, zwanym mikrojądrem (microkernel) pozostawiasię niezbędne minimum funkcji, pozostałe przenosząc doprzestrzeni użytkownika.Komunikacja z modułami użytkownika za pośrednictwemkomunikatów.
Korzyści:łatwość rozszerzania mikrojądra.
łatwość przenoszenia kodu systemu do nowej architektury.zwiększona niezawodność (mniej kodu wykonuje się wtrybie jądra)zwiększone bezpieczeństwo.
6
I. Pardyka - Akademia Świętokrzyska3.31Podstawy systemów operacyjnych – A. Silberschatz
Jądro a mikrojądro systemu
I. Pardyka - Akademia Świętokrzyska3.32Podstawy systemów operacyjnych – A. Silberschatz
Struktura Windows NT Client-Server
I. Pardyka - Akademia Świętokrzyska3.33Podstawy systemów operacyjnych – A. Silberschatz
Maszyny wirtualne
Maszyna wirtualna (virtual machine) - wykorzystuje sięabstrakcję podejścia warstwowego: traktujemy sprzęt ijądro systemu operacyjnego tak, jakby razem stanowiłyhardware i taką maszynę nazywamy maszyną wirtualną.Maszyna wirtualna posiada interfejs identyczny jakinterfejs „gołego” sprzętu.System operacyjny może tworzyć złudzenie, że wieleprocesów pracuje na własnych procesorach, i z własną(wirtualną) pamięcią.
I. Pardyka - Akademia Świętokrzyska3.34Podstawy systemów operacyjnych – A. Silberschatz
Maszyny wirtualne
I. Pardyka - Akademia Świętokrzyska3.35Podstawy systemów operacyjnych – A. Silberschatz
Maszyny wirtualne (cd.)
Zasoby komputera fizycznego są dzielone pomiędzymaszyny wirtualne.
Planowanie przydziału procesora (CPU) może wywoływaćwrażenie, że każdy użytkownik ma własny procesor.
Zwykła końcówka konwersacyjna do pracy w podzialeczasu przejmuje rolę wirtualnej konsoli operatorskiej.
I. Pardyka - Akademia Świętokrzyska3.36Podstawy systemów operacyjnych – A. Silberschatz
Modele systemu
Non-virtual Machine Virtual Machine
7
I. Pardyka - Akademia Świętokrzyska3.37Podstawy systemów operacyjnych – A. Silberschatz
Maszyna wirtualna Javy
Program języka Java po kompilacji przyjmuje formę kodubajtowego (bytecode) niezależnego od platformy, naktórej jest wykonywany przez wirtualną maszynę Javy -Java Virtual Machine (JVM).JVM składa się z:
- programu ładującego klasy (class loader)- programu weryfikującego klasy (class verifier)
- interpretera wykonującego (runtime interpreter)
I. Pardyka - Akademia Świętokrzyska3.38Podstawy systemów operacyjnych – A. Silberschatz
Maszyna wirtualna Javy
I. Pardyka - Akademia Świętokrzyska3.39Podstawy systemów operacyjnych – A. Silberschatz
Założenia projektowe systemuoperacyjnego
Cele użytkownika – system operacyjny powinien być:wygodny w użyciu,łatwy do nauki,niezawodny,bezpieczny,szybki.
Cele systemowe – system operacyjny powinien być:łatwy do zaprojektowania,implementacji i pielęgnowaniaelastyczny,niezawodny,wolny od błędówwydajny.
I. Pardyka - Akademia Świętokrzyska3.40Podstawy systemów operacyjnych – A. Silberschatz
Mechanizm a polityka
Mechanizmy określają, jak czegoś dokonać, a politykadecyduje o tym co ma być wykonane.Oddzielenie polityki od mechanizmów jest bardzo ważnązasadą pozwalającą uzyskiwać maksimum elastycznościprzy zmianie decyzji składających się na politykę.
I. Pardyka - Akademia Świętokrzyska3.41Podstawy systemów operacyjnych – A. Silberschatz
Implementacja systemu
Dawniej system operacyjny był pisany w całości w językuasemblera, obecnie może być pisany w językachwyższego poziomu.Kod napisany w języku wyższego poziomu:
Może powstawać szybciej.
Jest bardziej zwarty.Jest łatwiejszy do zrozumienia i sprawdzenia (debug).
System operacyjny jest znacznie łatwiejszy doprzenoszenia (instalowania na innym sprzęcie), jeślizostał napisany w języku wysokiego poziomu.
I. Pardyka - Akademia Świętokrzyska3.42Podstawy systemów operacyjnych – A. Silberschatz
Generowanie Systemu (SYSGEN)
Systemy operacyjne są tak projektowane, aby można jebyło instalować na maszynach dowolnej klasy; systemmusi być jednak konfigurowany na komputerze danejklasy.Program konfigurujący (generujący system) SYSGENpotrzebuje informacji na temat konfiguracji sprzętu.Booting – startowanie komputera przez ładowanie jądrasystemu.Bootstrap program – kod zapisany w ROM, który potrafizlokalizować jądro, załadować je do pamięci i uruchomić.