2010/2011 ZS
Principy počítačů a operačních systémů
Operační p systém y úvod základní architektury
2010/2011 ZS
Historický vývoj 1. generace počítačů (40.-50. léta 20. stol.) • technologie – relé, relé elektronky
• programování – strojový kód – ppropojovací p j desky, y, děrné štítky y
• operační systém – žádný žád ý OS – konstruktér stroj navrhuje, spravuje i programuje
2010/2011 ZS
Historický vývoj 2. generace počítačů (50.-60. léta 20. stol.) • technologie – tranzistory, tranzistory pevné disky
• programování – strojový kód, FORTRAN – koncepce p univerzálního výpočetního ýp stroje j
• operační systém – dávkové dá k é systémy é (sekvenční spouštění, omezení doby běhu) – time-sharing systémy
2010/2011 ZS
Historický vývoj 3. generace počítačů (60.-70. léta 20. stol.) • technologie t h l i – 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í
2010/2011 ZS
Historický vývoj 4. generace počítačů (od 80. let 20. stol.) • technologie t h l i – integrované obvody (LSI, VLSI, ULSI) – osobní počítače
• programování – IDE, IDE prototypování, prototypování „click&run click&run“ systémy
• operační systém – cokoli (prostý zavaděč vs. vs distribuovaný distribuovaný, víceuživatelský víceuživatelský, víceprogramový OS)
– CP/M,, MS-DOS,, Finder – UNIX/Linux, Windows, MacOS
2010/2011 ZS
Hlavní role moderního operačního p systému y • 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ěť, …)
2010/2011 ZS
Architektura OS • Architektura – subsystémy b pro různé ů ffunkce k poskytované k OS • rozdělení zodpovědnosti, zjednodušení návrhu
– různá ů á oprávnění á ě í pro různé ů é subsystémy b té • zvýšená odolnost proti „zlým“ programům
• Dilema při volbě olbě architektury architekt r – oddělení subsystémů vs. efektivita OS • zvýšená ýš á režie ži při ři komunikaci k ik i mezii subsystémy b té • 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
2010/2011 ZS
Hlavní koncepce • Monolytické systémy • Systémy založené na mikrojádře • Virtuální stroje
2010/2011 ZS
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é y volání mění oprávnění p
• ač nejstarší model, stále běžně používaný – CP/M, CP/M DOS DOS, UNIX, UNIX S Solaris, l i Windows, Wi d …
2010/2011 ZS
příklad – CP/M, DOS
2010/2011 ZS
Systémové volání Uživatelský ý program p g 1 4 Vstupní bod
3
2 Rozdělovací tabulka
Systém Servisní funkce
2010/2011 ZS
Mikrojádrové systémy • důraz na robustnost (před efektivitou) • jádro co nejmenší – v jádře obsluha př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, ...
2010/2011 ZS
Mikrojádrové systémy server server terminálů souborů
klient klient Mikrojádro
klient
server
mikrojádro
mikrojádro
2010/2011 ZS
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 – JJava,, AS400, S ,C CLR ((.Net)) – virtualizace na HW i v hostitelském OS • IBM 390 390, Xen, Xen KVM, KVM VMware, VMware MS Virtual PC, PC Hyper-V Hyper V
2010/2011 ZS
Virtualizace HW • plná • částečná • paravirtualizace
2010/2011 ZS
Virtuální stroje • IBM 360, IBM 390 zVirtuální
stroje
Aplikace
Aplikace
Aplikace
CMS
mainframe OS
VM
VM-CP Holý HW
2010/2011 ZS
Virtuální stroje • VMware – – – – –
Compatibility Partitioning Isolation E Encapsulation l ti HW independence
2010/2011 ZS
Virtuální infrastruktura
2010/2011 ZS
Ukázka virtualizace