Działanie systemu operacyjnego

Transkrypt

Działanie systemu operacyjnego
Działanie systemu operacyjnego
11/3/2005
Elementy systemu
operacyjnego
Działanie
systemu operacyjnego
!
Elementy systemu operacyjnego
Jądro
Obsługa urządzeń
Procesy i program
Fragment systemu operacyjnego, który stanowi
interfejs z użytkownikiem to interpreter poleceń,
czyli powłoka systemu operacyjnego (shell)
!
!
Jego zadaniem jest umożliwienie komunikacji między
użytkownikiem a maszyną
Nowoczesne interpretery realizują to za pomocą
graficznego interfejsu użytkownika (Graphic User
Interface, GUI)
!
Obiekty, którymi manipuluje się na ekranie są
reprezentowane przez ikony
2/12
Interpreter graficzny
!
Jądro
Jego głównym elementem jest zarządca okien
(window manager)
!
!
!
©2005 R. Robert ‘RoG@j’ Gajewski
!
Przydziela on fragmenty ekranu i przechowuje informacje,
która aplikacja związana jest z oknem
Gdy aplikacja chce wyświetlić komunikat w oknie informowany jest o tym zarządca
Gdy naciśniemy myszkę zarządca sprawdza położenie
kursora i zawiadamia odpowiednią aplikację
Część wewnętrzna systemu operacyjnego jest
nazywana jądrem (kernel)
!
!
!
!
!
!
3/12
©2005 R. Robert ‘RoG@j’ Gajewski
4/12
Obsługa urządzeń
!
!
!
!
!
5/12
©2005 R. Robert ‘RoG@j’ Gajewski
Zarządzanie pamięcią
Drugi element jądra to zestaw programów obsługi
urządzeń (device driver)
!
Jednym z elementów jest zarządca plików (file manager)
Pliki gromadzone są w pakietach zwanych katalogami
(directory) lub folderami (folders)
Ta struktura może być hierarchiczna
Zarządca plików nadzoruje operacje na plikach
Podstawa to udostępnienie pliku do otwarcia – informację o
tym przechowuje się w deskryptorze pliku (file descriptor)
Operacje na pliku dokonuje się zgodnie z deskryptorem
!
Program komunikuje się ze sterownikami
Każdy taki program jest zaprojektowany dla danego typu
urządzeń
Dzięki temu można uniezależnić obsługę urządzeń od
szczegółów ich budowy
System operacyjny można uniezależnić od konkretnych
urządzeń peryferyjnych
Ich obsługa będzie zależeć od sterowników
©2005 R. Robert ‘RoG@j’ Gajewski
(C)2005 R. Robert "RoG@j" Gajewski
Kolejny element jądra to zarządca pamięcią
(memory manager)
!
!
!
!
!
6/12
Jego zadanie to koordynacja wykorzystania pamięci
głównej
To łatwe zadanie, gdy jest realizowany tylko jeden program
Jeśli wymagana pamięć jest większa od dostępnej
tworzona jest pamięć wirtualna (virtual memory)
Moduł szeregujący lub planista (scheduler)
Moduł ekspediujący lub dyspozytor (dispatcher)
©2005 R. Robert ‘RoG@j’ Gajewski
1
Działanie systemu operacyjnego
11/3/2005
Uruchamianie systemu
!
Prawdziwe komputery…
Jak uruchamia się system operacyjny?
!
!
!
!
!
!
Dokonuje się to za pomocą procedury ładowania
początkowego lub rozruchowej (boot strapping)
Jednostkę centralną konstruuje się w taki sposób, że po
włączeniu do licznika rozkazów ładuje się określoną
wielkość
Ta porcja zapisana jest w pamięci stałej ROM
Proste urządzenia sterowane mikroprocesorami mają w
zasadzie jedynie pamięć ROM
Wykonywany jest bowiem tylko jeden program
!
W ‘prawdziwych’ komputerach jedynie niewielka
część pamięci to ROM
Mały program, który jest tam zapisany na stałe to
program ładujący lub rozruchowy (bootstrap)
!
!
!
!
!
7/12
©2005 R. Robert ‘RoG@j’ Gajewski
8/12
Proces
!
!
!
!
!
©2005 R. Robert ‘RoG@j’ Gajewski
Różnice proces - program
Rozróżnienie pojęciowe programu i czynności
polegającej na wykonywaniu programu
!
!
Program to statyczny ciąg rozkazów
Wykonywanie programu to czynność dynamiczna
Ta czynność nosi nazwę procesu (process)
Proces zawiera informacje o bieżącym stanie wykonania
zwane stanem procesu (process state)
Stan procesu to jakby fotografia systemu komputerowego
w danej chwili
©2005 R. Robert ‘RoG@j’ Gajewski
!
!
!
!
!
!
11/12
©2005 R. Robert ‘RoG@j’ Gajewski
!
Moduł szeregujący (planista)
Moduł ekspediujący (dyspozytor)
Dyspozytor to część jądra, która dba o to, by były
wykonywane odpowiednie procesy
!
Moduł szeregujący przechowuje w pamięci tablice
procesów (process table) z informacjami o
wszystkich procesach
Procesy mogą być w dwóch stanach
!
Koordynacja działania procesów to zadanie systemu
operacyjnego
Komunikacja między procesami to komunikacja
międzyprocesowa (interprocess communication)
Dyspozytor
Koordynację procesów wykonują:
!
!
!
(C)2005 R. Robert "RoG@j" Gajewski
!
!
12/12
Wykonanie następuje w kwantach (quantum, time slice)
Procedura zmiany aktualnie wykonywanych procesów to
przełączanie procesów (process switch)
Po wykonaniu kwantu system generuje sygnał
zwany przerwaniem (interrupt)
!
Proces jest gotowy (ready) jeśli jest w stanie, który
umożliwia jego wykonanie
Proces jest oczekujący (waiting) jeśli jego wykonanie
odłożono na później
©2005 R. Robert ‘RoG@j’ Gajewski
Dwóch użytkowników może w tym samym czasie edytować
dwa różne dokumenty wykorzystując ten sam program
System operacyjny będzie utrzymywał jedną kopię
programu, z której będą korzystać użytkownicy w swoich
kwantach czasu
10/12
Administrowanie procesami
!
Jeden program może być związany z wieloma
procesami
!
!
9/12
Wykonuje się on automatycznie po włączeniu komputera
Jednostka centralna przenosi dane z określonego miejsca
pamięci masowej (dysku) do pamięci operacyjnej RAM
Po tej operacji kontrolę przejmuje system operacyjny
Najczęściej zachodzi próba czytania systemu z… dyskietki
Można sobie wyobrazić system ładowany z CD / DVD
Jednostka centralna przerywa działanie
Wtedy uruchamia się program obsługi przerwań
(interrupt handler)
Dyspozytor znowu przejmuje kontrolę…
©2005 R. Robert ‘RoG@j’ Gajewski
2