Systemy operacyjne. dr inż. Jerzy Sas. e-mail: jerzy.sas@pwr.wroc.pl



Podobne dokumenty
Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

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

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. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

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

Budowa systemów komputerowych

LEKCJA TEMAT: Zasada działania komputera.

Struktura systemów komputerowych

Technologia informacyjna. Urządzenia techniki komputerowej

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura i administracja systemów operacyjnych

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

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

Architektura komputerów. Układy wejścia-wyjścia komputera

Systemy operacyjne III

Informatyka. informatyka i nauki komputerowe (computer science)

Architektura systemu komputerowego

Wprowadzenie do systemów operacyjnych

Urządzenia wejścia-wyjścia

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

Mikroprocesor Operacje wejścia / wyjścia

Systemy operacyjne system przerwań

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

Architektura systemów komputerowych. dr Artur Bartoszewski

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

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

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

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Architektura komputera

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

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

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

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

Systemy operacyjne. Program przedmiotu

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

Jądro systemu operacyjnego

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Struktury systemów operacyjnych

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Układy wejścia/wyjścia

dr inż. Jarosław Forenc

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

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

System komputerowy. System komputerowy

Metody obsługi zdarzeń

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

Organizacja typowego mikroprocesora

Systemy operacyjne. Paweł Pełczyński

Architektura komputerów

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

System plików. Warstwowy model systemu plików

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

ARCHITEKTURA PROCESORA,

2. Architektura mikrokontrolerów PIC16F8x... 13

Systemy operacyjne. Król Tomasz

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

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

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

Przerwania, polling, timery - wykład 9

PRZEWODNIK PO PRZEDMIOCIE

Technologie informacyjne - wykład 2 -

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

Podstawy technologii informacyjnej. Beata Kuźmińska

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

System operacyjny System operacyjny

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Architektura komputerów

Systemy operacyjne Charakterystyka systemów operacyjnych

Architektura systemów komputerowych

PROGRAMOWALNE STEROWNIKI LOGICZNE

Rejestr HKEY_LOCAL_MACHINE

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Informatyki Systemy operacyjne

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

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

Architektura komputerów

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

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

Budowa Mikrokomputera

drklaus 1 Model funkcjonalny komputera struktura, funkcje, komputer dr inż. Rafał KLAUS STRUKTURA I DZIAŁANIE KOMPUTERA

SYSTEMY WEJŚCIA-WYJŚCIA

Monitor maszyn wirtualnych

Architektura komputerów II - opis przedmiotu

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Systemy Operacyjne sprzęt

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

KARTA MODUŁU KSZTAŁCENIA

Transkrypt:

Plan wykładu Systemy operacyjne dr inż. Jerzy Sas e-mail: jerzy.sas@pwr.wroc.pl 1. Wprowadzenie - podstawowe pojęcia, rys historyczny, architektura systemu komputerowego, architektura systemu operacyjnego, współpraca z elementami sprzętowymi 2. Organizacja i zarządzanie pamięcią. 3. Zarządzanie procesami - synchronizacja i komunikacja między procesami. 4. System plików - struktura, katalogi, organizacja logiczna, organizacja fizyczna, system uprawnień, operacje w systemie plików. 5. GUI i sterowanie obsługą zdarzeń na przykładzie SO Windows 6. Wspomaganie przetwarzania rozproszonego, komunikacja z wykorzystaniem gniazd, rozproszone systemy plików, zdalne wywoływanie procedur. 1

Literatura: Stallings W. Systemy operacyjne. Struktura i zasady budowy, PWN 2006 Silberschatz A., Peterson J.L., Galvin P.B., Podstawy systemów operacyjnych, WNT Warszawa, 1998, 2001, 2003 Biernat J., Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 1999 Skorupski A., Podstawy budowy i działania komputerów, WKŁ, Warszawa, 1997 Bach M.J., Budowa systemu operacyjnego UNIX, WNT, Warszawa, 1995 Lister A.M., Eager R.D., Wprowadzenie do systemów operacyjnych,wnt Warszawa 1994 Madeja L., Ćwiczenia z systemu Linux. Podstawy obsługi systemu, Mikom, Warszawa 1999 Rochkin M.J., Programowanie w systemie UNIX dla zaawansowanych, WNT, Warszawa 1993 2

Model warstwowy komputera Software Aplikacje Języki wysokiego poziomu Asembler np. Pascal, Modula, Java, C++, Fortran Specyficzny dla danego CPU System operacyjny np. DOS, Unix, Windows (95..) Hardware Język wewnętrzny Układy logiczne Układy elektroniczne Kod zero-jedynkowy Organizacja logiczna Realizacja fizyczna 3

System komputerowy = sprzęt + oprogramowanie + dane System operacyjny program, który działa pomiędzy sprzętem komputerowym a użytkownikiem komputera (osobą, innym komputerem, programem wykonywanym w komputerze). Cel: wygoda użytkowania wydajne wykorzystanie zasobów systemu (sprzętu, nośników danych, innych programów). Zasoby systemu komputerowego: procesor (czas procesora), pamięć (obszar w pamięci), urządzenia zewnętrzne, urządzenia pamięci masowej (obszary w pamięci), urządzenia we-wy (konsole, klawiatury, terminale, drukarki, skanery itp.) System komputerowy tworzy środowisko do wykonywania programów użytkowych 4

System operacyjny jako dystrybutor zasobów: rozwiązywanie konfliktów dostępu do zasobów, nadzorowanie i sterowanie dołączonych do systemu komputerowego urządzeń System operacyjny jako dostawca usług dla programów użytkowych: uniezależnienie od własności dołączonego sprzętu, wykonywanie operacji związanych ze sprzętem w imieniu programów użytkowych, dostarczenie mechanizmów współpracy (komunikacji i synchronizacji) wykonywanych równocześnie programów użytkowych. Elementy współczesnego systemu operacyjnego: jądro systemu operacyjnego ta część oprogramowania SO, która działa w sterowanym systemie stale (część rezydentna), programy systemowe programy realizujące funkcje systemu operacyjnego, ale uruchamiane tylko czasowo do wykonania określonego zadania (np. programy obsługi rzadko występujących zdarzeń jak obsługa awaryjnego zamykania systemu po sygnale od UPS, program montowania/odmontowania wymiennego zasobu, programy obsługi zdalnych terminali itp.) programy komunikacji z użytkownikiem: o (monitory programy sterowania wykonywaniem programów wsadowych), o interpretery komend, o programy obsługi środowiska graficznego (tzw. GUI Graphical User Interface) 5

Przykłady systemów (mikro)komputerowych wyposażonych w SO: mikroprocesor jednoukładowy sterujący pracą telefonu komórkowego, mikroprocesorowy układ sterowania pracą nowoczesnego odbiornika telewizyjnego, konsola do gier telewizyjnych, komputer sterujący pracą centrali telefonicznej, router sprzętowy Przykłady systemów komputerowych, w których SO nie jest konieczny: mikroprocesor sterujący pracą silnika spalinowego, mikroprocesorowy układ sterujący pralką automatyczną, mikroprocesorowy zamek szyfrowy Historia rozwoju systemów operacyjnych: systemy o charakterze bezpośrednim, proste systemy wsadowe, wieloprogramowane systemy wsadowe, systemy z podziałem czasu, systemy równoległe, systemy dla komputerów osobistych, systemy rozproszone, systemy czasu rzeczywistego systemy kieszonkowe 6

7

Bloki funkcjonalne ALU I/O M CC Otoczenie DMA CPU Memory Input/Output Direct Memory Access Arithmetic-Logic Unit (Datapath) Central Control Central Processing Unit 8

Cykl rozkazowy Pobranie (Fetch) Wykonanie (Execution) Wykonanie rozkazu: dekodowanie, wykonanie operacji, przesłanie wyniku (do rejestru lub pamięci operacyjnej, 9

Stany procesora Restart Zatrzymanie cyklu Pobranie rozkazu Wykonanie rozkazu Rozkaz Halt Sygnał przerwania Zapamiętanie stanu programu 10

Bloki funkcjonalne procesora Licznik rozkazów (PC) Rejestr rozkazów (IR) Pamięć operacyjna Blok sterowania (M) Sygnały sterujące Znaczniki Rejestry procesora Jednostka arytmetyczno-logiczna (ALU) Blok operacyjny Procesor (CPU) 11

Przerwania SO wykonuje swoje funkcje w reakcji na sygnały o zaistnieniu sytuacji wymagających interwencji SO. Sygnały te mogą pochodzić od wykonywanych programów lub od sprzętu. Sygnały te nazywane są przerwaniami Przerwania obsługiwane są w specjalny sposób przez układy logiczne CPU Przerwanie powoduje czasowe zaniechanie wykonywania sekwencji rozkazów aktualnie realizowanego programu i przejście do programu obsługi przerwania Przerwania mogą nadchodzić z różnych źródeł. SO musi mieć możliwość zidentyfikowania źródła przerwania 12

Sygnał przerwania INTj vecj : RETI Program obsługi Program przerwania j 13

Zewnętrzne (interrupts) Źródła przerwań zdarzenia w modułach urządzeń we-wy, niezależne od wykonywanego programu np. wystąpienie błędu transmisji, nieoperatywność urządzenia, zakończenie akcji urządzenia Wewnętrzne (exceptions) zdarzenia związane z wykonywaniem rozkazów - fault (niepowodzenie) rozkaz może być powtórzony - trap (pułapka) rozkaz nie jest powtarzany (np. INT k) - abort (załamanie) ponowna inicjacja systemu np. błędna adresacja, niedozwolony kod operacji, naruszenie ochrony, wyjątek w czasie przełączania programów 14

Akcja procesora po przyjęciu przerwania Identyfikacja zgłoszenia - osobne wejścia - kod przerwania - polling Zapamiętanie stanu programu - stos - zmiana kontekstu Blokada zgłoszeń - obsługa programowa Powołanie programu obsługi - tablica wektorów - polling 15

Wektorowy system przerwań T[0]: T[j]: Wektor j Nowe PC PC Stos Tablica wektorów PSW Stare PC SP Stare PSW 16

Przerwania wielokrotne vec i vec j k i ENI ε: j σ: RETI RETI SP σ SP ε ε SP x x x 17

Przerwania wejścia-wyjścia Nowoczesne SO obsługują operacje we-wy asynchronicznie. Dla wykonania operacji we/wy program realizowany w procesorze (zazwyczaj procedura SO) programuje odpowiedni sterownik sprzętowy urządzenia Po zaprogramowaniu sterownika procesor kontynuuje wykonywanie swojego programu, wykonanie operacji we/wy jest nadzorowane przez sterownik urzadzenia Po zakończeniu wykonania operacji sterownik informuje o tym SO przez wygenerowanie odpowiedniego przerwania. SO rozpoznaje od którego urządzenia pochodzi przerwanie stosując metodę zależną od architektury podsystemu przerwań procesora. SO wykonuje akcje związane z obsługą zidentyfikowanego przerwania W tym systemie żądania wykonywania operacji związanej z danym urządzeniem muszą być kolejkowane. Kolejkowanie wymaga utrzymywania odpowiednich struktur danych opisujących oczekiwane żądania. Pewne urządzenia (np. klawiatura) mogą wymagać buforowania. Ich obsługa nie jest związana z wcześniejszym wystąpieniem żądania operacji przez jeden z biegnących w SO programów. 18

Tablica stanów urządzeń dla obsługi kolejkowania operacji Struktura DMA Direct Memory Access układ umożliwiający przeprowadzenie transmisji pomiędzy pamięcią a sterownikiem urządzenia zewnętrznego bez udziału procesora, wykorzystanie DMA wymaga istnienia w systemie specjalnych układów arbitrażu w przypadku konfliktu operacji dostępu ze strony procesora centralnego i układu DMA 19

Hierarchia pamięci: rejestry procesora, pamięć podręczna, pamięć operacyjna, dysk wirtualny, pamięć podręczna dysku magnetycznego, dysk magnetyczny, urządzenia archiwizujące (dyski optyczne, pamięci taśmowe) Pamięci podręczne: przyspieszają dostęp do danych w pamięci głównej, są znacznie szybsze ale droższe od pamięci głownej, wykorzystują zwykle spełnione założenie o wielokrotnym sekwencyjnym dostępie do tych samych danych oraz o seryjnym dostępie do danych z obszarów spójnych, przy sprawnym zarządzaniu pamięcią podręczną można uzyskać współczynnik trafień rzędu 80-99%. 20

Ochrona sprzętowa: zabezpiecza system operacyjny i jego zasoby przed zniszczeniem wskutek nieprawidłowego działania jednego z wykonywanych w systemie programów, zabezpiecza równolegle wykonywane programy przed zakłóceniami wywołanymi nieprawidłowym zachowaniem się jednego z działających w systemie programów, zapobiega zawłaszczeniu zasobów (w szczególności czasu procesora) przez jeden z wykonywanych w systemie programów. Techniki zabezpieczania sprzętowego: dualny tryb operacji (tryb użytkownika vs. tryb nadzorcy (monitora, systemu, uprzywilejowany) pewne instrukcje (np. instrukcje we/wy, instrukcje zmiany stanu trybu) mogą być wykonywane tylko w trybie nadzorcy, tryb nadzorcy jest sprzętowo ustawiany tylko przy wykonaniu przerwania kierującego egzekucję do procedury SO, wykonanie rozkazu zabronionego w trybie użytkownika spowoduje wywołanie odpowiedniego przerwania i skierowanie sterowania do odpowiedniej procedury SO. 21

ochrona pamięci przez ustalenie limitów obszaru adresowego przydzielonego programowi (rejestry: bazowy i graniczny) SO przydziela każdemu wykonywanemu programowi limity obszarów w przestrzeni adresowej, przed przekazaniem sterowania do programu SO ustawia jego rejestry bazowy i graniczny przy każdym dostępie do pamięci w trybie użytkownika sprzętowo sprawdzane jest czy adres pamięci mieści się w dopuszczalnym dla programu zakresie, jeśli nie generowany jest odpowiedni wyjatek, w ten sposób uzyskuje się również ochronę urządzeń i operacji we/wy ochrona jednostki centralnej przez sterowanie podziałem czasu: przed przekazaniem sterowania do programu SO programuje odpowiednio układ timera, po upływie zaprogramowanego czasu timer generuje przerwanie obsługiwane przez SO, procedura obsługi przerwania zegarowego decyduje czy i któremu z wykonywanych programów przydzielić następującą jednostkę czasu, SO ponownie programuje timer i przekazuje ponownie sterowanie wybranemu programowi. 22

Architektura systemu komputerowego na przykładzie PC 23

ROM-BIOS basic input/output system (zapisany w pamięci ROM) przeprowadzenie po restarcie podstawowych testów układów i urządzeń systemu, inicjalizacja pracy systemu programowanie układów programowalnych jak sterowniki DMA, timery, inicjacja wektorów przerwań, inicjalizacja ładowania systemu operacyjnego z urządzenie pamięci masowej dostarczenie podstawowych procedur obsługi przerwań związanych z obsługą urządzeń zainstalowanych na płycie systemowej, Sekwencja działań przy starcie systemu operacyjnego: inicjalizacja sprzętu przez procedury BIOS, załadowanie z określonego obszaru dołączonej pamięci masowej programu ładowania jądra systemu operacyjnego (ang. bootstrap), wykonanie programu ładowania systemu operacyjnego, uruchomienie procesu głównego (init), uruchomienie pozostałych procesów systemowych 24

Systemy czasu rzeczywistego stosowane do obsługi urządzeń i procesów wymagających natychmiastowej reakcji czas wykonania określonych operacji w SO musi być ściśle określony lub ograniczony, system wyposażony jest w specjalizowany interfejs czujników i mechanizmów wykonawczych w systemie działają w sposób ciągły procesy nadzorujące odczyt z czujników pamięć masowa jest z reguły ograniczona krytyczne dane przechowywane są w pamięci operacyjnej, a niektóre parametry w pamięci nieulotnej ROM, brak mechanizów o nieprzewidywalnym czasie działania lub reakcji, np. pamięci wirtualnej, brak rozbudowanego GUI lub GUI obsługiwane przez wydzielony procesor 25