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