Struktury systemów operacyjnych

Podobne dokumenty
Architektura i administracja systemów operacyjnych

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

Działanie systemu operacyjnego

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

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Wprowadzenie do systemów operacyjnych

ochrona w systemie operacyjnym

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

Komputery przemysłowe i systemy wbudowane

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

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

System komputerowy. System komputerowy

Działanie systemu operacyjnego

Struktury systemów operacyjnych

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Jądro systemu operacyjnego

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

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

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

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

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

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

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

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

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

Tomasz Greszata - Koszalin

Architektura komputerów

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

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

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

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

Monitor maszyn wirtualnych

1. Etapy rozwoju systemów komputerowych

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

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

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

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

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

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Linux Kernel. Wprowadzenie

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

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

TECHNOLOGIE INFORMACYJNE

Podstawy programowania. Wprowadzenie

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Systemy operacyjne III

I. Zasady bezpieczeństwa podczas pracy z komputerem

Tworzenie oprogramowania

Podstawy. Pamięć wirtualna. (demand paging)

Systemy operacyjne. Paweł Pełczyński

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

1. Zasady bezpieczeństwa podczas pracy z komputerem

Android - wprowadzenie. Łukasz Przywarty

Sieciowe Systemy Operacyjne

Systemy operacyjne. część 1. Artur Gramacki Instytut Informatyki i Elektroniki. Zalecana literatura

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Struktury systemów operacyjnych

EXSO-CORE - specyfikacja

WINDOWS NT. Diagram warstw systemu Windows NT

System operacyjny MS-DOS

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. matt@gynsoft.net

ATSOFTWARE DMS. Elektroniczna archiwizacja

Kernel Kompilacja jądra

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Produkty. ESET Produkty

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

Systemy operacyjne. dr inż. Jerzy Sas.

TRX API opis funkcji interfejsu

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

Galileo - encyklopedia internetowa Plan testów

Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Globalna firma oferująca skalowalne składowanie i ochronę danych

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Systemy operacyjne III

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

dr inż. Jarosław Forenc

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Wywoływanie procedur zdalnych

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

POSIX ang. Portable Operating System Interface for Unix

System plików. Warstwowy model systemu plików

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

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

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Automatyczne testowanie jądra Linuksa

Kurs Zaawansowany S7. Spis treści. Dzień 1

Transkrypt:

Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013

Cele wykładu 1. Opis usług dostarczanych przez OS 2. Sposób dostarczania usług przez OS 3. Opis różnych możliwych struktur OS

Usługi systemów operacyjnych 1. OS tworzy środowisko do wykonywania programów 2. Część usług OS ma ułatwić życie użytkownikom: Interfejs użytkownika (ang. UI): graficzny (GUI), linia komend (CLI), batch Uruchamianie programów: ładowanie, nadzorowanie, komunikaty o błędach Operacje I/O (WEJ/WYJ): programy mogą żądać komunikacji z urządzeniami/plikami

Usługi systemów operacyjnych 2. Część usług OS ma ułatwić życie użytkownikom: Zarządzanie plikami: zapisywanie, usuwanie, wyszukiwanie, prawa dostępu Łączność: komunikacja w sieciach i między procesami Detekcja błędów: Możliwe źródła: pamięć, CPU, urządzenia I/O, programy użytkowników W zależności od rodzaju błędu OS podejmuje odpowiednie działania w celu zapewnienia ciągłego działania systemu

Usługi systemów operacyjnych 3. Część usług OS ma zapewnić wydajne działanie systemu przez zarządzanie zasobami Dystrybucja zasobów: wiele użytkowników/zadań musi mieć przydzielone zasoby Rodzaje zasobów: cykle CPU, pamięć główna, urządzenia I/O, przestrzeń dyskowa Księgowość : przechowywanie informacji o działaniach użytkowników i przydzielonych im zasobów Zapewnianie bezpieczeństwa: systemy sieciowe i adresowane do wielu użytkowników Ochrona dostępu do wszystkich zasobów Bezpieczeństwo: uwierzytelnianie użytkowników, ochrona przed nieuprawnionymi operacjami I/O

Usługi systemów operacyjnych

Wywołania systemowe Programowy interfejs pomiędzy programami a usługami systemowymi, zapewniany prze OS Zazwyczaj napisany w języku wysokiego poziomu (C/C+ +) Zazwyczaj wywoływane przez Interfejs programistyczny aplikacji (API) niż przez wywołanie bezpośrednie Przykłady: Win API, POSIX API dla systemów opartych o POSIX (parwie wszytkie typy UNIX, Linux, i Mac OS X), i Java API dla Java virtual machine (JVM)

Wywołania systemowe Przykładowe wywołania systemowe w przypadku kopiowania plików

Implementacja wywołań systemowych Interfejs wywołań systemowych wywołuje wołanie systemowe w OS i zwraca jego status (wraz z ewentualnymi wynikami) Nie trzeba znać szczegółów wywołania: Wystarczy wiedza o: zasadach wywołania, celu wywołania Większość szczegółów ukryta w API

Implementacja wywołań systemowych

Wywołania systemowe przekazywanie parametrów Zazwyczaj oprócz nazwy potrzeba przekazać parametr do wywołań systemowych (np. adres pliku) Trzy sposoby przekazywania parametrów: Przez rejestry (wada: ograniczona przestrzeń) Jako blok pamięci (adres pamięci przekazywany przez rejestr) głównie Linux Odłożenie parametrów na stos (aplikacja), zdjęcie przez system operacyjny

Wywołania systemowe przekazywanie parametrów

Typy wywołań systemowych Kontrola procesów Zarządzanie plikami np.: stwórz/usuń proces; przydziel/zwolnij pamięć; zakończ/przerwij; załaduj np.:stwórz/usuń; otwórz/zamknij; czytaj/pisz; ustaw atrybuty Zarządzanie urządzeniami np.: Zażądaj/zwolnij urządzenie; czytaj/zapisz

Typy wywołań systemowych Utrzymywanie informacji: Komunikacja: np.: ustaw/pobierz czas; ustaw/pobierz dane systemu np.: stwórz/usuń połączenie Ochrona: np.: nadaj/odmów uprawnień

Wywołania systemowe

Użycie w programach

Programy systemowe Programy systemowe tworzą wygodne środowisko dla użytkownika (zarządzanie plikami itp.) Widoczne elementy OS to zazwyczaj programy systemowe

Programy systemowe Czasami stanowią interfejsy do wywołań systemowych Zastosowania: Zarządzanie plikami Informacje o systemi Modyfikacja plików Narzędzia programistyczne

Programy systemowe Usługi (procesy w tle): sprawdzanie dysku, aktualizacje itp. również są programami systemowymi

Projektowanie OS Nie ma uniwersalnego algorytmu Niektóre podejścia okazują się skuteczne Należy zdać sobie sprawę z : Celów i specyfikacji Rodzaju platformy sprzętowej Wyważeniu celów użytkowników i celów systemu operacyjnego (łatwość projektowania, tworzenia i utrzymania, wydajność, elastyczność mała ilość błędów)

Projektowanie OS Rozdzielenie zasad: Co ma zostać zrobione? W jaki sposób to zrobić? Rozdzielenie tych dwóch punktów pozwala na elastyczność gdy zmienia się jeden z nich

Implementacja OS Duża różnorodność języków: Niskiego poziomu (początkowo) Specjalistyczne: AGOL PL/1 (później) Wysokiego poziomu C/C++ (obecnie)

Implementacja OS Duża różnorodność języków: Niskiego poziomu (początkowo) Specjalistyczne: AGOL PL/1 (później) Wysokiego poziomu C/C++ (obecnie)

Implementacja OS OS do ogólnych zastosowań jest bardzo złożonym programem Dlatego potrzebne jest wprowadzenie struktury

Struktura OS Struktura warstwowa Każda warstwa korzysta wyłącznie z warstw leżących poniżej

Struktura OS Application Program File System messages Interprocess Communication user mode messages memory managment microkernel hardware Podejście microkernel Device Driver CPU scheduling kernel mode

Struktura OS Struktura modułowa