Podstawy Informatyki Systemy operacyjne



Podobne dokumenty
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

System operacyjny wstęp

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Systemy operacyjne. Program przedmiotu

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

4. Procesy pojęcia podstawowe

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Podstawowe zagadnienia

Wprowadzenie do systemów operacyjnych

System operacyjny komputera Informacje podstawowe

Systemy operacyjne III

Celem wykładu jest przedstawienie ogólnych informacji o systemie operacyjnym jako składowej oprogramowania komputera. Omawiana jest zatem jego rola i

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

dr inż. Grażyna KRUPIŃSKA D-10 pokój 227 WYKŁAD 12 WSTĘP DO INFORMATYKI

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Systemy operacyjne III

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Działanie systemu operacyjnego

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Działanie systemu operacyjnego

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Prezentacja systemu RTLinux

Informatyka. informatyka i nauki komputerowe (computer science)

Programowanie współbieżne Wykład 2. Iwona Kochańska

Opis efektów kształcenia dla modułu zajęć

System operacyjny System operacyjny

4. Procesy pojęcia podstawowe

Działanie systemu operacyjnego

Urządzenia wejścia-wyjścia

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

LEKCJA TEMAT: Zasada działania komputera.

PRZEWODNIK PO PRZEDMIOCIE

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Czujniki obiektowe Sterowniki przemysłowe

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

System operacyjny MACH

Zarządzanie procesorem

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Informatyki Układ przerwań

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Wstęp do Informatyki. Klasyfikacja oprogramowania

Planowanie przydziału procesora

Systemy operacyjne III

Mechanizmy pracy równoległej. Jarosław Kuchta

Jądro systemu operacyjnego

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Systemy wbudowane. Paweł Pełczyński

System komputerowy. System komputerowy

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Materiały pomocnicze 1

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Planowanie przydziału procesora

Procesy, wątki i zasoby

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Planowanie przydziału procesora

Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Wprowadzenie do systemu Minix

Budowa Mikrokomputera

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Architektura i administracja systemów operacyjnych

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

projektowanie systemu

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

Architektura komputerów

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawy Informatyki Systemy sterowane przepływem argumentów

Mikroprocesor Operacje wejścia / wyjścia

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

ARCHITEKTURA PROCESORA,

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

1. Etapy rozwoju systemów komputerowych

Transkrypt:

Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi

Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych 3 Procedura TAS Zasuwka Semafor

Definicja wg Alana Shaw Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych jest to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania. Stosowane wymiennie określenia: system operacyjny, system nadzorczy, system nadrzędny, system sterujący.

Inne definicje Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Abraham Silberschatz jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny. Andrew Tanenbaum jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania.

Czym jest system operacyjny Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Nie ma precyzyjnego określenia, które składniki wchodzą w skład systemu operacyjnego jako jego części. Ogólnie w strukturze SO wyróżnia się: jądro, programy systemowe. Jądro zbiór modułów, które ukrywają szczegóły sprzętowej realizacji systemu komputerowego, udostępniając pewien zestaw usług, wykorzystywanych między innymi do implementacji programów systemowych.

jako pośrednik Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych pośredniczy pomiędzy użytkownikiem a sprzętem, dostarczając wygodne środowisko do wykonywania programów.

Efektywność a wygoda Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych dostarcza tzw. interfejs użytkownika, który umożliwia interakcję z systemem komputerowym jako: zbiór poleceń lub system okienkowy wraz z odpowiednim menu. Dwa ogólne, niezależne cele projektowe systemów operacyjnych to: efektywność zarządzania zasobami, (kluczowy w rozwoju rodziny systemów uniksowych) wygodny interfejs dla użytkownika (charakterystyczny dla systemów rodziny MS Windows).

Wprowadzenie Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Użytkownik końcowy korzysta z programów (aplikacji), na potrzeby których przydzielane są zasoby systemu komputerowego. Przydziałem zasobów zarządza system, dzięki czemu można uzyskać: stosunkowo duży stopień niezależności programów od sprzętu, odpowiedni poziom bezpieczeństwa i sprawności działania. Program użytkownika Kompilator języka wyższego rzędu Asembler/Makroasembler Bootstrap Loader/Linker Przerwania Układ we/wy DMA Procesor PaO Zasoby programowe Jądro systemu Sprzęt

Zadania systemu operacyjnego (1) Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 1. Udostępnianie systemu plików. 2. Udostępnianie środowiska do wykonywania programów: mechanizm ładowania i uruchamiania programów dostarczenie struktur danych do organizacji wykonywania programu oraz zachowywania i odtwarzania stanu przetwarzania (procesy i przełączanie kontekstu), mechanizmy synchronizacji i komunikacji procesów udostępnienie mechanizmów komunikacji pomiędzy procesami kolejki komunikatów, strumienie, pamięć współdzielona oraz mechanizmów synchronizacji procesów (np. semafory). zarządzanie czasem procesora, pamięcią, ochrona danych i pamięci.

Zadania systemu operacyjnego (2) Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 3. Sterowanie urządzeniami wejścia-wyjścia: odpowiednie moduły sterujące (integrowane z systemem operacyjnym) inicjalizują pracę urządzeń zewnętrznych, pośredniczą w efektywnym przekazywaniu danych pomiędzy jednostką centralną a tymi urządzeniami. 4. Obsługa podstawowej klasy błędów: system operacyjny reaguje na błędy użytkowników, np. niedostępność zasobów, brak prawa dostępu, programistów, np. błąd dzielenia przez zero, naruszenie ochrony pamięci, nieprawidłowy kod rozkazu, systemu, np. błąd braku strony, błąd magistrali.

Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Podział ze względu na sposób przetwarzania 1 Systemy przetwarzania bezpośredniego systemy interakcyjne występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem, wykonywanie zadania użytkownika rozpoczyna się zaraz po jego przedłożeniu. 2 Systemy przetwarzania pośredniego systemy wsadowe występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania, niemożliwa jest ingerencja użytkownika w wykonywanie zadania.

Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Podział ze względu na dopuszczalną liczbę zadań 1 Systemy jednozadaniowe niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego. 2 Systemy wielozadaniowe dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym zgodnie z pewną strategią przydzielany jest procesor. Zwolnienie procesora następuje w wyniku: żądania przydziału dodatkowego zasobu, zainicjowania operacji wejścia/wyjścia, przekroczenia ustalonego limitu czasu (kwantu czasu), uzyskania gotowości przez inne zadanie o wyższym priorytecie.

Podział systemów wielozadaniowych Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Wielozadaniowe systemy operacyjne mogą oferować wywłaszczanie. W systemie z wywłaszczaniem jest możliwe przerwanie wykonywania aktywnego procesu i przeniesienie go z powrotem do kolejki kontrolowanej przez algorytm szeregowania, bez wywłaszczania zadania muszą przełączać się dobrowolnie (proces aktywny jest przenoszony do kolejki procesów oczekujących tylko wtedy, gdy sam przerwie swoje działanie; dopóki tego nie uczyni lub nie zakończy działania, żaden inny proces nie otrzyma dostępu do procesora).

Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Podział ze względu na liczbę użytkowników 1 Systemy dla jednego użytkownika zasoby przeznaczone są dla jednego użytkownika, np. w przypadku komputerów osobistych nie ma mechanizmów autoryzacji dostępu, mechanizmy ochrony informacji są ograniczone. 2 Systemy wielodostępne wielu użytkowników może korzystać z zasobów systemu system operacyjny gwarantuje ochronę przed niepowołaną ingerencją.

Inne rodzaje systemów operacyjnych Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 1 Systemy czasu rzeczywistego (ang. real-time systems) zorientowane na przetwarzanie z uwzględnieniem czasu zakończenie zadania, tzw. linii krytycznej (ang. deadline). 2 Systemy sieciowe i rozproszone (ang. network and distributed systems) umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających zbiór komputerów jest zintegrowany w sieć komputerową, komputery nie współdzielą fizycznie zasobów. 3 komputerów naręcznych tworzone dla rozwiązań typu PDA, czy telefonów komórkowych podlegają istotnym ograniczeniom zasobowym.

Inne rozwiązania Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 1 pracujące na maszynie wirtualnej system wirtualny w postaci procesu działającego pod kontrolą innego systemu operacyjnego. 2 Język programowania wykorzystywany jako system operacyjny. W komputerach 8-bitowych często rolę powłoki systemu operacyjnego spełniał interpreter poleceń języka BASIC. W dużych systemach komputerowych, np. serii Odra 1300 implementowany był język Jean, który mógł pracować zarówno pod kontrolą innego systemu operacyjnego (np. GEORGE 3), jak również samodzielnie. Językami programowania, których implementacja może stanowić samodzielne systemy operacyjne są również FORTH (stosowany w systemach sterowania automatyki przemysłowej) oraz Smalltalk.

Zasoby systemu komputerowego Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych Zasób systemu zbiór układów wewnętrznych maszyny cyfrowej oraz zbiór programów pomocniczych i funkcji bibliotecznych niezbędnych do realizacji procesów. Zasoby dzieli się na: sprzętowe: procesor, pamięć operacyjna, urządzenia zewnętrzne, system plików, programowe: biblioteki funkcji i programy pomocnicze.

Zasoby podzielne Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych Zasób podzielny taki, który oddać innemu zadaniu do wykorzystania a następnie powrócić do obsługi zadania pierwszego (można przerywać korzystanie z danego zasobu), np. procesor. Podział czasu procesora(time-sharing)

Zasoby niepodzielne Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych Zasób niepodzielny taki, z którego może korzystać na raz tylko jedno zadanie (innemu zadaniu można przydzielić zasób dopiero, gdy aktualnie z niego korzystające zakończy używanie go), np. drukarka.

Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych Sposób ochrony zasobów niepodzielnych Przed skorzystaniem z zasobu niepodzielnego proces musi poprosić system operacyjny o ten zasób Procedura wejścia do zasobu: 1 sprawdzić, czy zasób o który prosi proces jest dostępny 2 jeśli tak przydzielić go procesowi i odnotować ten fakt; jeśli nie odmówić procesowi i go wstrzymać (do czasu zwolnienia zasobu). Po wykorzystaniu zasobu proces oddaje zasób do systemu Procedura wyjścia z zasobu: 1 odnotować fakt zwrócenia zasobu przez proces do puli systemu.

Przykład Plan wykładu Zasoby systemu komputerowego Zasoby podzielne i niepodzielne Sposoby ochrony zasobów niepodzielnych Proces 1 i Proces 2 korzystają z jednego niepodzielnego zasobu: drukarki.

Procedura TAS (Test And Set) Procedura TAS Zasuwka Semafor Najprostszy sposób realizacji procedury wejścia do zasobu najczęściej realizowana jako pojedynczy rozkaz maszynowy. Wykorzystanie zmiennej przyjmującej dwie wartości: 0 zasób dostępny, 1 zasób zajęty. TAS m Zablokuj dostęp do zmiennej m jeżeli m = 0, to m = 1 licznik rozkazów = licznik rozkazów + 2 w przeciwnym razie licznik rozkazów = licznik rozkazów + 1 Odblokuj dostęp do zmiennej m

Ochrona zasobu z użyciem TAS Procedura TAS Zasuwka Semafor Procedura wejścia ET: TAS M SOB ET Procedura wyjścia M := 0

Ochrona zasobu z użyciem TAS Procedura TAS Zasuwka Semafor Procedura wejścia ET: TAS M SOB ET Procedura wyjścia M := 0 Przykład ochrony drukarki (początkowo dr = 0): Proces 1 ET1: TAS dr SOB ET1 Drukowanie POB St0 ŁAD dr Proces 2 ET2: TAS dr SOB ET2 Drukowanie POB St0 ŁAD dr

Wady instrukcji TAS Procedura TAS Zasuwka Semafor Czekanie aktywne. Brak porządkowania procesów. Możliwe zagłodzenie procesu.

Zasuwka Plan wykładu Procedura TAS Zasuwka Semafor Zmienna binarna p wraz ze stowarzyszoną z nią kolejką f(p) Procedura wejścia do zasobu jeżeli p = 0, to p := 1 w przeciwnym razie zawieś program i dołącz do kolejki f(p) Procedura wyjścia z zasobu jeżeli f(p) 0, to wprowadź kolejny program z kolejki w stan aktywny i usuń go z kolejki w przeciwnym razie p := 0

Semafor Plan wykładu Procedura TAS Zasuwka Semafor Zmienna całkowita e(s) wraz ze stowarzyszoną z nią kolejką f(s). Zmiennej można nadać wartość początkową i można się odwoływać tylko za pośrednictwem dwu niepodzielnych operacji: P oraz V. Interpretacja wartości zmiennej e(s): e(s) > 0 określa liczbę wolnych zasobów danego typu e(s) = 0 oznacza zasób wyczerpany e(s) < 0 stwierdza istnienie kolejki o długości e(s)

Semafor - procedury P oraz V Procedura TAS Zasuwka Semafor Procedura wejścia P(s) e(s) = e(s) 1 jeżeli e(s) < 0, to zmień stan procesu pytającego na zawieszony wprowadź proces do kolejki f(s) Procedura wyjścia V(s) e(s) = e(s) + 1 jeżeli e(s) 0, to wyprowadź z kolejki f(s) pierwszy proces i ustaw jego stan na aktywny

Przykład Plan wykładu Procedura TAS Zasuwka Semafor Wykorzystanie semafora dla ochrony zasobu niepodzielnego: drukarki. Założenia: Dwa procesy chcą skorzystać z jednej drukarki. Istnieje semafor dr i zmienna e 0 (dr) = 1. Proces 1 P(dr) Drukowanie V(dr) Proces 2 P(dr) Drukowanie V(dr)

Semafory - uzupełnienie Procedura TAS Zasuwka Semafor Semafory najczęściej stosuje się do synchronizacji dostępu do zasobów systemowych współdzielonych przez kilka zadań, (aby zapobiec problemom wynikającym z prób jednoczesnego dostępu i modyfikacji danego zasobu). są zwykle implementowane w obszarze jądra systemu operacyjnego, co pozwala na zaawansowaną obsługę zadań chcących uzyskać dostęp do zasobu: wstrzymywanie ich do czasu zwolnienia semafora powiązanego z danym zasobem, wznowienie pracy zadania oczekującego na semaforze, utrzymywanie semafora nawet po zakończeniu zadania, które go utworzyło.