Obsah predn asky Typologie, funkcn skladby a architektury OS PB 15 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Typologie operacnch syst em u Generick e komponenty operacnch syst em u Trendy v yvoje operacnch syst em u Typologie v ypocetnch prostred Koncept sluzeb poskytovan ych OS Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 017 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 1 Typologie OS Mainframe operating systems, OS strediskov ych poctac u Server operating systems, OS server u Multiprocessor operating systems, OS multiprocesor u Personal computer operating systems, OS osobnch poctac u Handheld operating systems, OS tablet u, mobil u,... Embedded operating systems, OS vestav en ych poctac u Sensor node operating systems, OS uzl u senzorov ych st Real-time operating systems, OS pro rzen v re aln em case Smart card operating systems, OS chipov ych karet Studujeme obecn e, spolecn e, generick e rysy OS techto typ u OS Typologie OS Mainframe operating systems OS syst em u datov ych center spousta periferi (tisce disk u, spousty terabajt u dat) spousta proces u se res soubezne s obrovsk ym objemem IO d avkov e zpracov an + transakcn zpracov an + interaktivn zpracov an d avkov e { generov an zpr av o produkci,... transakcn { rezervacn syst emy,... interaktivn { kladen dotaz u do velk e datab aze V soucasnosti orientace na LINU Server operating systems OS velmi velk eho PC (v ykonem, pamet'ovou a komunikacn kapacitou) obsluha mnoha vzd alen ych uzivatel u (klient u) klient um poskytuje tiskov e, souborov e, webovsk e... sluzby typict reprezentanti: Solaris, FreeBSD, Linux, Windows Server 00x PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 3
Typologie OS Typologie OS Multiprocessor operating systems typicky variace na server/mainframe OS v soucasnosti implementace i na PC a mobilech speci aln pl anov an cinnosti vce CPU probl em soubehu vce funkc OS v soucasnosti i na noteboocch s vcej adrov ymi CPU Rys implementovan y jak v Linuxech, tak i ve Windows Handheld operating systems OS pro tablety, chytr e mobily,... Nepoctaj s vnejs pamet Jsou propracovan e z hlediska ovl ad an telefonie, digifota,... Bezne se provozuj (ne vzdy d uveryhodn e) aplikace tretch stran Prklady OS: ios* 5.0, Microsoft Windows* Phone 7.0, Android Personal computer operating systems V soucasnosti vzdy podpora multitaskingu Cl { dobr a podpora jednomu uzivateli { monouzivatelsk e OS zpracov an dokument u, tabulkov e kalkul atory, prstup na Internet,... Prklady { Linux, FreeBSD, Windows 10, Masintosh OS PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 4 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 5 Typologie OS Embedded operating systems Rd zarzen, kter a nevypadaj jako poctac uzivatel nem a moznost nic do syst emu instalovat OS mikrovlnek, TV, v autech, v DVD recorderech... cast a orientace na real-time nelze instalovat z adn e nov e aplikace, vse je typicky v ROM QN/www.qnx.com, VxWorks/www.windriver.com/products/vxworks, oba kompatibiln s POSI Sensor node operating systems OS uzl u senzorov ych st, senzorov y uzel { poctac+senzor(y)+komunikace Dlouhodob a cinnost v bezdr atov e sti, mal a pamet', bateriov y provoz Vesker e programy b yvaj instalovan e predem Prklad: TinyOS, www.tinyos.net/ Typologie OS Smart card operating systems omezenost v ykonem, pamet, extr emne jedoduch e OS obvykle v ROM je interpretr Java Virtual Machine aplikace { javovsk e applety (mal e programy) nekdy i v rezimu multitasking Real-time operating systems klcov y probl em { faktor casu a plnen uloh v case Modelov e prostred naseho studia vymezuj rodiny operacnch syst em u Unix a Windows tam kde to bude vhodn e zmnme specika deriv at u syst em u Unix (Linux, Mac OS, Android apod.) PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 6 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 7
Studovan e b azov e generick e probl emy resen e v OS Architektura, skladba OS Procesy, { interpretace program u, sdlen CPU procesy, kooperace proces u Adresov e prostory, kooexistence mnoha d ej u v mnoha r uzn ych pametech Input/Output, ovl ad an periferi Ochrany, bezpecnost Rozhran sluzeb pro procesy, pro uzivatele Soubory dat, dlouhodobé uchovávání dat na vnějších pamětech (PV 06) B azov a idea OS OS poskytuje uzivateli / aplikacm jednoduch e a pritom mocn ejs rozhran nez hardware Uzivatel e / aplikace volaj prov ad en sluzeb vysok e urovn e, dostupn ych na rozhranch OS a vykon avan ych OS Uzivatel e / aplikace nemohou pristupovat k privilegovan ym rys um hardware prmo Sestava sluzeb poskytovan ych OS je to, co si mysl uzivatel e / aplikace, ze je OS uzivatel e / aplikace nic jin eho nez sluzby OS nevid Vsechny soudob e OS povazuj za generick e predm ety spr avy PROCESY { deje rzen e programy ulozen ymi v pameti a realizovan e CPU a periferiemi PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 8 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 9 Generick e funkcn komponenty OS Generick e funkcn komponenty OS Spr ava procesor u { kdy ten kter y proces,,pobez" Spr ava proces u a vl aken { podpora soubeznosti dej u Spr ava (hlavn, operacn) pam eti { rzen jejho vyuzv an Spr ava soubor u { dat uchov avan ych na vnejs pameti Spr ava I/O syst emu { spr ava cinnosti perifernch zarzen Spr ava vn ejs (sekund arn) pam eti { rzen jejho vyuzv an Networking (st'ov an) { podpora distribuovan ych syst em u Syst em ochran { zajist en bezpecnosti Interpret prkaz u { uzivatel u u termin al u Syst emov e programy { kompil atory, editory,... stavov e informace, podpora jazyk u, podpora komunikace, manipulace se soubory, aplikacn syst emy (datab aze,... ) Tou ci onou formou jsou implementovan e v kazd em OS PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 10 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 11
Generick e funkcn komponenty OS, sirs popis Spr ava procesor u dispecer, kr atkodob y pl anovac Spr ava proces u a vl aken vytv aren a rusen proces u a vl aken pozastavov an a obnova behu proces u a vl aken mechanismy synchronizace proces u a vl aken mechanismy komunikace mezi procesy a vl aken Spr ava (hlavn, operacn) pam eti zobrazov an LAP do FAP virtualizace pameti sledov an kter e c asti FAP jsou pouzv any a k ym mechanismy pridelov an a uvol nov an pameti (FAP) na z adost strednedob e pl anov an Generick e komponenty OS, sirs popis, Spr ava I/O syst emu spr ava vyrovn avacch pameti univerz aln rozhran ovladac u ovladace Spr ava vn ejs (sekund arn) pam eti spr ava voln e pameti pridelov an pameti pl anov an optim alnho porad (diskov ych) operac Spr ava soubor u (syst em soubor u, File System) manipulace s kolekcemi dat na vnejsch pametech vytv aren, rusen, katalogizace, archivace, obnova,... soubor u PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 1 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 13 Generick e komponenty OS, sirs popis, 3 Networking (st'ov an), distribuovan e syst emy kooperace procesor u nesdlejcch ani pamet' ani hodiny kazd y procesor m a svou lok aln pamet' a hodiny propojen komunikacn st n astroje pro sdlen zdroj u (distribuovan y syst em soubor u,... ) Interpret prkaz u rozhran uzivatele na sluzby operacnho syst emu Syst em ochran mechanismy pro rzen prstupu proces u a uzivatel u ke zdroj um rozlisov an autorizovan ych a neautorizovany ych pouzv an specikace vnucovan ych ochrann ych opatren n astroje pro prosazov an ochrann ych opatren Spr ava proces u proveden programu { proces (process, task) program { pasivn entita proces { aktivn entita, vce proces u m uze b yt rzeno tmt ez programem soubezne proces { jednotka pl anov an cinnost denovan ych programem proces potrebuje pro svoji realizaci jist e zdroje: CPU (procesor), pamet', I/O zarzen, soubory... inicializacn data proces { entita schopn a vlastnit zdroje Omezen a varianta pojmu proces { vl akno jednotka POUZE pl anov an cinnost denovan a v programu vl akna nic nevlastn, vyuzvaj zdroje pridelen e JEJICH procesu PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 14 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 15
1-vl aknov y proces Spr ava proces u proces vlastnc jedin y ctac instrukc urcujc prste prov adenou instrukci proces prov ad instrukce sekvencne, po jedn e instrukci v case, dokud se neukonc nebo dokud nen jeho beh prerusen y beh procesu nemus b yt v case kontinu aln { multitasking vce-vl aknov y proces proces vlastnc jeden ctac instrukc pro kazd e v nem denovan e vl akno proces prov ad instrukce vl aken sekvencne, po jedn e v case, dokud se vl akno neukonc nebo dokud nen jeho beh prerusen y vl akna jsou resena v rezimu multiprogramov an/multitasking proces denujc vl akna je rovnez resen y v rezimu multiprogramov an/multitasking Spr ava proces u Studujeme principy univerz alnch OS OS umoz nuje sobezn e prov aden mnoha proces u a tyto procesy n alez mnoha uzivatel um pro resen proces u m a OS k dispozici alespo n jeden procesor soubeznost se dosahuje prepn anm procesoru( u) mezi procesy (vl akny) OS je z hlediska spr avy proces u odpovedn y za Vytv aren a rusen uzivatelsk ych a syst emov ych proces u Potl acen a obnovov an behu proces u Poskytnut mechanism u pro { synchronizaci proces u, pro { komunikaci mezi procesy a pro { zvl ad an uv aznut proces u (vesmes na urovni middleware) PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 16 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 17 Spr ava procesor u OS (spr ava procesor u) je z hlediska spr avy procesor u odpovedn y za v yber procesu bezcho na (dostupn em) procesoru v yber se rd podle denovan e pl anovac politiky { cyklick e pl anov an, prioritn pl anov an,... rovnez dispecer, pl anovac CPU,... Pl anov an vl aken res podle typu OS j adro OS (spr ava procesor u) jak pro procesy tak i pro vl akna,,run-time support", tj. moduly na urovni knihoven, resc pl anov an vl aken v r amci procesu Spr ava (hlavn, operacn, prim arn) pam eti adresov y prostor hlavn (operacn, prim arn) pam et' Fyzick y Adresov y Prostor, FAP pole samostatne adresovateln ych slov nebo byt u reposit ar elektronicky dostupn ych dat CPU a I/O zarzenm repozit ar instrukc interpretovan ych procesorem Hlavn pam et je energeticky z avisl e zarzen pamatovan a data se ztr ac po v ypadku energie PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 18 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 19
Spr ava (hlavn, operacn, prim arn) pam eti Spr ava (hlavn) pameti je odpovedn a za veden prehledu, kter y proces kterou c ast pameti v dan em okamziku vyuzv a rozhodov an, kter emu procesu uspokojit jeho pozadavek na prostor pameti po uvolnen prostoru pameti. pridelov an a uvol nov an pameti podle potreby rozhodov an, kter y proces nebo kter a c ast procesu uvoln hlavn pamet', aby bylo mozno uspokojit (opr avnen e, prioritnejs,... ) pozadavky jin ych proces u na prostor v hlavn pameti Spr ava (hlavn) pam eti, virtualizace pam eti pohled program atora na pam et' v poctaci Logick y adresov y prostor, LAP form at LAP je vymezen form atem adresy v instrukci kapacita LAP je dan a bitovou srkou adresy v instrukci OS zav ad do FAP c asti program u a dat podle potreby v soucasnosti se programy uchov avaj ve forme prelozen do LAP tranformace adres LAP na adresy FAP se prov adej az pri prov aden instrukce v CPU Struktury LAP line arn (pole str anek) { virtualizace str ankovanm na z adost dvoudimension aln { kolekce samostatn ych line arnch segment u (promenn e d elky), virtualizace segmentov anm na z adost, segmentovan y LAP b yv a casto navc i str ankovan y PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 0 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 1 Spr ava (hlavn) pam eti, virtualizace pam eti Spr ava I/O syst emu Line arn LAP m uze b yt zobrazovan y do FAP identitou b ezn e se pouzvaj propracovan ejs zp usoby zobrazov an Zobrazov an LAP do dostupn eho FAP se deje pomoc spolupr ace hardware a funkcionality j adra OS DAT, Dynamic Address Translation tak e MMU, Memory Management Unit Pri odk az an msta s adresou LAP, kter e nen zobrazeno ve FAP spr ava pameti aktivovan a prerusenm nalezne (vytvor) ve FAP voln y blok na toto msto zavede blok z obrazu LAP s pozadovanou informac nutn a uzk a spolupr ace se specializovan ym syst emem soubor u na vnejs pameti se udrzuje kopie LAP procesu skr yv a pred uzivatelem specika konkr etnch I/O zarzen organizuje reposit ar vyrovn avacch pam et a cache pam et organizuje spooling, prekr yv an v ystup u jednoho procesu se vstupy dalsho procesu, resp. dalsch proces u podporuje univerz aln rozhran driver u (ovladac u) I/O zarzen obsahuje drivery (ovladace) jednotliv ych hardwarov ych I/O zarzen PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 3
Spr ava informacnch sklad u, spr ava soubor u dat OS poskytuje jednotn y, logick y pohled na sklad informac abstrahuje fyzick e vlastnosti sklad u do logick ych jednotek { soubor u kazd y druh pamet'ov eho m edia je ovl adan y relevantnm druhem zarzen (p askov y stojan, diskov y stojan,... ) jednotliv e druhy zarzen se vz ajemne lis rychlost prstupu, kapacitou, rychlosti prenosu dat, prstupovou metodou (sekvencne, libovolne,... ),... Soubor identikovateln a kolekce souvisejcch informac denovan a sv ym tv urcem vnitrne se clen na samostatne zprstupniteln e z aznamy z aznamy b yvaj vnitrne strukturov any do polozek reprezentace jak program u, tak i dat ve vnejs pameti Spr ava informacnch sklad u, spr ava soubor u dat Syst em spr avy soubor u odpovedn y za: vytv aren a rusen adres ar u (katalog u) organizov an soubor u do katalog u { adres ar u poskytnut n astroj u pro pridelov an a kontrolov an prstupov ych pr av vytv aren a rusen soubor u podporu primitivnch operac pro manipulaci se soubory a s adres ari zobrazov an soubor u do konkr etne pouzit e sekund arn pameti archivov an soubor u na stabiln energeticky nez avisl a m edia zprstup nov an, dopl nov an z aznam u soubor u PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 4 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 5 Spr ava vn ejs (sekund arn) pam eti Hlavn (prim arn, operacn) pam et' je energeticky z avisl a, neschopn a udrzet informaci trvale m a malou kapacitu na to, aby v n bylo mozn e uchov avat vsechna data a programy poctacov y syst em mus obsahovat pro z alohov an hlavn (prim arn) pam eti energeticky nez avislou, dostatecn e kapacitn sekund arn pam et' i za cenu nemoznosti prm e dostupnosti jejch obsah u procesorem V etsina soucasn ych poctac u pouzv a pro roli vn ejs (sekund arn) pameti pro uchov av an program u i dat disky OS co spr avce vnejs (sekund arn) pameti je odpovedn y za Spr avu voln e pameti na disku Pridelov an pameti disku soubor um Pl anov an cinnosti disku Spr ava vn ejs (sekund arn) pam eti mnoh e typy vnejsch pamet nemus b yt,,pohotov e", rychl e terci aln pameti optick e pameti, magnetick e p asky,... d ale pak pameti typu WORM (write-once, read-many-times) st ale se mus ale vykon avat jejich spr ava PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 6 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 7
Syst em ochran, bezpecnost Syst em ochran, bezpecnost Ochrana mechanismus pro rzen prstupu k syst emov ym a k uzivatelsk ym zdroj um Bezpecnost obrana syst emu proti vnitrnm i vnejsm utok um, odmtnut sluzby, cervi, viry, zcizen identity, zcizen sluzby,... Syst em ochran je souc ast vsech vrstev OS Syst em ochran mus rozlisovat mezi autorizovan ym a neautorizovan ym pouzitm poskytnout prostredky pro sv e prosazen OS obvykle prim arn e rozlisuje uzivatele, aby mohl urcit co kdo m uze delat identita uzivatele se obvykle reprezentuje jm enem a asociovan ym cslem (user ID, uid, security ID,... ), po jednom na jednoho uzivatele uid se spojuje se soubory, procesy,..., kter e uzivatel vlastn a odvozuj se z n prstupov a/manipulacn pr ava obvykle lze nejakou formou pracovat se skupinami uzivatel u, ty pak maj sv e gid (group ID) pokud uzivatel pouzv a bezpecn y n astroj, p uvodne vlastnen y uzivatelem s vyssmi prstupov ymi pr avy, m uze takov y n astroj b yt uzivatelem provozovan y s pr avy jeho tv urce, efektivn uid (eective ID) t ehoz programu se m uze menit PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 8 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 9 Interpret prkaz u Hlavn prstupy k rozvoji architektu OS V etsina zad an je pred av ana operacnmu syst emu rdcmi prkazy, kter e zad avaj pozadavky na spr avu a vytv aren proces u ovl ad an I/O spr avu sekund arnch pamet spr avu hlavn pameti zprstup nov an soubor u ochranu pr aci v sti,... program, kter y cte a interpretuje rdic prkazy se naz yv a v r uzn ych OS r uzn ymi n azvy Mikroj adrov a architektura, Microkernel architecture mikroj adro OS: pouze spr ava pameti, spr ava procesor u, komunikace mezi procesy ostatn sluzby OS pln procesy (tzv. servery) bez v uzivatelsk em rezimu, pro mikroj adro maj charakter aplikac koncept zjednodusuje implementaci OS, pruznost, je vhodn y pro distribuovan e prostred command-line interpreter, shell, command.com,... z akladn funkc interpretu prkaz u je zsk avat rdic prkazy a zajist'ovat jejich proveden PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 30 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 31
Hlavn prstupy k rozvoji architektu OS Hlavn prstupy k rozvoji architektu OS Multi-vl akna, Multithreading Proces lze resit vce soubezn ymi sekvencnmi toky operac { vl akny vl akno je jednotkou pl anov an, nikoliv subjekt vlastnc zdroje, vl akno je c ast procesu, proces je subjekt vlastnc zdroje vl akno m a sv uj kontext a svoji datovou oblast umoz nujc vol an podprogram u program atorovi d av a silnejs n astroje pro modularitu aplikace a casov eho rzen ud alost souvisejcch s aplikac Symetrick y multiprocesing, Symetric multiprocessing poctac vybaven y n shodn ymi procesory se spolecnou pameti a se spolecn ymi IO velk y v ykon { OS pl anuje prov aden vl aken / proces u, n proces u / vl aken m uze bezet paralelne vysok a dostupnost v ykonu { porucha 1 procesoru nezastav syst em inkrement aln zvysov an v ykonu { dopl nov anm procesor u snadn a umernost dostupn eho v ykonu aplikaci PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 3 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 33 Symetrick y multiprocesing V ypocetn prostred tradicn poctace pojem tradice se v pr ubehu casu dost mlz kancel arsk aprostred { termin aly pripojen e ke strediskov emu poctaci,... PC pripojen e k sti,..., webovsk a intern / extern dostupnost prot al u,... dom ac ste { izolovan y PC,..., st', s rewallovou ochranou,... klient-server model jednoduch e termin aly byly nahrazeny propracovan ymi PC { klienti centr aln v ypocetn zdroj (server) reaguje na pozadavky klient u server a klienti typicky propojeni st server { datab aze, katalog soubor u, tiskov y syst em,... PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 34 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 35
Prklady architektur klient-server s vce vl akny Thread-per-request Architecture I/O vl akno serveru vytvor pro resen kazd eho nov eho pozadavku klienta na zprstupnen vzd alen eho objektu nov e vl akno (worker) po splnen sluzby se vl akno worker samo zrus vl akna nesdl z adnou frontu { maxim aln propustnost cast e vytv aren / rusen vl aken { vyss rezie Prklady architektur klient-server s vce vl akny Thread-per-connection Architecture Server vytvor nov e vl akno pro kazd e spojen s jednm klientem a pozadavky jednotliv ych klient u res sekvencne po uzavren spojen s klientem se vl akno zrus mens rezie nez v prpade Thread-per-request Architecture potenci alne nis propustnost dky frontov an pozadavk u PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 36 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 37 Prklady architektur klient-server s vce vl akny Thread-per-object Architekture Kazd y zprstup novan y objekt serveru je obsluhovan y samostatn ym vl aknem I/O vl akno prijm a pozadavky klient u na zprstupnen objekt u pozadavky na t yz objekt se rad do fronty na objekt vl akno se zrus pri zrusen objektu St'ov y OS Unix, Windows St'ov y OS vs. distribuovan y OS OS rdic 1 uzel ste s vestaven ymi schopnostmi pracovat se vzd alen ymi zdroji v sti nekter e zdroje lze zprstup novat se st'ovou transparenc (NFS zprstup nujc soubory v sti,... ) mnoh e zdroje si zachov avaj uzlovou autonomii (OS rd procesy ve sv em uzlu, pl anovat procesy v jin em uzlu nelze, uzivatel se mus otevrat relace v jednotliv ych uzlech explicitne,... Distribuovan y OS zatm v komercn, ekonomicky efektivn rovine neexistuje cel a st' se uzivateli jev jako jedin y syst em PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 38 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 39
Middleware Softwarov a vrstva lezc mezi aplikacemi a OS poskytujc aplikacm programovac abstrakci a maskov an heterogenity podp urn ych st, poctac u, operacnch syst em u, programovacch jazyk u,... Poskytuje aplikacnm program ator um jednotn y v ypocetn model vesm es na b azi paradigmat server-klient, prp. dalsch forem pro podporu distribuovan ych aplikac (napr. RPC) v prostred podporovan em st'ov ym OS (protoze distribuovan e OS jsou chim era) middleware = procesy a objekty v poctacch propojen ych st + syst em v ymen zpr av CORBA, Java RMI, WEB Services, DCOM,... Middleware Nadstavba st'ov eho OS resc neexistenci distribuovan ych OS OS bezc v uzlu (j adro OS + sluzby na uzivatelsk e urovni) poskytuje lok aln abstrakce a ty vyuzv a middleware pro implementaci mechanism u pro vzd alen e manipulace s objekty a procesy v uzlech (res se uv aznut, transakce, obnova po v ypadku, vz ajemn e vyloucen kritick ych sekc proces u, shoda,...,... ) Kombinace middleware a st'ov eho OS je akceptovateln e kompromisn resen vyv azenosti mezi pozadavky na autonomii na jedn e stran e a st'ovou transparentost na druh e strane PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 40 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 41 Typov e hierarchick e uspor ad an distribuovan eho syst emu Vol an sluzeb syst emu, System Calls Vol an sluzeb syst emu podporuje rozhran mezi b ezcmi procesy a operacnm syst emem program atorsk e rozhran na sluzby OS genericky dostupn e na urovni symbolick eho strojov e jazyka (assembly-language) Jazyky urcen e jako n ahrada symbolick eho strojov e jazyka pro syst emov e programov an umoz nuj volat system calls prmo, (napr. knihovny C, C++) Aplikacn programy si sluzby OS zprstup nuj spse pres API (Application Program Interface) vysok e urovn e nez prm ym vol anm syst emu snadnejs prenositelnost program u srozumitelnejs vyj adren PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 4 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 43
Typy / kategorie poskytovan ych sluzeb, System Calls Typy / kategorie poskytovan ych sluzeb, System Calls Rzen proces u, Process Control spr ava soubor u, File management zaveden programu do hlavn pameti a start jeho resen { procesu, ukoncen procesu (norm alne, nestandardne { s indikac chyby) fork(), exec(), wait(), abort(),... Ilustrativn v ycet typ u load, execute, create process, fork,... end, abort, terminate process,... get process attributes, set process attributes wait for time wait event, signal event allocate memory, free memory... Manipulace s daty ve spr ave syst emu soubor u schopnost cst, zapisovat, vytv aret a rusit soubory dat na vnejsch pametech a data v souborech seskupen a open(), close(), chmod(), link(), stat(), creat(), get(), put(),... Ilustrativn v ycet typ u create le, delete le open, close read, write, reposition get le attributes, set le attributes,... PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 44 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 45 Typy / kategorie poskytovan ych sluzeb, System Calls Typy / kategorie poskytovan ych sluzeb, System Calls Spr ava IO zarzen, Device Management Udrzba informac, Information Maintenance Proveden I/O operace, IO Operation uzivatelsk y program nesm prov adet I/O operace prmo, OS mus proto poskytovat prostredky vykon avajc I/O ioctl(), select(), read(), write(),... Ilustrativn v ycet typ u request device, release device read, write, reposition get device attributes, set device attributes logically attach, logically detach devices... time(), acct(), gettimeofday(),... Ilustrativn v ycet typ u get time, get date, set time, set date get system data, set system data get process attributes, le attributes, device attributes set process attributes, le attributes, device attributes... Detekce chyb a chybov e rzen, Error Control z aruka za spr avnost v ypoctu detekc chyb v CPU, v pamet'ov em hardware, v I/O zarzench a v programech PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 46 PB15 Operacn systemy { Typologie, funkcn skladby a architektury OS 47
Typy / kategorie poskytovanych slu zeb, System Calls Vnit rn slu zby OS Komunikace, komunikace mezi procesy Communications, Interproces Communications (IPC) vym ena informac mezi procesy realizovana { bud'to v ramci jednoho po c ta ce { nebo mezi ruzn ymi po c ta ci pomoc s t e implementace bud'to sd lenou pam et nebo p redav an m zprav socket(), accept(), send(), recv(), wait(), signal(),... mezi v ce soub ez n e operuj c ch u zivatelu resp. jejich procesu ktery u zivatel pou z va c l { u ctovan za slu zby, sb er statistik pro planov an,... create communication connection, delete communication connection send message, receive message transfer status information attach remote devices, detach remote devices PB15 Operacn { Typologie, funkcn u ctovan, resp. protokolovan, Accounting udr zovan p rehledu o tom, kolik kterych zdroju systemu Komunikace, Communication nejsou ur ceny k tomu, aby pomahaly p r mo u zivateli, slou z pro zabezpe cn efektn ho provozu systemu P rid elovan prost redku (zdroju), Resource Allocation ochrana a bezpe cnost, Protection / Security pe ce o to, aby ve skere p r stupy k systemov ym zdrojum,,byly pod kontrolou" 48 Ilustra cn p r klad { kopie jednoho souboru do jineho souboru PB15 Operacn { Typologie, funkcn 49 Funkce ReadFile() c ten ze souboru dat PB15 Operacn { Typologie, funkcn Ilustrace standardn ho API { Win3 Volan slu zeb systemu, System Calls 50 HANDLE le { jmeno souboru, ze ktereho se c te LPVOID bu er { c lova vyrovnavac pam et' DWORD bytestoread { delka vyrovnavac pam eti LPDWORD bytesread { delka p re ctenych dat LPOVERLAPPED ovl { c ekat / ne cekat na konec operace PB15 Operacn { Typologie, funkcn 51
Ilustrace standardn ho Java API Vztah API { volan systemu { OS metoda read() z t r dy java.io.inputstream metoda vrac int reprezentuj c po cet p re ctenych bytu IOException { odbo cka pro r e sen IO chyby byte [] b { c lovy bu er int o { po cate cn o set v b, kam se zapisuj data int len maximum c tenych bytu PB15 Operacn { Typologie, funkcn 5 Volan systemu, p r klad standardn knihovny C PB15 Operacn { Typologie, funkcn PB15 Operacn { Typologie, funkcn 53 Volan systemu, p r klad, program pro tisk adresa re 54 PB15 Operacn { Typologie, funkcn 55
Metody p redav an parametru mezi be z c m procesem a OS Volan systemu, p redav an parametru tabulkou v registrech { registry jsou dostupne procesu i OS v tabulce ulo zene v hlavn pam eti { adresa tabulky se um st v registru, (Linux, Solaris) v zasobn ku { { zasobn k je dostupny procesu i OS { program provede,,push"(store), OS provede,,pull"(load) PB15 Operacn { Typologie, funkcn 56 Volan systemu, typovy p r klad zasobn kem PB15 Operacn { Typologie, funkcn Volan systemu, p r klad, maximaln e jednoduchy 57 shell 11 kroku r e sen volan slu zby read(fd, buffer, nbytes) (knihovna C) PB15 Operacn { Typologie, funkcn 58 PB15 Operacn { Typologie, funkcn 59