Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Podobne dokumenty
Jądro systemu operacyjnego

System komputerowy. System komputerowy

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

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

Struktury systemów operacyjnych

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

System operacyjny komputera Informacje podstawowe

Temat. Budowa systemu komputerowego Zakładka 1. Elementy tworzące stanowisko komputerowe.

Wprowadzenie do systemów operacyjnych

System komputerowy, rodzaje, jednostki pamięci

Temat. Budowa systemu komputerowego. Zakładka 1. Elementy tworzące stanowisko komputerowe.

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

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

Sieciowe Systemy Operacyjne

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

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

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

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

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

Architektura systemów komputerowych. Przetwarzanie potokowe I

Q E M U.

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

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

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

Systemy operacyjne. Paweł Pełczyński

Dr inż. hab. Siergiej Fialko, IF-PK,

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

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

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

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Inżynieria Programowania - Projektowanie architektoniczne

Systemy operacyjne III

Wykład 9: Polimorfizm i klasy wirtualne

Struktury systemów operacyjnych

Architektura i administracja systemów operacyjnych

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

PRZEWODNIK PO PRZEDMIOCIE

Działanie systemu operacyjnego

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

(Pluggable Authentication Modules). Wyjaśnienie technologii.

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

Zarządzanie pamięcią operacyjną

Działanie systemu operacyjnego

OSGi Agata Hejmej

1. Etapy rozwoju systemów komputerowych

Podstawy Techniki Komputerowej. Temat: System operacyjny komputera - charakterystyka

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

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

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

1. Co to jest system operacyjny

Podstawy technologii informacyjnej. Beata Kuźmińska

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

PRZEWODNIK PO PRZEDMIOCIE

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

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Mikrojądra. Omówienie i przegląd

projektowanie systemu

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

Rok akademicki: 2016/2017 Kod: IIN s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Działanie systemu operacyjnego

LEKCJA TEMAT: Zasada działania komputera.

Budowa Mikrokomputera

Tworzenie bezpiecznego środowiska kont shellowych

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

Użytkownik Użytkownik Użytkownik Użytkownik... kompilatory edytor testu syst. bazy danych gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Historia modeli programowania

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

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 13 ARCHITEKTURA SYSTEMU WINDOWS. Opracował Sławomir Zieliński

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

System zarządzający grami programistycznymi Meridius

Wykład Ćwiczenia Laboratorium Projekt Seminarium

ochrona w systemie operacyjnym

Linux -- u mnie działa!

Systemy Operacyjne - struktura

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

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

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

System operacyjny MACH

Systemy Operacyjne struktura

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Architektura komputerów

Programowanie w języku Python. Grażyna Koba

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

L4Ka::Pistachio Mikrojądra mogą być wydajne

1. Co to jest system operacyjny - wstęp

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Spis treści. Wstęp Rozdział 1. Zasady pracy z komputerem Rozdział 2. Budowa komputera... 20

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Rodzaje pamięci masowych by Silas Mariusz

Technologia informacyjna. Urządzenia techniki komputerowej

Transkrypt:

Struktura systemu operacyjnego

Schemat budowy systemu operacyjnego model warstwowy

Schemat budowy systemu operacyjnego części składowe

Większość systemów operacyjnych opiera się o koncepcję jądra, która w naturalny sposób wynika z modelu warstwowego. W takim wypadku jądro jest po prostu nazwą nadaną najniższej warstwie w pełni implementowanej jako program wykonywany przez CPU.

Najważniejsze zadania jądra systemowego: - zarządzanie procesami - zarządzanie pamięcią operacyjną - obsługa systemu wejścia i wyjścia - zarządzanie plikami i przestrzenią dyskową - uwierzytelnianie i ochrona - implementacja* interfejsu poleceń *Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) w informatyce proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.

Jądro monolityczne

Jądro monolityczne Często stosowane w systemach Unix-owych. Wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem pracującym w pełni (wszystkie funkcje) w trybie jądra. Zaletami tej techniki są: prostota, stabilność oraz łatwość komunikacji pomiędzy różnymi członami jądra (to przecież w tym wypadku jeden program!)

Jądro monolityczne Dodatkowo, systemy z jądrem monolitycznym zazwyczaj działają szybciej (szczególnie w komputerach o małej liczbie CPU) niż ich główna alternatywa - mikrojądro. Główna wada natomiast wynika z problemów w rozwijaniu takiego jądra (ze względu na jego wielkość) oraz dodawaniu do niego procedur obsługi nowych urządzeń peryferyjnych. Dodanie obsługi nowego urządzenia wymaga kompilacji całego jądra, co zajmuje czas i jest trudne do wykonania przez nawet zaawansowanego użytkownika.

Jądro monolityczne W czystej postaci jądro monolityczne występuje tylko w zastosowaniach niszowych, natomiast w dużej mierze takie rozwiązanie stosują systemy Linux, OpenBSD czy FreeBSD - jądra tych systemów umożliwiają ładowanie modułów, co jest sprzeczne z koncepcją jednego dużego programu, ale daje możliwość stosowania driver'ów, czyli dodawania obsługi nowego sprzętu bez konieczności ponownej kompilacji całego jądra.

Mikrojądro

Mikrojądro W tej technice z monolitycznego jądra zostaje tylko jego podstawowa część (odpowiedzialna za zarządzanie procesami oraz pamięcią). Części odpowiedzialne za bardziej wyrafinowane funkcje (m.in. obsługę urządzeń peryferyjnych) są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy w trybie użytkownika. W większości przypadków takie bloki funkcjonalne mogą być ładowane i resetowane nie przerywając pracy systemu komputerowego, ponadto zwiększanie funkcjonalności jądra (i w konsekwencji - całego systemu) jest możliwe bez wprowadzania jakichkolwiek zmian w jego podstawowej części. Główną wadą takiego podejścia jest wolniejsza praca systemu.

Jądro hybrydowe

Jądro hybrydowe Jest to kompromis między architekturą jądra monolitycznego i mikrojądra. W krytycznych usługach - np. stos sieci - usługi są na stałe wkompilowane w główny kod jądra, inne usługi pozostają oddzielone od głównego jądra i działają jako serwery (w przestrzeni jądra). Dzięki temu rozwiązaniu możliwe jest zachowanie wydajności jądra monolitycznego dla kluczowych usług.

Jądro hybrydowe Wydzielenie takiego rodzaju jądra budzi kontrowersje wśród specjalistów. Wielu z nich uważa, iż w porównaniu do podobnego jądra monolitycznego, pojęcie to jest niczym innym jak dobrym marketingiem. Pomysłem stojącym za tym nowym pseudo-rodzajem jądra jest struktura podobna do mikrojądra, ale zaimplementowana jak jądro monolityczne. W przeciwieństwie do mikrojądra, wszystkie (lub prawie wszystkie) usługi wykonywane są w przestrzeni jądra. Podobnie jak w jądrze monolitycznym, nie ma strat w wydajności wywołanych przepływem komunikatów mikrojądra. Jednakże, podobnie jak w jądrach monolitycznych, nie ma korzyści wynikających z umieszczenia usług w przestrzeni użytkownika.

Interpreter poleceń Kolejnym elementem SO jest interpreter poleceń, który może być zaimplementowany w jądrze systemu lub przyjmować postać odrębnego programu np. interfejsu graficznego

W zależności jakie jądro jest zastosowane w systemie dany system operacyjny może cechować: Wielozadaniowość wiele zadań, dzielenie czasu mikroprocesora Wielodostępność wiele użytkowników może pracować w tym samym czasie Wielowątkowość wykonanie jednego procesu w ramach kilku wątków Wielobieżność kilka procesów ma dostęp do interfejsu jądra i przez to wszystkie mają dostęp do funkcji systemowych Skalowalność możliwość łatwej rozbudowy elementów systemu operacyjnego. Ważne jest żeby w miarę zwiększania objętości systemu nie spadała jego wydajność Wywłaszczanie ta technika pozwala na wstrzymanie jednego procesu, aby umożliwić uruchomienie drugiego.