PB 153 Operační systémy a jejich rozhraní1 Zdeněk Říha zriha@fi.muni.cz PB153 Operační systémy a jejich rozhraní PB 153 Operační systémy a jejich rozhraní2 Rozdíl vůči PB152 ,,a jejich rozhraní" praktičtěji zaměřené zajímají nás i konkrétní OS ukážeme si rozhraní pro programátory tj. systémová volání OS PB 153 Operační systémy a jejich rozhraní3 Literatura 1. Přednášky 2. PPT prezentace 3. PPT prezentace z PB152 4. Silberschatz, Galvin, Gagne: Operating System concepts, 7th edition, Wiley, 2004, ISBN 0-471- 69466-5 PPT z PB153 jsou založeny na PPT k této knize a jsou modifikovány. Silberschatz, Galvin and Gagne, 2005 5. Stallings: Operating systems: Internals and Design Principles, 5th edition, Prentice-Hall International, 2005. ISBN 0-13-147954-7. PB 153 Operační systémy a jejich rozhraní4 Počítačový systém o Hardware * CPU * Paměti * I/O o Operační systém o Aplikační a systémový SW o UživateléHW Operační systém Aplikační a systémový software UživatelA UživatelB UživatelC UživatelD PB 153 Operační systémy a jejich rozhraní5 Proč studovat OS? Asi nebudete psát ani navrhovat zcela nový OS ale ... možná budete muset OS modifikovat ... nebo rozšiřovat (např. nový ovladač) při programování budete využívat služeb OS a nebo alespoň budete OS používat a je dobré vědět, co od nich můžete čekat PB 153 Operační systémy a jejich rozhraní6 Co nás čeká 1. Úvod, historie 2. Procesy (plánování běhu, synchronizace) 3. Správa paměti (alokace paměti, virtuální paměť) 4. Správa I/O operací (plánovaní, vnější paměti) PB 153 Operační systémy a jejich rozhraní7 Uživatelský pohled na OS Dnes používáme typicky desktopy vyhrazené pro jednoho uživatele OS navržen pro jednoduché používání, výkon systému je brán na zřetel, ovšem na využití zdrojů není kladen důraz Dříve často terminály, OS plní požadavky programů řady uživatelů důraz na využití zdrojů počítače férové užívání zdrojů jednotlivými uživateli PB 153 Operační systémy a jejich rozhraní8 Systémový pohled na OS OS především jako správce prostředků počítače CPU, operační paměť, disková paměť, I/O zařízení Koordinátor, řídící složka řídí spouštění programů, zabraňuje chybám a vzájemnému ovlivňování PB 153 Operační systémy a jejich rozhraní9 Definice OS Neexistuje universální a všeobecně platná definice OS Stejně tak není jednotný názor na to, co všechno zahrnuje OS (jádro, systémové a aplikační programy) OS = to co výrobce dá do krabice OS = jádro (tj. část, která je neustále spuštěna) Raději definujeme OS tím co dělá, než tím co vlastně je. Analogie s ,,vládou" PB 153 Operační systémy a jejich rozhraní10 Primární cíle OS Při návrhu OS jsou stanoveny podmínky/cíle, které má OS splňovat uživatelská přívětivost efektivní využití (drahých) zdrojů ne všechny podmínky/cíle však implikují jasné způsoby návrhu/implementace (bezchybnost, spolehlivost) Za 45 let vývoje se OS značně změnily: od jednoduchých textově zaměřených po komplexní systémy s komfortním GUI. PB 153 Operační systémy a jejich rozhraní11 Stolní systémy Desktop ­ stolní systém Osobní počítač (PC) vyhrazený pro jediného uživatele (v jednom okamžiku) Primární je uživatelské pohodlí Protože uživatel je jediný, mohou být některé bezpečnostní mechanismy vynechány/neimplementovány Typické I/O vybavení zahrnuje klávesnici, myš, monitor a tiskárnu V současné době existuje celá řada OS, některé jsou dostupné pro řadu HW platforem (obvykle systémy UNIXového typu jako *BSD nebo Linux), některé jen pro specifické platformy (MacOS, Windows XP/Vista jsou orientovány především na Intel Pentium procesory, Windows CE však běží na řadě platforem.) PB 153 Operační systémy a jejich rozhraní12 Paralelní systémy Úzce vázané systémy Několik vzájemně komunikujících CPU sdílející jednu paměť a hodinový signál Výhody: vyšší propustnost systému, ekonomické využití počítače SMP symetrický multiprocesorový systém Všechny procesory jsou si rovné Na všech běží stejná kopie OS SMP dnes podporuje řada OS včetně Linuxu, Windows, FreeBSD apod. AMP ­ asymetrický multiprocesorový systém Každý procesor ­ specifický úkol např. jeden procesor plánuje ostatním práci, nebo určité typy procesů běží na jednotlivých procesorech PB 153 Operační systémy a jejich rozhraní13 Distribuované systémy Volně vázané systémy Každý CPU má vlastní paměť Nekomunikují tedy spolu sdílenou pamětí, ale pomocí komunikačních spojů (od speciálních vysokorychlostních sběrnic až po klasické komutované linky) Výhody: sdílení zdrojů (tiskárny, diskové kapacity), vyšší spolehlivost Architektury * Klient-server ­ řada klientů komunikuje s jedním (nebo více) servery * Peer-to-peer sítě ­ všechny počítače jsou rovnocenné PB 153 Operační systémy a jejich rozhraní14 Real-time systémy RT, real-time systémy, systémy pracující v reálném čase Pro speciální aplikace typu řízení strojů (např. vstřikování v automotoru), sledovací aktivity (např. nemocniční monitorovací systémy) RT systémy pracují s pevně stanovenými časovými limity Hard (přísné) RT systémy * při spuštění procesu je stanoven časový limit ­ OS proces odmítne nebo přijme * nutné specializované OS systémy, obvykle bez vnějších pamětí, speciální plánovací algoritmy Soft (tolerantní) RT systémy * procesy s vyšší prioritou mají přednost před procesy s nižší prioritou * vhodné pro multimedia, robotický průmysl * řada běžných OS podporuje stanovení priorit procesů (způsob implementace a výsledek je však velice různý) PB 153 Operační systémy a jejich rozhraní15 Kapesní systémy Palm tops, kapesní systémy, PDA, mobilní telefony Omezená paměť (volatilní i trvalá) Relativně pomalé procesory Malé zobrazovací zařízení Omezená baterie