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 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í8 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í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/7 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