1 / 23

Systemy operacyjne

Systemy operacyjne. Wykład nr 2: Struktura systemu komputerowego a system operacyjny. Piotr Bilski. Informacje wstępne. Omawiany system komputerowy zgodny z architekturą von Neumanna Zasadnicze elementy: procesor, sterowniki urządzeń i szyna systemowa

mervin
Télécharger la présentation

Systemy operacyjne

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systemy operacyjne Wykład nr 2: Struktura systemu komputerowego a system operacyjny Piotr Bilski

  2. Informacje wstępne • Omawiany system komputerowy zgodny z architekturą von Neumanna • Zasadnicze elementy: procesor, sterowniki urządzeń i szyna systemowa • Rozruch systemu komputerowego ma charakter sprzętowy

  3. Schemat systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna

  4. Start systemu komputerowego • Początkowo kontrolę nad systemem pełni program rozruchowy (bootstrap) • Znajduje się na ogół na płycie głównej w pamięci ROM lub podobnej • Określa stan początkowy wszystkich elementów systemu • Musi wiedzieć, gdzie jest system operacyjny

  5. Start systemu operacyjnego • Informacje o systemie operacyjnym oraz jego lokalizacji znajdują się w początkowym sektorze dysku twardego • Najważniejsze jest jądro – „ścisłe centrum” systemu operacyjnego • Pierwszym procesem musi być proces inicjujący wszystkie inne (np. init)

  6. Aplikacje Moduły obsługi sprzętu Procedury obsługi przerwań Jądro Schemat systemu operacyjnego • Modułowa budowa systemu ułatwia wprowadzanie zmian • Dąży się do minimalizacji jądra (mikrojądro)

  7. Systemy sterowane przerwaniami • Zajście zdarzenia sygnalizowane jest przerwaniem (interrupt) • Źródło zdarzenia może być sprzętowe lub programowe • Procedura obsługi przerwań systemu operacyjnego nazywana jest wywołaniem systemowym lub funkcją systemową

  8. Obsługa przerwań programowych • Gdy przerwania nie występują, system jest bezczynny • Zajście zdarzenia jest sygnalizowane za pomocą pułapki/wyjątku (trap/exception) • Przyczyną wyjątku jest błąd programowy (np. dzielenie przez zero) lub wymaganie obsługi programu użytkownika przez system operacyjny • Każde przerwanie ma własną procedurę

  9. Obsługa przerwań sprzętowych Obsługa PU CPU • Obsługa przerwania wymaga przejścia do konkretnego miejsca w pamięci (adres startowy procedury) • Wektor przerwań przechowuje wskaźniki do poszczególnych procedur Obsługa I/O Przesłanie wykonane Przesłanie wykonane Urządzenie we/wy bezczynne przesyła Zamówienie wejścia-wyjścia czas Zamówienie wejścia-wyjścia

  10. Wywołanie systemowe • Procedura systemu operacyjnego odpowiedzialna za wykonanie operacji (np. obsługę urządzenia) • Konieczne przechowywanie adresu przetwarzanego rozkazu • Obecnie najczęściej wykorzystuje się tu stos • Przykłady implementacji: rozkaz trap

  11. Schemat operacji wejścia-wyjścia • Współpraca procesora i sterownika urządzenia • Model synchroniczny i asynchroniczny • Gdy procesor czeka na zakończenie operacji wejścia/wyjścia, wykonuje rozkaz wait (lub równoważną pustą pętlę) • W systemie operacyjnym za czekanie odpowiada proces bezczynności

  12. Synchroniczne a asynchroniczne wejście/wyjście Proces zamawiający oczekiwanie Moduł obsługi urządzenia Procedura obsługi przerwania Sprzętowe przesyłanie danych Proces zamawiający oczekiwanie Moduł obsługi urządzenia Procedura obsługi przerwania Sprzętowe przesyłanie danych asynchroniczne synchroniczne

  13. Zachowanie procesora podczas przerwania • Synchroniczne • Specjalny rozkaz wejścia w pętlę czekania (wait) • Wada: tylko jedno urządzenie obsługiwane! • Asynchroniczne • Jeśli brak innych operacji do wykonania, to wejście w pętlę czekania • Jeśli są inne urządzenia do obsługi, trzeba je obsłużyć • Rozwiązanie wydajne, obecnie standard

  14. Obsługa wielu przerwań • Tablica stanów urządzeń pozwala przechowywać żądania dostępu do urządzeń, które nie mogą być obsłużone natychmiast Urządzenie: mysz Stan: odłączone Zamówienie na skaner Adres: xxxx Urządzenie: skaner Stan: zajęty Urządzenie: klawiatura Stan: bezczynna Zamówienie na CD-ROM Adres: yyyy Zamówienie na CD-ROM Adres: zzzz Urządzenie: CD-ROM Stan: zajęty

  15. Procedura obsługi przerwania • Identyfikacja urządzenia odpowiedzialnego za przerwanie • Pobranie informacji o stanie urządzenia z tablicy • Wykonanie odpowiedniej procedury • Oddanie sterowania programowi użytkownika lub systemowi operacyjnemu

  16. DMA a system operacyjny • Program użytkownika lub system operacyjny zgłasza żądanie komunikacji z szybkim urządzeniem wejścia-wyjścia (np. macierzą dyskową) • SO wybiera bufor do odczytu lub zapisu • Moduł obsługi urządzenia (device driver) konfiguruje jego rejestry • Sterownik DMA wykonuje resztę pracy

  17. Ochrona pamięci • Wieloprogramowość wymusza ochronę programów przed sobą • Współczesne systemy (Windows, Linux) zapewniają taką ochronę, starsze (DOS) – nie • Sprzęt powinien wykrywać takie sytuacje (pułapki!) – SO je obsługiwać

  18. Tryby pracy SO • Procesor wyposażony jest w bit trybu • Tryby mają na celu ochronę sprzętu i SO • Tryb użytkownika – obsługuje pracę programów użytkownika • Tryb nadzorcy – zarezerwowany dla SO • Programy użytkownika zlecają zadania dla SO (wywołania systemowe) • Przejście do wykonania programu obsługi przerwania (wektor przerwań) powoduje ustawienie sprzętu w tryb nadzorcy

  19. Ochrona wejścia-wyjścia • Rozkazy wejścia-wyjścia wykonuje tylko system operacyjny Monitor czytanie Przejście do monitora Powrót do użytkownika Wywołanie systemowe

  20. Ochrona pamięci • Podstawowej ochronie podlegają: • Wektor przerwań • Procedury obsługi przerwań • Dodatkowo programy są wzajemnie chronione • Wsparcie sprzętowe: rejestr bazowy i graniczny • Każdy wygenerowany adres jest weryfikowany!

  21. Ilustracja działania rejestrów Baza + granica Baza Pamięć Tak Adres Tak ≥ < procesor Nie Nie Błąd adresowania (obsługa systemu operacyjnego) Tylko SO ma dostęp do tych rejestrów!

  22. Ochrona procesora • Cel: zapobieganie zawieszeniom • Środek: czasomierz • Stały • Zmienny • Zastosowanie: systemy z podziałem czasu • Kwant czasu – ilość czasu przydzielona procesowi, użytkownikowi itp.

  23. Praca czasomierza • W ustalonych momentach generuje przerwanie • Umożliwia odebranie kontroli nad procesorem dowolnemu programowi • Związany z przełączaniem kontekstu • Używany do obliczania czasu systemowego

More Related