Systemy operacyjne III

Podobne dokumenty
Wprowadzenie do systemów operacyjnych

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

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

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

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

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

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

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

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

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

System operacyjny System operacyjny

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

Działanie systemu operacyjnego

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

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

Systemy operacyjne. Paweł Pełczyński

PRZEWODNIK PO PRZEDMIOCIE

Budowa systemów komputerowych

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

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

Czujniki obiektowe Sterowniki przemysłowe

System komputerowy. System komputerowy

Informatyka. informatyka i nauki komputerowe (computer science)

PRZEWODNIK PO PRZEDMIOCIE

LEKCJA TEMAT: Zasada działania komputera.

Podstawy Informatyki Systemy operacyjne

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

System operacyjny wstęp

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

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

Jądro systemu operacyjnego

Urządzenia wejścia-wyjścia

System operacyjny komputera Informacje podstawowe

Systemy operacyjne Charakterystyka systemów operacyjnych

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

Technologia informacyjna. Urządzenia techniki komputerowej

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Wstęp do Informatyki. Klasyfikacja oprogramowania

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

Systemy operacyjne. dr inż. Jerzy Sas.

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

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

Sieciowe Systemy Operacyjne

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

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

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Architektura komputerów II - opis przedmiotu

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

KARTA KURSU. Systemy operacyjne

Architektura i administracja systemów operacyjnych

Zarządzanie pamięcią operacyjną

Systemy operacyjne III

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

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

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Struktury systemów operacyjnych

1. Co to jest system operacyjny

1. Etapy rozwoju systemów komputerowych

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Komputer i urządzenia z nim współpracujące.

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Budowa Mikrokomputera

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

Architektura komputerów

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

Wstęp do Informatyki dla bioinformatyków

Podstawy programowania

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

ARCHITEKTURA PROCESORA,

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

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

Systemy operacyjne. Program przedmiotu

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

O historycznym systemie DOS. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

4. Procesy pojęcia podstawowe

Mikroprocesory rodziny INTEL 80x86

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

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

Systemy operacyjne III

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

Historia modeli programowania

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

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

Architektura komputera

Przegląd współczesnych systemów operacyjnych

Mikroprocesor Operacje wejścia / wyjścia

Technologie Informacyjne

4. Procesy pojęcia podstawowe

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Transkrypt:

Systemy operacyjne III Jan Kazimirski 1

Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji Przedstawienie problemów i wyzwań stojących przed projektantami współczesnych systemów operacyjnych 2

Literatura William Stallings, Systemy operacyjne. Struktura i zasady budowy, WNT, 2006 A. Silberschatz, J.L. Peterson, G. Gagne, Podstawy systemów operacyjnych. WNT, 2005 Maurice J. Bach Budowa systemu operacyjnego UNIX, WNT, 1995 U. Vahalia, Jądro systemu UNIX. Nowe horyzonty. WNT, Warszawa 2001. 3

Warunki zaliczenia Egzamin pisemny 50% Projekt zespołowy 50% Szczegóły dotyczące projektu zostaną umieszczone na platformie e-learningowej. 4

System operacyjny Program sterujący wykonywaniem aplikacji i działający jako interfejs pomiędzy aplikacjami a sprzętem komputerowym. 5

System operacyjny c.d. UŻYTKOWNIK APLIKACJE UŻYTKOWE SYSTEM OPERACYJNY SPRZĘŦ 6

Zadania systemu operacyjnego Zapewnienie środowiska do uruchamiania programów użytkowych (użytkownik końcowy) Środowisko do tworzenia oprogramowania (programista) Zarządzanie zasobami i kontrola dostępu do zasobów (pamięć, dysk, i/o) Wykrywanie i obsługa błędów oraz zbieranie statystyk. 7

Wykonywanie programów Wykonywanie czynności związanych z załadowaniem wykonywanego programu Przydział odpowiednich zasobów Kontrola błędów, śledzenie wykonywania programu Dodatkowe programy narzędziowe związane z obróbką danych 8

Rozwój oprogramowania Programy narzędziowe ułatwiające tworzenie i testowanie oprogramowania Warstwa abstrakcyjna oddzielająca programistę od szczegółów sprzętowych komputera Gotowe wysokopoziomowe interfejsy obsługi niektórych usług (system plików, podsystem sieci itp.) 9

Obsługa urządzeń we/wy Ukrywanie przed użytkownikiem szczegółów zarządzania poszczególnymi urządzeniami wejścia/wyjścia (sterowniki urządzeń) Przydział i kontrola dostępu poszczególnych procesów do odpowiednich urządzeń we/wy. 10

Dostęp do plików Ukrywanie przed użytkownikiem szczegółów sprzętowych pamięci masowej Ukrywanie przed użytkownikiem szczegółów implementacji systemu plików Kontrola dostępu do danych na dysku (ochrona danych przed niepowołanym dostępem) 11

Dostęp do systemu Kontrola dostępu do systemu autoryzacja użytkowników Kontrola dostępu do poszczególnych zasobów systemu Rozwiązywanie konfliktów związanych z rywalizacją procesów o zasoby 12

Wykrywanie i obsługa błędów Śledzenie wykonywanych procesów pod kątem sytuacji awaryjnych Wykrywanie i minimalizacja skutków błędów sprzętowych awaria pamięci, dysków itp. Obsługa błędów programowych np. dzielenie przez zero, błędy ochrony pamięci itp. 13

Statystyki Bieżąca kontrola pracy systemu Zbieranie informacji statystycznych w celu poprawiania wydajności pracy systemu. Zbieranie danych statystycznych w celach rozliczeniowych (systemy komercyjne obsługujące wielu użytkowników) 14

Ewolucja systemów operacyjnych 15

Komputery mechaniczne Maszyna analityczna (Charles Babbage 1792-1871) Projekt mechaniczny nie zakładał obecności systemu operacyjnego Pierwsza koncepcja programu komputerowego (Ada Lovelace). 16

I generacja komputerów (1945-55) Pierwsze komputery oparte na lampach, duże, bardzo wolne (jak na obecne standardy) Programowanie na poziomie maszyny przełączniki lub karty perforowane Komputery wykorzystywali zwykle tylko ich twórcy Brak systemu operacyjnego 17

II generacja komputerów (1955-65) Wprowadzenie tranzystorów zmniejszenie awaryjności. Produkcja i sprzedaż na większą skalę. Pojawienie się grupy użytkowników komputerów oraz administratorów. Komputery typu mainframe. 18

Systemy wsadowe Obsługa ręczna komputera powodowała przestoje (oczekiwanie na zadania). Praca wsadowa do komputera wprowadzano kilka zadań jednocześnie. Po zakończeniu jednego przechodził do następnego. Przygotowywanie zadań i drukowanie wyników było osobnym procesem wykonywanym na innej (tańszej) maszynie. 19

Monitor Program zarządzający systemem wsadowym Programy narzędziowe i funkcje biblioteczne Mechanizmy ochrony pamięci monitora Zegar kontrolujący czas wykonania programu Rozkazy uprzywilejowane i kontrola ich użycia System przerwań Tryby wykonywania programu: tryb jądra i tryb użytkownika 20

III generacja komputerów (1965-80) Produkcja na dużą skalę. Komputery ogólnego przeznaczenia (IBM S/360). Pierwsze złożone systemy operacyjne (OS/360). Wzrost złożoności sprzętu i tym samym systemu operacyjnego. 21

Systemy wsadowe wielozadaniowe Ładowanie zadań do systemu było procesem wolnym i powodowało przestoje. Rozwiązanie problemu: możliwość wykonywania innego zadania w trakcie operacji we/wy. Dalszy wzrost złożoności systemu operacyjnego ochrona pamięci, system przerwań. 22

Systemy z podziałem czasu Stosowanie systemów wsadowych prowadziło do małej efektywności programistów System z podziałem czasu jednoczesny dostęp wielu użytkowników (terminale). Dalszy wzrost wymagań co do systemu operacyjnego ochrona zasobów, szeregowanie zadań. 23

MULTICS Propozycja systemu operacyjnego z podziałem czasu: Możliwość obsługi wielu użytkowników na jednej maszynie Bardzo interesujące rozwiązania, problemy z realizacją Niektóre instalacje pracowały jeszcze do lat 90- tych 24

Minikomputery i UNIX 1961 komputer DEC PDP-1 rozpoczyna serię tanich minikomputerów Na komputerze PDP-7 Ken Thompson stworzył pierwszą wersję UNIX-a (uproszczony MULTICS). Gwałtowny rozwój UNIX-a (dostepny kod źródłowy) Wprowadzenie standardu POSIX. 25

IV generacja komputerów (1980- ) Mikrokomputery rozwój komputerów osobistych. Mikroprocesor 8080 i system CP/M. Lata 80-te komputer IBM PC i system DOS Pojawienie się systemów z graficznym interfejsem użytkownika (GUI). MS Windows początkowo nakładka na DOS. 26

Klasyfikacja systemów operacyjnych 27

Klasyfikacja SO Systemy interaktywne bezpośrednia komunikacja z użytkownikiem natychmiastowa realizacja zadania Systemy wsadowe rozdzielenie procesów przygotowania i przetwarzania zadania ograniczona kontrola użytkownika nad przetwarzaniem zadania 28

Klasyfikacja SO c.d. Systemy jednozadaniowe Zadania realizowane są kolejno Kolejne zadanie rozpoczynane jest dopiero po zakończeniu poprzedniego Systemy wielozadaniowe W systemie istnieje jednocześnie wiele zadań Zadania otrzymują dostęp do procesora zgodnie określoną strategią 29

Klasyfikacja SO c.d. Systemy dla jednego użytkownika zasoby przeznaczone są dla jednego użytkownika ograniczona ochrona zasobów Systemy wielodostępne dostęp dla wielu użytkowników jednocześnie ochrona zasobów przed nieautoryzowanym dostępem 30

Klasyfikacja SO c.d. Systemy czasu rzeczywistego zapewniające zachowanie czasu zakończenia zadań tzw. linii krytycznej. Systemy rozproszone wykorzystywanie wielu systemów komputerowych i rozproszonych zasobów Systemy urządzeń mobilnych znaczne ograniczenie zasobów 31

Systemy rozproszone Wykorzystanie środowiska złożonego z wielu komputerów do realizacji obliczeń architektura klient-serwer i zdalne wykonywanie procedur (RPC) lokalne klastry komputerowe środowiska gridowe 32

Podstawowe elementy komputera Procesor Mózg komputera. Wykonuje program. Pamięć Przechowuje program i dane. Urządzenia wejścia-wyjścia Kontakt komputera z użytkownikiem i światem zewnętrznym. 33

Procesor Pobiera i wykonuje instrukcje z pamięci. Pobiera i umieszcza dane w pamięci Steruje komunikacją z urządzeniami we/wy Posiada określoną listę rozkazów Współczesne procesory: superskalarność, potoki wykonawcze, pamięć podręczna. 34

Pamięć Przechowuje dane i program do wykonania Pamięć główna Wielopoziomowa pamięć podręczna Pamięć masowa Pamięci RAM i ROM Organizacja pamięci mechanizmy ochrony, segmentacja, stronicowanie. 35

Urządzenia wejścia/wyjścia Zaawansowane sterowniki urządzeń. System przerwań. Mechanizmy DMA. Duża różnorodność urządzeń, różne wymagania i szybkość Programy obsługi urządzeń. 36

Procesy Projektowanie SO Kluczowe zagadnienia Zarządzanie pamięcią Ochrona danych Zarządzanie i ochrona zasobów Struktura systemu 37

Procesy Proces instancja programu uruchomionego w komputerze. Zagadnienia projektowe: Synchronizacja procesów Błędy wzajemnego wykluczania Nieokreślone zachowanie programu Impas 38

Zarządzanie pamięcią Izolacja procesów Automatyczny przydział i zwalnianie pamięci dla procesów Dynamiczne zarządzanie pamięcią Ochrona dostępu do pamięci Długoterminowe przechowywanie danych 39

Bezpieczeństwo i ochrona danych Dostępność systemu ochrona przed przerwami w pracy Poufność danych użytkowników Integralność danych ochrona przed nieautoryzowanymi zmianami danych Weryfikacja autoryzacja użytkowników, kontrola poprawności danych i komunikatów 40

Zarządzanie zasobami Szeregowanie procesów przydział czasu procesora. Zróżnicowany czas reakcji priorytet procesów Optymalizacja szeregowania procesów pod kątem maksymalnego wykorzystania zasobów. 41

Struktura SO Wzrost złożoności systemu operacyjnego 1963 system CTSS 32k słów po 36 bitów 1964 OS/360 ponad milion rozkazów 1975 Multics ponad 20 milionów rozkazów Windows NT 4.0 ~16 milionów wierszy kodu Windows 2000 ~32 miliony wierszy kodu 42

Struktura systemu c.d. Modularność kodu systemu operacyjnego Struktura hierarchiczna Izolacja poszczególnych elementów (architektura mikrojądra i jądra wielowątkowe) Abstrakcyjne poziomy realizujące różne podzbiory funkcji 43

Współczesny SO Architektura mikrojądra Wielowątkowość Wielozadaniowość symetryczna Rozproszone systemy operacyjne Projektowanie obiektowe 44