Principy počítačů a operačních systémů Operační systém úvod základní architektury
Historický vývoj 1. generace počítačů (40.-50. léta 20. stol.) technologie relé, elektronky programování strojový kód propojovací p desky, děrné štítky operační systém žádný OS konstruktér stroj navrhuje, spravuje i programuje
Historický vývoj 2. generace počítačů (50.-60. léta 20. stol.) technologie tranzistory, pevné disky programování strojový kód, FORTRAN koncepce univerzálního výpočetního stroje operační systém dávkové systémy (sekvenční spouštění, omezení doby běhu) time-sharing systémy
Historický vývoj 3. generace počítačů (60.-70. léta 20. stol.) technologie integrované obvody (SSI) uživatelský komfort Programování rozmach vyšších programovacích jazyků (C, Pascal, BASIC, SmallTalk) operační systém multitasking, virtual memory, virtual machine TSS, OS/360, MULTICS, UNICS jasné rozdělení rolí
Historický vývoj 4. generace počítačů (od 80. let 20. stol.) technologie integrované obvody (LSI, VLSI, ULSI) osobní počítače programování IDE, prototypování, click&run click&run systémy operační systém cokoli (prostý zavaděč vs. distribuovaný, víceuživatelský, víceprogramový OS) CP/M, MS-DOS, Finder UNIX/Linux, Windows, MacOS
Hlavní role moderního operačního systému Extended machine oddělení aplikace od platformy abstraktní přístup k prostředkům Resource manager izolace aplikací přidělování a sdílení prostředků (CPU, paměť, )
Architektura OS Architektura subsystémy pro různé ů funkce poskytované OS rozdělení zodpovědnosti, zjednodušení návrhu různá ů oprávnění ě pro různé ů subsystémy zvýšená odolnost proti zlým programům Dilema při volbě architekturyr oddělení subsystémů vs. efektivita OS zvýšená režie při komunikaci imezi subsystémy souvisí s HW mechanizmy pro přidělování oprávnění kompromis mezi odolností a efektivitou základní typy architektur operačních systém
Hlavní koncepce Monolytické systémy Systémy založené na mikrojádře Virtuální stroje
Monolytické systémy důraz na efektivitu (před robustností) subsystémy mají stejné oprávnění nízká režie komunikace není vyloučena modularita uživatelské procesy mají minimální oprávnění systémové volání mění oprávnění ač nejstarší model, stále běžně používaný CP/M, DOS, UNIX, Solaris, Windows,
příklad CP/M, DOS
Systémové volání 1 Vstupní bod Uživatelský ýprogram 4 3 Systém Servisní funkce 2 Rozdělovací tabulka
Mikrojádrové systémy důraz na robustnost (před efektivitou) jádro co nejmenší v jádřeobsluhapřerušení přerušení, komunikace ostatní služby na uživatelské úrovni architektura klient server vhodné pro distribuované systémy především speciální a experimentální systémy Chorus, QNX, L4, Fiasco, MACH, Spring, Minix,...
Mikrojádrové systémy klient klient server server terminálů souborů Mikrojádro klient mikrojádro server mikrojádro
Virtualizace HW Možnost běhu více OS na jednom HW snaha o maximální využití prostředků stroje Původní podoba: abstrakce HW + plánování IBM System/360, IBM OS/360 Dnes: abstraktní stroj bez závislosti na HW Java, AS400,,C CLR (.Net) virtualizace na HW i v hostitelském OS IBM 390, Xen, KVM, VMware, MS VirtualPC PC, Hyper-V
Virtualizace HW plná částečná paravirtualizace
Virtuální stroje IBM 360, IBM 390 Virtuální stroje Aplikace Aplikace Aplikace CMS mainframe OS VM VM-CP Holý HW
Virtuální stroje VMware Compatibility Partitioning Isolation Encapsulation HW independence
Virtuální infrastruktura
Ukázka virtualizace