Systemy operacyjne. Paweł Pełczyński

Podobne dokumenty
Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

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

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

Wstęp do Informatyki. Klasyfikacja oprogramowania

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

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

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 205 aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.

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

Wprowadzenie do systemów operacyjnych

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

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

Podstawowe zagadnienia

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

Działanie systemu operacyjnego

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

Wprowadzenie do systemów operacyjnych

System komputerowy. System komputerowy

Informatyka. informatyka i nauki komputerowe (computer science)

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

ZADANIA SYSTEMÓW OPERACYJNYCH

Składowe systemu komputerowego

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

Systemy operacyjne. Literatura: A. Silberschatz, J.L. Peterson, P.B. Galwin, Podstawy systemów operacyjnych, WNT, Warszawa 2006

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 205 aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.

Działanie systemu operacyjnego

System operacyjny komputera Informacje podstawowe

4. Procesy pojęcia podstawowe

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

System operacyjny System operacyjny

Systemy operacyjne III

Czujniki obiektowe Sterowniki przemysłowe

4. Procesy pojęcia podstawowe

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

System operacyjny wstęp

Podstawy Informatyki Systemy operacyjne

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

1. Co to jest system operacyjny?

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

Działanie komputera i sieci komputerowej.

Budowa systemów komputerowych

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Sieciowe Systemy Operacyjne

Systemy operacyjne Charakterystyka systemów operacyjnych

Systemy Operacyjne wprowadzenie

Systemy operacyjne III

Systemy operacyjne. Zadania systemu operacyjnego. System komputerowy. Wprowadzenie. Dr inż. Ignacy Pardyka

LEKCJA TEMAT: Zasada działania komputera.

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

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

Systemy Operacyjne - wprowadzenie

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

1. Etapy rozwoju systemów komputerowych

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

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

Procesy, wątki i zasoby

Paweł Skrobanek. C-3, pok

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Technologie informacyjne (2) Zdzisław Szyjewski

Jądro systemu operacyjnego

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Architektura i administracja systemów operacyjnych

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

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

Struktury systemów operacyjnych

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

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Prezentacja systemu RTLinux

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Systemy Operacyjne. informacje dodatkowe

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Technologie informacyjne - wykład 3 -

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

KARTA KURSU. Systemy operacyjne

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

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

KARTA MODUŁU KSZTAŁCENIA

Systemy operacyjne. Tomasz Lewicki. marzec WWSIS, Wrocław. Tomasz Lewicki (WWSIS, Wrocław) Systemy operacyjne marzec / 25

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Zarządzanie procesami i wątkami

Urządzenia wejścia-wyjścia

Architektura systemów informatycznych. system operacyjny podstawowe pojęcia, budowa

projektowanie systemu

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Systemy Operacyjne. informacje dodatkowe

Informatyka, systemy, sieci komputerowe

Modelowanie procesów współbieżnych

Transkrypt:

Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1

Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie pamięcią Systemy plików Bezpieczeństwo oraz ochrona 2

Literatura A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, wydanie III, WNT, Warszawa, 2000. A. Robbins, N. H. F. Beebe, Programowanie skryptów powłoki, Helion 2005, D. P. Bovet, M. Cesati, Linux kernel, Wydawnictwo RM, Warszawa, 2001. 3

Definicja systemu operacyjnego System operacyjny (ang. skrót OS Operating System) - oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika. 4

Zadania systemu operacyjnego planowanie oraz przydział czasu procesora poszczególnym zadaniom kontrola i przydział pamięci operacyjnej dla uruchomionych zadań dostarczanie mechanizmów do synchronizacji zadań i komunikacji pomiędzy zadaniami obsługa sprzętu oraz zapewnienie równolegle wykonywanym zadaniom jednolitego, wolnego od interferencji dostępu do sprzęt zarządzanie systemem plików ustalanie połączeń sieciowych 5

Cechy charakterystyczne System operacyjny stanowi swego rodzaju interfejs pomiędzy komputerem a człowiekiem Wiele systemów operacyjnych posiada środowiska graficzne ułatwiające komunikacje maszyny z użytkownikiem 6

Komponenty systemu komputerowego System operacyjny jest warstwą w schemacie logicznym systemu komputerowego. Pozwala aplikacjom użytkownika na dostęp do sprzętu w ujednolicony sposób, tworząc abstrakcję sprzętu: plik, pamięć wirtualna, proces. Źródło: http://pl.wikipedia.org 7

Komponenty wieloużytkownikowego systemu komputerowego Źródło: http://codex.cs.yale.edu/avi/os-book/os7/slide-dir/index.html 8

Klasyfikacja systemów operacyjnych Przydział czasu procesora poszczególnym zadaniom: - s. o. czasu rzeczywistego (RTOS) - s. o. czasowo niedeterministyczne Realizacja przełączania zadań - s. o. z wywłaszczaniem zadań - s. o. bez wywłaszczania zadań Rodzaj sprzętu, na którym są instalowane - s. o. otwarte - s. o. wbudowane 9

Zadanie, proces, wątek Zadanie użtkownika program do uruchomienia Proces egzemplarz wykonywanego programu, posiada unikalny numer, który go jednoznacznie identyfikuje, PID (ang. process IDentifier), dzięki czemu możliwe jest rozróżnienie wielu różnych procesów wykonujących jednocześnie ten sam kod programu, system operacyjny przydziela procesowi zasoby, np. pamięć i czas procesora Wątek jest rodzajem procesu, wykonywanego współbieżnie w obrębie jednego zadania. Różnica między zwykłym procesem a wątkiem polega na współdzieleniu przez wszystkie wątki uruchomione w jednym zadaniu przestrzeni adresowej oraz wszystkich struktur systemowych 10

Systemy jedno- i wieloprocesowe oraz jedno- i wieloużytkownikowe System operacyjny jednoprocesowy brak zaimplementowanych mechanizmów wieloprocesowości, brak możliwości uruchamiania różnych aplikacji w tym samym czasie System operacyjny wieloprocesowy zaimplementowane mechanizmy wieloprocesowości, możliwe korzystanie z kilku aplikacji jednocześnie System operacyjny jednoużytkownikowy przeznaczony dla komputerów osobistych, pozwala na jednoczesną pracę pojedynczego użytkownika System operacyjny wieloużytkownikowy zazwyczaj system instalowany w stacji roboczej, z możliwością podłączenia wielu terminali 11

Budowa systemu operacyjnego System operacyjny składa się z trzech głównych elementów: jądro powłoka system plików 12

Jądro systemu operacyjnego (ang. kernel) Jądro systemu operacyjnego można scharakteryzować następująco: Jest to część systemu przebywająca na stałe w pamięci Wykonuje się w trybie uprzywilejowanym Zarządza zasobami komputera Udostępnia interfejs programom użytkownika w postaci wywołań systemowych. 13

Jądro systemu operacyjnego Jądro składa się z następujących elementów funkcjonalnych: planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami Dodatkowo: modułu zapewniającego synchronizację i komunikację pomiędzy zadaniami modułu obsługi przerwań i zarządzania urządzeniami modułu obsługi pamięci, zapewniającego przydział i ochronę pamięci innych funkcji 14

Zarządzanie zasobami w wieloprocesowym systemie operacyjnym Aby zapobiec tzw. interferencji procesów organizuje się dostęp do sprzętu, plików, pamięci itp. poprzez ustanowienie zasobów systemowych. Zadania użytkownika używają systemu operacyjnego jako strażnika zarządcy zasobów. Zadania niskopoziomowe systemu operacyjnego podczas zarządzania zasobami komputera: tworzenie deskryptora zasobu, usuwanie deskryptora zasobu, realizacja żądania przydziału, zwolnienie i odzyskiwanie zasobu. 15

Zarządzanie zasobami w wieloprocesowym systemie operacyjnym Zadania logiczne zarządzania zasobami: przydział zasobów, synchronizacja dostępu do zasobów, ochrona i autoryzacja dostępu do zasobów, odzyskiwanie zasobów, gromadzenie danych o wykorzystaniu zasobów. 16

Rozwój systemów operacyjnych Początkowo koszt komputera był wysoki w porównaniu z kosztem pracy ludzi z niego korzystających. Główny cel stojący przed systemem, to maksymalizacja wykorzystania sprzętu (procesora, pamięci masowych, drukarek). Stosowano rozwiązania typu: przetwarzanie wsadowe, wieloprogramowość, spooling. 17

Rozwój systemów operacyjnych Obecnie koszt komputera jest niski w porównaniu z kosztem pracy ludzi z niego korzystających. Cel stojący przed systemem to stworzenie środowiska zapewniającego jak największą wygodę i produktywność użytkowników. Realizowana jest praca interaktywna, praca interakcyjna z wieloma programami, graficzne interfejsy użytkownika + wielowątkowość. 18

Historia rozwoju systemów operacyjnych Komputery bez systemu operacyjnego Systemy wsadowe Systemy wykorzystujące buforowanie i spooling Wieloprogramowe systemy wsadowe Systemy z podziałem czasu Systemy komputerów osobistych Systemy równoległe i rozproszone Systemy czasu rzeczywistego 19

Historia rozwoju systemów operacyjnych brak systemu Programista rezerwuje czas komputera Wczytuje program z czytnika kart perforowanych lub taśmy magnetycznej Kompiluje program i uruchamia program Drukarka drukuje wyniki Wady: Duża część czasu spędzana na przygotowaniu programu do uruchomienia Nieefektywne wykorzystanie czasu pracy systemu Zalety: - w przypisanym czasie programista ma pełną kontrolę nad komputerem 20

Historia rozwoju systemów operacyjnych systemy wsadowe Programista zostawia zadanie operatorowi w postaci kart perforowanych lub innego nośnika Grupowanie razem czynności o podobnym charakterze (np. kompilacja) Zadania są łączone we wsad (ang. Batch) i wykonywane Programista po pewnym czasie otrzymuje wyniki Program monitora (pierwowzór systemu operacyjnego) Wczytuje program użytkownika do pamięci Przekazuje mu sterowanie Po zakończeniu pracy program użytkownika zwraca sterowanie do monitora Zaleta: - lepsze wykorzystanie sprzętu Wada: - programista nie ma kontroli nad wykonywaniem zadania 21

Historia rozwoju systemów operacyjnych systemy wykorzystujące buforowanie lub spooling Buforowanie jednoczesne wykonywanie obliczeń i operacji wejścia/wyjścia dla jednego zadania Spooling (ang: Simulateneous Peripheral Operation On-Line) - jednoczesne wykonywanie operacji wejścia/wyjścia dla jednego zadania i obliczeń dla innych zadań - wykorzystuje szybką pamięć dyskową - program i dane z czytnika kart są przesyłane na dysk - program do wykonania wczytany z dysku, wyniki zapisywane na dysk - wyniki z dysku przesyłane na urządzenie wyjściowe, np. drukarkę Cechy: - zrównoleglenie operacji wczytywania programu, obliczeń i wyprowadzania danych - algorytmy szeregowania (ang. scheduling) zarządzają pulą zadań na dysku 22

Historia rozwoju systemów operacyjnych wieloprogramowe systemy wsadowe Wiele zadań równocześnie przebywa w pamięci i współdzieli procesor (wykonuje się współbieżnie) Cechy: Dzielenie czasu procesora (wznawianie zadań, synchronizacja i komunikacja) Dzielenie pamięci operacyjnej Dzielenie urządzeń (program kanałowy, system przerwań) 23

Historia rozwoju systemów operacyjnych systemy z podziałem czasu Procesor wykonuje na przemian wiele zadań, przy czym przełączanie następuje tak często, że użytkownicy mogą współdziałać z programem podczas jego wykonania Cechy: Interakcja użytkownika z systemem komputerowym System plików dostępnych bezpośrednio (dostęp do programów i danych) Wymiana zadania między pamięcią i dyskiem (ang. swapping) 24

Historia rozwoju systemów operacyjnych systemy komputerów osobistych Pierwsze systemy operacyjne komputerów osobistych np. MS-DOS Cechy: brak ochrony plików brak ochrony pamięci brak wielozadaniowości 25

Historia rozwoju systemów operacyjnych systemy równoległe Systemy wieloprocesorowe z więcej, niż jednym procesorem Cechy: Systemy ściśle powiązane - procesory dzielą pamięć i zegar zwiększona przepustowość i niezawodność Symetryczna lub asymetryczna wieloprocesowość Symetryczna wieloprocesowość: każdy procesor wykonuje identyczną kopię systemu operacyjnego, wiele procesów wykonuje się jednocześnie bez spadku wydajności Asymetryczna wieloprocesowość: każdy procesor wykonuje przydzielone mu zadanie, procesor główny szereguje i przydziela pracę procesorom podrzędnym 26

Historia rozwoju systemów operacyjnych systemy rozproszone Rozdzielenie obliczeń pomiędzy wiele komputerów Cechy: systemy luźno powiązane - każdy procesor ma lokalną pamięć procesory komunikują się ze sobą poprzez sieć Korzyści: podział zasobów, obciążenia, niezawodność 27

Historia rozwoju systemów operacyjnych systemy czasu rzeczywistego Służą jako sterowniki urządzeń o ściś le okreś lonym znaczeniu Cechy: Ostre wymagania czasowe Sprzężenie zwrotne Przykłady: sterowanie procesem przemysłowym, monitorowanie stanu zdrowia pacjenta 28