INFORMATYKA dla kierunku MECHATRONIKA

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

System komputerowy. System komputerowy

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

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

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Jądro systemu operacyjnego

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

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

Wprowadzenie do systemów operacyjnych

Prezentacja systemu RTLinux

Struktury systemów operacyjnych

Podstawowe zagadnienia

1. Co to jest system operacyjny

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

Q E M U.

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

SYSTEMY OPERACYJNE. na przykładzie. MS Windows XP

Podstawy Techniki Komputerowej. Temat: BIOS

Technologia informacyjna. Urządzenia techniki komputerowej

System operacyjny. System operacyjny to program kontrolujący pracę komputera

System operacyjny komputera Informacje podstawowe

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

Komputery przemysłowe i systemy wbudowane

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

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

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

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

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

Systemy operacyjne. Informatyka Zakres rozszerzony

Przegląd współczesnych systemów operacyjnych

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Czujniki obiektowe Sterowniki przemysłowe

BIOS, tryb awaryjny, uśpienie, hibernacja

Wstęp do Informatyki dla bioinformatyków

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

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

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

O systemach operacyjnych. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Działanie systemu operacyjnego

Podstawy Techniki Komputerowej. Temat: System operacyjny komputera - charakterystyka

SYSTEM OPERACYJNY. Monika Słomian

System operacyjny MS-DOS

Systemy Operacyjne. informacje dodatkowe

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

Działanie systemu operacyjnego

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

TECHNOLOGIE INFORMACYJNE

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Wstęp do Informatyki. Klasyfikacja oprogramowania

Systemy operacyjne III


Wstęp do informatyki. Świat komputerów. Sprzęt (Hardware) Komputer osobisty (Personal Computer) Cezary Bolek

Prezentacja emulatora QEMU Zajęcia SO

System operacyjny System operacyjny

Świat komputerów. Urządzenia wyjściowe:

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

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

Działanie systemu operacyjnego

Systemy Operacyjne. informacje dodatkowe

Podstawy technologii informacyjnej. Beata Kuźmińska

"Klasyczna" struktura systemu operacyjnego:

Warstwy systemu Windows 2000

1. Co to jest system operacyjny - wstęp

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Systemy operacyjne. Dr inż. Dariusz Skibicki

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

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

ochrona w systemie operacyjnym

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

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

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

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

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

Materiały pomocnicze do laboratorium z Architektury Komputerów II.

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Systemy operacyjne. Paweł Pełczyński

-planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,

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

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

Linux cz.2: terminal, użytkownicy, grupy

LEKCJA TEMAT: Zasada działania komputera.

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

Sieciowe Systemy Operacyjne

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

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

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

/wpisać: model, symbol, producent urządzenia/

Działanie systemu operacyjnego

Rejestr HKEY_LOCAL_MACHINE

OPROGRAMOWANIE KOMPUTERÓW

Wirtualizacja. Metody, zastosowania, przykłady

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Systemy wbudowane. Paweł Pełczyński

4. Procesy pojęcia podstawowe

Tomasz Greszata - Koszalin

Transkrypt:

INFORMATYKA dla kierunku MECHATRONIKA Część 5 BIOS System operacyjny dr hab. inż. Marek Galewski Politechnika Gdańska Wydział Mechaniczny Katedra Mechaniki i Mechatroniki 1

BIOS Podstawowy system wejścia-wyjścia Basic Input/Output System Program zapisany w pamięci ROM (współcześnie Flash) wykonujący inicjalizację i test sprzętu po starcie komputera, kontroluje transfer danych między CPU i niektórymi urządzeniami(np. HDD) Dedykowany dla konkretnej płyty głównej Dawniej BIOS pośredniczył także pomiędzy systemem operacyjnym, a sprzętem System korzystał z wielu funkcji wbudowanych w BIOS Współczesne systemy operacyjne rzadko korzystają z funkcji BIOS(z wyjątkami, np. ACPI zarządzanie energią) Termin BIOS stosowany tylko w odniesieniu do komputerów 2

UEFI Unified Extensible Firmware Interface Następca BIOS Mimo wielu lat rozwoju, stosowany w ograniczonym zakresie Większe możliwości Uniwersalność ArchitekturaniezależnaodtypuCPU (wbios CPUstartujejako16bit) Możliwość tworzenia sterowników do sprzętu bezpośrednio dla UEFI sterowniki niezależne od systemu operacyjnego Możliwość tworzenia aplikacji działających wprost w UEFI (np. typu bootmanager) Lepsza obsługa nowoczesnych podzespołów np. obsługa dużych HDD (>2TB), obsługa całości pamięci RAM (BIOS tylko 1MB reszta dostępna dopiero po uruchomieniu OS) Środowisko przedsystemowe Obsługa sprzętu zanim zostanie uruchomiony system operacyjny, np. obsługa sieci Graficzny interfejs użytkownika 3

Firmware Oprogramowanie firmowe Oprogramowanie wbudowane w urządzenie, zapewniające podstawowe procedury obsługi tego urządzenia i realizujące sterowanie sprzętem Termin stosowany w odniesieniu do oprogramowania urządzeń Obecnie termin traktowany szerzej i firmware, zwłaszcza w sprzęcie elektronicznym, może być bardzo rozbudowany 4

Hardware, Firmware, BIOS System operacyjny Sterowniki BIOS / UEFI Firmware Hardware 5

Start komputera 6 Włączenie procesora Ustawienie początkowych wartości rejestrów i flag Odczyt instrukcji skoku do BIOSU Uruchomienie BIOS POST Power On Self Test Odczyt konfiguracji sprzętowej ze stałej pamięci CMOS Inicjalizacja i test podzespołów komputera obsługiwanych przez BIOS, uruchomienie BIOSów kart rozszerzeń Chipset i kontroler pamięci Karty PCI / PCIe Karta graficzna Pamięć RAM Pamięci masowe Klawiatura Odczyt pierwszego sektora z zerowej strony, zerowego cylindra dysku bootsector Rozpoczęcie ładowania systemu operacyjnego

Historia systemów operacyjnych Pierwsze komputery 1956 nie miały systemu operacyjnego, jedynie narzędzia wspomagające, każdy inne General Motors i North American Aviation GM-NAA I/O pierwszy działający system dla IBM704 automatyzował proces uruchamiania programów Lata 60-te 1964 wspólne procedury dostępu do zasobów sprzętowych stopniowe pojawianie się elementów współczesnych systemów np. praw dostępu IBM rozpoczął sprzedaż komputerów serii System/360 duże, średnie i małe komputery - taki sam zestaw instrukcji miały używać OS/360, ale problemy tak duże, że powstało kilka podobnych systemów MIT, AT&T i GE eksperymentalny systemem MULTICS dla GE-645 Nie odniósł sukcesu AT&T wycofało się Jeden z projektantów napisał grę Space Travel GE-645 zbyt wolny Przeniesienie gry w assemblerze na PDP-7 powstało kilka fragmentów kodu zasadniczych dla rozwoju systemu UNIX Rozpoczęto prace nad nowym, wielozadaniowym systemem operacyjnym UNICS 7

Historia systemów operacyjnych 1970-1971 twórcy Unics otrzymali wsparcie od Bell i uruchomili system na PDP-11/20 jako UNIX 1973 kod UNIX przepisany z asemblera do C (wbrew ówczesnym zasadom) łatwa przenośność systemu pomiędzy różnymi komputerami Lata 70-te kolejne wersje UNIX początki innych linii pochodnych systemów Przełom lat 70/80 Pojawienie się komputerów domowych z własnymi systemami Jednozadaniowe, jeden użytkownik Lata 80-te Kolejne wersje UNIX i podobnych (np. BSD, HP-UX, Sun-OS, QNX, IRIS, IRIX, ) Początek rozwoju systemów Microsoft i Apple 1981 IBM-PC MS-DOS 1984 Apple -Mac OS» oparty na UNIX» pierwszy system z wyłącznie graficznym interfejsem użytkownika (choć sam pomysł GUI -lata 70-te) 8

Historia systemów operacyjnych 1985 MS Windows graficzna nakładka na MS-DOS, ale z pewnymi cechami samodzielnego systemu, wielozadaniowość 1990 MS Windows 3.0 sukces komercyjny 1991 Linus Torvalds tworzy emulator terminala UNIX dla procesora 80386 oparty na Minix i bibliotekach GNU, powstał kernel systemu Linux 1993 MS Windows 3.11 obsługa sieci MS Windows NT pełny, samodzielny system 32-bitowy 1994 Linux 1.0 1995-2000 MS Windows 95 i 98 samodzielny system nowy interfejs użytkownika wielozadaniowość z wywłaszczeniem MS Windows NT 4 i 2000 (bliski XP) 9

Historia systemów operacyjnych 2001 MS Windows XP rozwinięcie NT, koniec systemów serii 3.x i 9x 2006, 2009, 2012, 2015 MS Windows Vista, 7, 8, 10 Obecnie MS Windows Linux Mac OS UNIX i pochodne: BSD, Solaris, HP-UX, AIX Systemy w telefonach komórkowych, np: Android, MS Windows Mobile, iphone O/S Systemy w układach wbudowanych, np: FreeRTOS, Windows Embeded, FreeBSD 10

System operacyjny Główny program kontrolujący pracę komputera Umożliwia uruchamianie innych programów, steruje nimi i nadzoruje je Zapewnia środowisko systemowe Udostępnia programom zasoby komputera np. pamięć, czas procesora, urządzenia We/Wy itp. Zarządza systemem plików Zapewnia komunikację z innymi komputerami 11 Środowisko systemowe zbiór funkcji, bibliotek, zmiennych systemowych, komunikatów itp., które są dostępne dla programów. Dzięki niemu programy nie muszą robić wszystkiego np. sterować kartą graficzną by narysować swoje okno, śledzić gdzie jest wskaźnik myszy, zapisywać plik na dysku sektor po sektorze itp. itd.

System operacyjny - budowa W każdym systemie operacyjnym występują mniej lub bardziej wyodrębnione warstwy, spełniające różne funkcje: Warstwa odpowiedzialna za współpracę ze sprzętem Jądro systemu (kernel) Powłoka (shell) odpowiedzialna za komunikację użytkownika z systemem operacyjnym hardware Aplikacje / programy użytkownika 12

System operacyjny - budowa Jądro systemu (kernel) najważniejszy komponent każdego systemu operacyjnego wykonuje podstawowe operacje uruchamianie programów, przyznawanie im zasobów(m.in. pamięci i czasu procesora), obsługa wielozadaniowości Sterownik(driver) program kontrolujący pracę przyłączonego do komputera urządzenia systemy zawierają często wbudowane sterowniki do popularnych typów urządzeń, do innych trzeba zainstalować 13

System operacyjny - budowa Powłoka / interfejs użytkownika (shell) Pozwala na komunikację użytkownik system Tłumaczy polecenia użytkownika na funkcje kernela Powłoka tekstowa Dostępna tylko linia poleceń CLI - Command Line Interface Komendy tylko z klawiatury Powłoka graficzna Okna, przyciski, ikony, paski GUI Graphical User Interface Komendy wydawane z użyciem wskaźnika (np. myszy) klikanie, przesuwanie i (uzupełniająco) klawiatury 14

System operacyjny - budowa Powłoka / interfejs użytkownika (shell) Każdy system oferuje swoją powłokę (zwykle jedną tekstową i jedną graficzną) Przykłady UNIX/Linux: bash+ KDE, bash+ GNOME, itp. MS Windows: cmd+ Explorer Powłokę częśto można zamienić na inną Przykłady: Unix/Linux» Tekstowe: bash, Tcsh, zsh» Graficzne: Unity, KDE, GNOME, LXDE MS Windows» Tekstowe: cmd, PowerShell, 4NT» Graficzne: Explorer, WinStep Extreme, LiteStep, AltShell MS DOS» Tekstowe: command.com, 4DOS, DOS Shell (okna w trybie tekstowym TUI Textual User Interface) 15

System operacyjny - budowa Powłoka / interfejs użytkownika (shell) 1981 r. pierwszy system z GUI Xerox 8010 Star Information System 1984 r. pierwszy system z GUI, który osiągnął sukces komercyjny Macintosh 1985 r. początek MS Windows Lata 90-te rozwój interfejsów graficznych Lata 2000+ początki interfejsów 3D nowe, prototypowe interfejsy (inna organizacja pracy, dotykowe itp.), przykłady: youtube.com/watch?v=m0odskdepnq youtube.com/watch?v=6jhowshwu7w 2009 r. wprowadzenie interfejsu dotykowego i gestów w Windows 7 youtube.com/watch?v=4f8iiu2rno4 Lata 2010+ ekspansja interfejsów dotykowych 16 Microsoft Surface: youtube.com/watch?v=wmklcdzcncu Wizja przyszłości: youtube.com/watch?v=oidf_60ok04

Architektura systemów Win Windows NT / 2000 / XP / Vista / 7 / 8 / 10 2 główne warstwy: Przestrzeń użytkownika - User Mode Aplikacje użytkownika Programy wspomagające system operacyjny Przestrzeń jądra Kernel Mode Główna część jądra Sterowniki 17 Warstwa Abstrakcji Sprzętu HAL Hardware Abstraction Layer» Znajduje się pomiędzy jądrem, a sprzętem i uniezależnia system od sprzętu» Wszelkie odwołania do sprzętu wykonywane są wyłącznie za pośrednictwem HAL» Systemu nie interesuje, na jakim sprzęcie tak naprawdę działa, HAL tłumaczy polecenia systemu na polecenia zrozumiałe dla urządzeń w konkretnym komputerze» Wybór HAL następuje w momencie instalacji systemu

Architektura systemów Win Sercem systemu jest mikrojądro microkernel Zawiera tylko najbardziej niezbędne elementy, np. zarządzanie wątkami, komunikacja pomiędzy procesami, obsługa przerwań i wyjątków Wszelkie inne zadania (np. obsługa systemów plików, bezpieczeństwo, zarządzenie pamięcią, dostęp do sprzętu) realizowane są przez osobne moduły serwisy wykonawcze Executive Services Mikrojądro + serwisy = jądro systemu Windows Serwisy i sterowniki urządzeń są elementami zaufanymi Sterowniki urządzeń przechodzą rygorystyczne testy, by zdobyć certyfikacje pełnej zgodności z systemem (WHQL) 18

Architektura systemów Windows Aplikacje użytkownika Środowiska dodatkowe i platformy uruchomieniowe (MFC,.NET / CLR, Silverlight) User mode Kernel mode Pomocnicze procesy systemowe Środowisko uruchamiania aplikacji użytkownika (Win32, Win64) Serwisy wykonawcze Procesy systemowe Serwisy systemowe Manager I/O System plików Manager obiektów Manager wątków i procesów Manager pamięci Manager zabezpieczeń Manager okien Jądro (Kernel) Sterowniki (Drivers) Hardware Abstraction Layer (HAL) Sprzęt (Hardware) 19

Architektura systemów - Linux Linux Konstrukcja modułowa: User Mode, Kernel Mode, HAL Jądro monolityczne moduły działające w przestrzeni jądra są ściśle powiązane z jądrem są jego integralną częścią, nawet jeśli ładowane są dynamicznie Pierwotnie dołączanie modułów i kompilację jądra musiał wykonać użytkownik, obecnie, zależnie od potrzeb używa się gotowych dystrybucji Komunikacja z GUI z użyciem protokołu X Window System GUI może działać zarówno lokalnie jak i zdalnie, na innym komputerze 20

System operacyjny - pojęcia Systemy plików File System patrz wykład dot. dysków twardych sposób, w jaki komputer organizuje pliki i katalogi na nośniku danych określa jak informacje są zapisywane i odczytywane, możliwe do użycia atrybuty plików oraz schemat poprawnych nazw plików i katalogów ma duży wpływ na wydajność, stabilność i bezpieczeństwo systemu szybkość dostępu dodanych (np. organizacja tablicy alokacji) odporność na uszkodzenia plików (np. journaling, kopie w tle) powinien uwzględniać prawa dostępu i własności plików może obsługiwać szyfrowanie plików 21

System operacyjny - pojęcia Program / aplikacja Software (np. MS Word) Proces Process Program załadowany do pamięci i uruchomiony (np. Winword.exe) Wątek Thread Część procesu Prosty proces ma zwykle jeden wątek Proces może mieć kilka wątków, działających równolegle (np. edycja tekstu, druk, kontrola pisowni w Word) Wykorzystanie mechanizmu wielowątkowości zależy od programisty (ale musi być wspierane przez system operacyjny) 22

System operacyjny - pojęcia Procesy i wątki Rożne procesy są niezależne Proces może zawierać w sobie (być podzielony na) wątki Wątki są częścią procesu Oddzielna przestrzeń adresowa i zasoby każdego procesu Trudniejsza synchronizacja, komunikacja i wymiana danych między procesami Błąd procesu zwykle nie blokuje innych procesów Wspólna przestrzeń adresowa i zasoby W ramach procesu Łatwa synchronizacja, komunikacja i wymiana danych między wątkami Błąd wątku zwykle blokuje proces 23

System operacyjny - pojęcia Wielozadaniowość cecha systemu operacyjnego możliwość uruchomienia więcej niż jednej aplikacji / programu / procesu w tym samym czasie Procesy (zadania) wykonywane są na zmianę lub równolegle(na różnych rdzeniach lub procesorach) Wielozadaniowość kooperacyjna programy, gdy nie potrzebują zasobów same je zwalniają i przekazują systemowi, który przydziela je następnym procesom wada: programy muszą być poprawnie napisane (samodzielnie zwalniać zasoby) 24

System operacyjny - pojęcia Wielozadaniowość z wywłaszczeniem system sam decyduje o wykorzystaniu zasobów (zwłaszcza czasu procesora i pamięci), może wyrzucić czyli wywłaszczyć proces zalety: zablokowany program nie blokuje systemu system może optymalizować przydział zasobów Współczesne systemy operacyjne są systemami wielozadaniowymi z wywłaszczeniem 25

System operacyjny - pojęcia Wielowątkowość Każdy proces może mieć kilka równoległych wątków Zarządzenie wątkami zależy w znacznym stopniu od samego programu/ procesu Wydajne wykorzystanie wielowątkowości wymaga odpowiednich zabiegów ze strony programisty Wielozadaniowość i wielowątkowość nie przyśpieszają pojedynczego programu ale dają możliwość wykonywania wielu programów(lub ich części) jednocześnie oraz wykorzystania przestojów zwiększają więc ogólną wydajność i elastyczność całego systemu komputerowego. 26

System operacyjny - pojęcia API Application Programming Interface Interfejs Programowania Aplikacji Zbiór procedur, funkcji i interfejsów, umożliwiających komunikację z systemem operacyjnym (lub innym systemem zewnętrznym w stosunku do aplikacji korzystającej z API) Ułatwia programowanie(gotowe funkcje) Ujednolica programy (podobne zachowanie różnych programów korzystających z tego samego API) 27

System operacyjny - pojęcia Biblioteki Zbiór procedur, funkcji i danych (np. ikon, czcionek) Typowe biblioteki to biblioteki DLL API Biblioteki statyczne Dołączane do programu na stałe na etapie kompilacji Biblioteki dynamiczne DLL Dynamic Link Libraries Biblioteki funkcji wykonywalnych (skompilowanych) Dynamiczne ponieważ program łączy się z nimi wtedy, gdy są mu jakieś funkcje potrzebne(zwykłe biblioteki podłączane są w na etapie tworzenia/ kompilacji programu) Funkcje z DLL mogą być używane przez wiele aplikacji jednocześnie(np. CreateWindow() z user32.dll) 28

Wirtualizacja Wirtualizacja Zbiór technik i metod pozwalających stworzyć i wykorzystać wirtualne wersje sprzętu i / lub oprogramowania Pozwala lepiej wykorzystać posiadane zasoby Pozwala zasymulować zasoby, których nie mamy Wirtualizacja pełna W środowisku A emulowane są wszystkie potrzebne elementy środowiska B co pozwala uruchomić oprogramowanie z B na A. Program uruchomiony w środowisku wirtualnym widzi system i sprzęt jak w B Programy na maszynie wirtualnej mogą działać wolniej Przykład: Windows Virtual PC 29

Wirtualizacja częściowa Wirtualizacja Emulacja części środowiska B w środowisku A Część operacji z B jest wykonywana bezpośrednio w A Niektóre programy z B nie będą działały Im większa kompatybilność B z A tym lepiej Wirtualizacja API Emulacja interfejsu API środowiska B w środowisku A Programy z B będą działały, pod warunkiem, że korzystają tylko ze standardowych funkcji API Np. Wine pod Linux 30

Wirtualizacja 31 Zalety Możliwość jednoczesnego uruchomienia kilku systemów operacyjnych na jednym komputerze Wykorzystanie oprogramowania z różnych systemów Zachowanie kompatybilności (np. Tryb XP w Windows 7) Możliwość uruchomienia oprogramowania przeznaczonego dla innego środowiska Możliwość zasymulowania sprzętu, którego nie posiadamy fizycznie Elastyczne dostosowanie zasobów do potrzeb Łatwiejsze zarządzanie zasobami Obniżenie kosztów Wady Programy działające w środowisku wirtualnym działają zwykle wolniej (czasem znacznie wolniej) Nie zawsze da się wszystko zasymulować Kwestie licencyjne M.in. na oprogramowanie na maszynie wirtualnej potrzebne licencje

Systemy czasu rzeczywistego W zwykłym systemie operacyjnym Operacje nie mają narzuconych ograniczeń czasowych Nie ma znaczenia, czy będą wykonywane krótko czy długo Opóźnienia nawarstwiają się System czasu rzeczywistego (real-time) Zadania muszą być wykonane z określonym czasie System real-time nie musi być szybki - istotne jest jedynie, by jego działania spełniały narzucone ograniczenia czasowe np. by operacja była bezwzględnie wykonana w określonym czasie By cały system komputerowy był systemem czasu rzeczywistego wymagania takie muszą spełniać: sprzęt systemoperacyjny oprogramowanie 32

Systemy czasu rzeczywistego Podział systemy o ostrych ograniczeniach czasowych (hard real-time) przekroczenie terminu powoduje poważne lub katastrofalne skutki, np. zagrożenie życia lub zdrowia ludzi, uszkodzenie lub zniszczenie urządzeń, przy czym nie jest istotna wielkość przekroczenia terminu, a jedynie sam fakt jego przekroczenia systemy o mocnych ograniczeniach czasowych (firm real-time) przekroczenie terminu powoduje całkowitą nieprzydatność wypracowanego przez system wyniku, ale nie oznacza to zagrożenia dla ludzi lub sprzętu systemy o miękkich lub łagodnych ograniczeniach czasowych (soft real-time) przekroczenie pewnego czasu powoduje negatywne skutki tym poważniejsze, im bardziej ten czas został przekroczony Puryści uważają, że tylko hard real-time to real-time. 33

Systemy czasu rzeczywistego Cechy charakterystyczne Specjalne rozwiązania zapewniające odpowiednie szeregowanie zadań i podziału czasu procesora (scheduler), tak, aby wszystkie wykonywane procesy spełniały zdefiniowane dla nich ograniczenia czasowe Priorytety zadań Funkcje kontroli czasu wykonania zadań Szybkie przełączanie zadań i alokacja pamięci Algorytmy zapobiegające zapętleniu / zawieszeniu / zakleszczeniu zadań + współpraca z układami sprzętowym np. watchdog Niekiedy, gdy ciągłość działania jest ważniejsza od pojedynczej operacji porzuca się operację opóźnioną w celu uniknięcia dalszych opóźnień 34

Systemy czasu rzeczywistego Zastosowania nadzorowanie procesów technologicznych nadzorowanie eksperymentów naukowych w urządzeniach powszechnego użytku (np. sterowniki układów ABS, ESP i wtrysku paliwa) medycyna lotnictwo, loty kosmiczne, systemy uzbrojenia Przykłady QNX RTLinux LynxOS i inne PharLab ETS VxWorks 35