Typologie, funkcn skladby a architektury OS PB 152 Operacn syst emy Jan Staudek http://www. .muni.cz/usr/staudek/vyuka/ Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Verze: jaro 2017 Obsah predn asky 2 Typologie operacnch systemu 2 Genericke komponenty operacnch systemu 2 Trendy vyvoje operacnch systemu 2 Typologie vypocetnch prostred 2 Koncept sluzeb poskytovanych OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 1 Typologie OS 2 Mainframe operating systems, OS strediskovych poctacu 2 Server operating systems, OS serveru 2 Multiprocessor operating systems, OS multiprocesoru 2 Personal computer operating systems, OS osobnch poctacu 2 Handheld operating systems, OS tabletu, mobilu, ... 2 Embedded operating systems, OS vestavenych poctacu 2 Sensor node operating systems, OS uzlu senzorovych st 2 Real-time operating systems, OS pro rzen v realnem case 2 Smart card operating systems, OS chipovych karet Studujeme obecne, spolecne, genericke rysy OS techto typu OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 2 Typologie OS 2 Mainframe operating systems OS systemu datovych center spousta periferi (tisce disku, spousty terabajtu dat) spousta procesu se res soubezne s obrovskym objemem IO davkove zpracovan + transakcn zpracovan + interaktivn zpracovan davkove { generovan zprav o produkci, ... transakcn { rezervacn systemy, ... interaktivn { kladen dotazu do velke databaze V soucasnosti orientace na LINUX 2 Server operating systems OS velmi velkeho PC (vykonem, pamet'ovou a komunikacn kapacitou) obsluha mnoha vzdalenych uzivatelu (klientu) klientum poskytuje tiskove, souborove, webovske ...sluzby typict reprezentanti: Solaris, FreeBSD, Linux, Windows Server 200x Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 3 Typologie OS 2 Multiprocessor operating systems typicky variace na server/mainframe OS v soucasnosti implementace i na PC a mobilech specialn planovan cinnosti vce CPU problem soubehu vce funkc OS v soucasnosti i na noteboocch s vcejadrovymi CPU Rys implementovany jak v Linuxech, tak i ve Windows 2 Personal computer operating systems V soucasnosti vzdy podpora multitaskingu Cl { dobra podpora jednomu uzivateli { monouzivatelske OS zpracovan dokumentu, tabulkove kalkulatory, prstup na Internet, ... Prklady { Linux, FreeBSD, Windows 10, Masintosh OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 4 Typologie OS 2 Handheld operating systems OS pro tablety, chytre mobily, ... Nepoctaj s vnejs pamet Jsou propracovane z hlediska ovladan telefonie, digifota, ... Bezne se provozuj (ne vzdy duveryhodne) aplikace tretch stran Prklady OS: iOS* 5.0, Microsoft Windows* Phone 7.0, Android Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 5 Typologie OS 2 Embedded operating systems Rd zarzen, ktera nevypadaj jako poctac uzivatel nema moznost nic do systemu instalovat OS mikrovlnek, TV, v autech, v DVD recorderech ... casta orientace na real-time nelze instalovat zadne nove aplikace, vse je typicky v ROM QNX/www.qnx.com, VxWorks/www.windriver.com/products/vxworks, oba kompatibiln s POSIX 2 Sensor node operating systems OS uzlu senzorovych st, senzorovy uzel { poctac+senzor(y)+komunikace Dlouhodoba cinnost v bezdratove sti, mala pamet', bateriovy provoz Veskere programy byvaj instalovane predem Prklad: TinyOS, www.tinyos.net/ Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 6 Typologie OS 2 Smart card operating systems omezenost vykonem, pamet, extremne jedoduche OS obvykle v ROM je interpretr Java Virtual Machine aplikace { javovske applety (male programy) nekdy i v rezimu multitasking 2 Real-time operating systems klcovy problem { faktor casu a plnen uloh v case 2 Modelove prostred naseho studia vymezuj rodiny operacnch systemu Unix a Windows tam kde to bude vhodne zmnme speci ka derivatu systemu Unix (Linux, Mac OS X, Android apod.) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 7 Studovan e b azov e generick e probl emy resen e v OS 2 Architektura, skladba OS 2 Procesy, { interpretace programu, sdlen CPU procesy, kooperace procesu 2 Adresove prostory, kooexistence mnoha deju v mnoha ruznych pametech 2 Input/Output, ovladan periferi 2 Ochrany, bezpecnost 2 Rozhran sluzeb pro procesy, pro uzivatele 2 Soubory dat, dlouhodob´e uchov´av´an´ı dat na vnˇejˇs´ıch pamˇetech (PV 062) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 8 B azov a idea OS 2 OS poskytuje uzivateli / aplikacm jednoduche a pritom mocnejs rozhran nez hardware 2 Uzivatele / aplikace volaj provaden sluzeb vysoke urovne, dostupnych na rozhranch OS a vykonavanych OS 2 Uzivatele / aplikace nemohou pristupovat k privilegovanym rysum hardware prmo 2 Sestava sluzeb poskytovanych OS je to, co si mysl uzivatele / aplikace, ze je OS 2 uzivatele / aplikace nic jineho nez sluzby OS nevid 2 Vsechny soudobe OS povazuj za genericke predmety spravy PROCESY { deje rzene programy ulozenymi v pameti a realizovane CPU a periferiemi Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 9 Generick e funkcn komponenty OS 2 Sprava procesoru { kdy ten ktery proces ,,pobez" 2 Sprava procesu a vlaken { podpora soubeznosti deju 2 Sprava (hlavn, operacn) pameti { rzen jejho vyuzvan 2 Sprava souboru { dat uchovavanych na vnejs pameti 2 Sprava I/O systemu { sprava cinnosti perifernch zarzen 2 Sprava vnejs (sekundarn) pameti { rzen jejho vyuzvan 2 Networking (st'ovan) { podpora distribuovanych systemu 2 System ochran { zajisten bezpecnosti 2 Interpret prkazu { uzivatelu u terminalu 2 Systemove programy { kompilatory, editory, ... stavove informace, podpora jazyku, podpora komunikace, manipulace se soubory, aplikacn systemy (databaze, ...) Tou ci onou formou jsou implementovane v kazdem OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 10 Generick e funkcn komponenty OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 11 Generick e funkcn komponenty OS, sirs popis 2 Sprava procesoru dispecer, kratkodoby planovac 2 Sprava procesu a vlaken vytvaren a rusen procesu a vlaken pozastavovan a obnova behu procesu a vlaken mechanismy synchronizace procesu a vlaken mechanismy komunikace mezi procesy a vlaken 2 Sprava (hlavn, operacn) pameti zobrazovan LAP do FAP virtualizace pameti sledovan ktere casti FAP jsou pouzvany a kym mechanismy pridelovan a uvolnovan pameti (FAP) na zadost strednedobe planovan Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 12 Generick e komponenty OS, sirs popis, 2 2 Sprava I/O systemu sprava vyrovnavacch pameti univerzaln rozhran ovladacu ovladace 2 Sprava vnejs (sekundarn) pameti sprava volne pameti pridelovan pameti planovan optimalnho porad (diskovych) operac 2 Sprava souboru (system souboru, File System) manipulace s kolekcemi dat na vnejsch pametech vytvaren, rusen, katalogizace, archivace, obnova, ...souboru Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 13 Generick e komponenty OS, sirs popis, 3 2 Networking (st'ovan), distribuovane systemy kooperace procesoru nesdlejcch ani pamet' ani hodiny kazdy procesor ma svou lokaln pamet' a hodiny propojen komunikacn st nastroje pro sdlen zdroju (distribuovany system souboru, ...) 2 Interpret prkazu rozhran uzivatele na sluzby operacnho systemu 2 System ochran mechanismy pro rzen prstupu procesu a uzivatelu ke zdrojum rozlisovan autorizovanych a neautorizovanyych pouzvan speci kace vnucovanych ochrannych opatren nastroje pro prosazovan ochrannych opatren Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 14 Spr ava proces u 2 proveden programu { proces (process, task) program { pasivn entita proces { aktivn entita, vce procesu muze byt rzeno tmtez programem soubezne proces { jednotka planovan cinnost de novanych programem 2 proces potrebuje pro svoji realizaci jiste zdroje: CPU (procesor), pamet', I/O zarzen, soubory ... inicializacn data proces { entita schopna vlastnit zdroje 2 Omezena varianta pojmu proces { vlakno jednotka POUZE planovan cinnost de novana v programu vlakna nic nevlastn, vyuzvaj zdroje pridelene JEJICH procesu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 15 Spr ava proces u 2 1-vlaknovy proces proces vlastnc jediny ctac instrukc urcujc prste provadenou instrukci proces provad instrukce sekvencne, po jedne instrukci v case, dokud se neukonc nebo dokud nen jeho beh preruseny beh procesu nemus byt v case kontinualn { multitasking 2 vce-vlaknovy proces proces vlastnc jeden ctac instrukc pro kazde v nem de novane vlakno proces provad instrukce vlaken sekvencne, po jedne v case, dokud se vlakno neukonc nebo dokud nen jeho beh preruseny vlakna jsou resena v rezimu multiprogramovan/multitasking proces de nujc vlakna je rovnez reseny v rezimu multiprogramovan/multitasking Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 16 Spr ava proces u 2 Studujeme principy univerzalnch OS OS umoznuje sobezne provaden mnoha procesu a tyto procesy nalez mnoha uzivatelum pro resen procesu ma OS k dispozici alespon jeden procesor soubeznost se dosahuje prepnanm procesoru(u) mezi procesy (vlakny) 2 OS je z hlediska spravy procesu odpovedny za Vytvaren a rusen uzivatelskych a systemovych procesu Potlacen a obnovovan behu procesu Poskytnut mechanismu pro { synchronizaci procesu, pro { komunikaci mezi procesy a pro { zvladan uvaznut procesu (vesmes na urovni middleware) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 17 Spr ava procesor u 2 OS (sprava procesoru) je z hlediska spravy procesoru odpovedny za vyber procesu bezcho na (dostupnem) procesoru vyber se rd podle de novane planovac politiky { cyklicke planovan, prioritn planovan, ... rovnez dispecer, planovac CPU, ... 2 Planovan vlaken res podle typu OS jadro OS (sprava procesoru) jak pro procesy tak i pro vlakna ,,run-time support", tj. moduly na urovni knihoven, resc planovan vlaken v ramci procesu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 18 Spr ava (hlavn, operacn, prim arn) pam eti 2 adresovy prostor hlavn (operacn, primarn) pamet' Fyzicky Adresovy Prostor, FAP pole samostatne adresovatelnych slov nebo bytu repositar elektronicky dostupnych dat CPU a I/O zarzenm repozitar instrukc interpretovanych procesorem 2 Hlavn pamet je energeticky zavisle zarzen pamatovana data se ztrac po vypadku energie Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 19 Spr ava (hlavn, operacn, prim arn) pam eti 2 Sprava (hlavn) pameti je odpovedna za veden prehledu, ktery proces kterou cast pameti v danem okamziku vyuzva rozhodovan, kteremu procesu uspokojit jeho pozadavek na prostor pameti po uvolnen prostoru pameti. pridelovan a uvolnovan pameti podle potreby rozhodovan, ktery proces nebo ktera cast procesu uvoln hlavn pamet', aby bylo mozno uspokojit (opravnene, prioritnejs, ...) pozadavky jinych procesu na prostor v hlavn pameti Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 20 Spr ava (hlavn) pam eti, virtualizace pam eti 2 pohled programatora na pamet' v poctaci 2 Logicky adresovy prostor, LAP format LAP je vymezen formatem adresy v instrukci kapacita LAP je dana bitovou srkou adresy v instrukci OS zavad do FAP casti programu a dat podle potreby v soucasnosti se programy uchovavaj ve forme prelozen do LAP tranformace adres LAP na adresy FAP se provadej az pri provaden instrukce v CPU 2 Struktury LAP linearn (pole stranek) { virtualizace strankovanm na zadost dvoudimensionaln { kolekce samostatnych linearnch segmentu (promenne delky), virtualizace segmentovanm na zadost, segmentovany LAP byva casto navc i strankovany Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 21 Spr ava (hlavn) pam eti, virtualizace pam eti 2 Linearn LAP muze byt zobrazovany do FAP identitou 2 bezne se pouzvaj propracovanejs zpusoby zobrazovan 2 Zobrazovan LAP do dostupneho FAP se deje pomoc spoluprace hardware a funkcionality jadra OS DAT, Dynamic Address Translation take MMU, Memory Management Unit 2 Pri odkazan msta s adresou LAP, ktere nen zobrazeno ve FAP sprava pameti aktivovana prerusenm nalezne (vytvor) ve FAP volny blok na toto msto zavede blok z obrazu LAP s pozadovanou informac 2 nutna uzka spoluprace se specializovanym systemem souboru na vnejs pameti se udrzuje kopie LAP procesu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 22 Spr ava I/O syst emu 2 skryva pred uzivatelem speci ka konkretnch I/O zarzen 2 organizuje repositar vyrovnavacch pamet a cache pamet 2 organizuje spooling, prekryvan vystupu jednoho procesu se vstupy dalsho procesu, resp. dalsch procesu 2 podporuje univerzaln rozhran driveru (ovladacu) I/O zarzen 2 obsahuje drivery (ovladace) jednotlivych hardwarovych I/O zarzen Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 23 Spr ava informacnch sklad u, spr ava soubor u dat 2 OS poskytuje jednotny, logicky pohled na sklad informac abstrahuje fyzicke vlastnosti skladu do logickych jednotek { souboru kazdy druh pamet'oveho media je ovladany relevantnm druhem zarzen (paskovy stojan, diskovy stojan, ...) jednotlive druhy zarzen se vzajemne lis rychlost prstupu, kapacitou, rychlosti prenosu dat, prstupovou metodou (sekvencne, libovolne, ...), ... 2 Soubor identi kovatelna kolekce souvisejcch informac de novana svym tvurcem vnitrne se clen na samostatne zprstupnitelne zaznamy zaznamy byvaj vnitrne strukturovany do polozek reprezentace jak programu, tak i dat ve vnejs pameti Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 24 Spr ava informacnch sklad u, spr ava soubor u dat 2 System spravy souboru odpovedny za: vytvaren a rusen adresaru (katalogu) organizovan souboru do katalogu { adresaru poskytnut nastroju pro pridelovan a kontrolovan prstupovych prav vytvaren a rusen souboru podporu primitivnch operac pro manipulaci se soubory a s adresari zobrazovan souboru do konkretne pouzite sekundarn pameti archivovan souboru na stabiln energeticky nezavisla media zprstupnovan, doplnovan zaznamu souboru Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 25 Spr ava vn ejs (sekund arn) pam eti 2 Hlavn (primarn, operacn) pamet' je energeticky zavisla, neschopna udrzet informaci trvale ma malou kapacitu na to, aby v n bylo mozne uchovavat vsechna data a programy 2 poctacovy system mus obsahovat pro zalohovan hlavn (primarn) pameti energeticky nezavislou, dostatecne kapacitn sekundarn pamet' i za cenu nemoznosti prme dostupnosti jejch obsahu procesorem 2 Vetsina soucasnych poctacu pouzva pro roli vnejs (sekundarn) pameti pro uchovavan programu i dat disky 2 OS co spravce vnejs (sekundarn) pameti je odpovedny za Spravu volne pameti na disku Pridelovan pameti disku souborum Planovan cinnosti disku Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 26 Spr ava vn ejs (sekund arn) pam eti 2 mnohe typy vnejsch pamet nemus byt ,,pohotove", rychle tercialn pameti | opticke pameti, magneticke pasky, ... dale pak pameti typu WORM (write-once, read-many-times) stale se mus ale vykonavat jejich sprava Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 27 Syst em ochran, bezpecnost 2 Ochrana mechanismus pro rzen prstupu k systemovym a k uzivatelskym zdrojum 2 Bezpecnost obrana systemu proti vnitrnm i vnejsm utokum, odmtnut sluzby, cervi, viry, zcizen identity, zcizen sluzby, ... 2 System ochran je soucast vsech vrstev OS 2 System ochran mus rozlisovat mezi autorizovanym a neautorizovanym pouzitm poskytnout prostredky pro sve prosazen Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 28 Syst em ochran, bezpecnost 2 OS obvykle primarne rozlisuje uzivatele, aby mohl urcit co kdo muze delat identita uzivatele se obvykle reprezentuje jmenem a asociovanym cslem (user ID, uid, security ID, ...), po jednom na jednoho uzivatele uid se spojuje se soubory, procesy, ..., ktere uzivatel vlastn a odvozuj se z n prstupova/manipulacn prava obvykle lze nejakou formou pracovat se skupinami uzivatelu, ty pak maj sve gid (group ID) pokud uzivatel pouzva bezpecny nastroj, puvodne vlastneny uzivatelem s vyssmi prstupovymi pravy, muze takovy nastroj byt uzivatelem provozovany s pravy jeho tvurce, efektivn uid (e ective ID) tehoz programu se muze menit Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 29 Interpret prkaz u 2 Vetsina zadan je predavana operacnmu systemu rdcmi prkazy, ktere zadavaj pozadavky na spravu a vytvaren procesu ovladan I/O spravu sekundarnch pamet spravu hlavn pameti zprstupnovan souboru ochranu praci v sti, ... 2 program, ktery cte a interpretuje rdic prkazy se nazyva v ruznych OS ruznymi nazvy command-line interpreter, shell, command.com, ... 2 zakladn funkc interpretu prkazu je zskavat rdic prkazy a zajist'ovat jejich proveden Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 30 Hlavn prstupy k rozvoji architektu OS 2 Mikrojadrova architektura, Microkernel architecture mikrojadro OS: pouze sprava pameti, sprava procesoru, komunikace mezi procesy ostatn sluzby OS pln procesy (tzv. servery) bez v uzivatelskem rezimu, pro mikrojadro maj charakter aplikac koncept zjednodusuje implementaci OS, pruznost, je vhodny pro distribuovane prostred Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 31 Hlavn prstupy k rozvoji architektu OS 2 Multi-vlakna, Multithreading Proces lze resit vce soubeznymi sekvencnmi toky operac { vlakny vlakno je jednotkou planovan, nikoliv subjekt vlastnc zdroje, vlakno je cast procesu, proces je subjekt vlastnc zdroje vlakno ma svuj kontext a svoji datovou oblast umoznujc volan podprogramu programatorovi dava silnejs nastroje pro modularitu aplikace a casoveho rzen udalost souvisejcch s aplikac Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 32 Hlavn prstupy k rozvoji architektu OS 2 Symetricky multiprocesing, Symetric multiprocessing poctac vybaveny n shodnymi procesory se spolecnou pameti a se spolecnymi IO velky vykon { OS planuje provaden vlaken / procesu, n procesu / vlaken muze bezet paralelne vysoka dostupnost vykonu { porucha 1 procesoru nezastav system inkrementaln zvysovan vykonu { doplnovanm procesoru snadna umernost dostupneho vykonu aplikaci Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 33 Symetrick y multiprocesing Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 34 V ypocetn prostred 2 tradicn poctace pojem tradice se v prubehu casu dost mlz kancelarskaprostred { terminaly pripojene ke strediskovemu poctaci, ... PC pripojene k sti, ..., webovska intern / extern dostupnost protalu, ... domac ste { izolovany PC, ..., st', s rewallovou ochranou, ... 2 klient-server model jednoduche terminaly byly nahrazeny propracovanymi PC { klienti centraln vypocetn zdroj (server) reaguje na pozadavky klientu server a klienti typicky propojeni st server { databaze, katalog souboru, tiskovy system, ... Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 35 Prklady architektur klient-server s vce vl akny 2 Thread-per-request Architecture I/O vlakno serveru vytvor pro resen kazdeho noveho pozadavku klienta na zprstupnen vzdaleneho objektu nove vlakno (worker) po splnen sluzby se vlakno worker samo zrus vlakna nesdl zadnou frontu { maximaln propustnost caste vytvaren / rusen vlaken { vyss rezie Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 36 Prklady architektur klient-server s vce vl akny 2 Thread-per-connection Architecture Server vytvor nove vlakno pro kazde spojen s jednm klientem a pozadavky jednotlivych klientu res sekvencne po uzavren spojen s klientem se vlakno zrus mens rezie nez v prpade Thread-per-request Architecture potencialne nis propustnost dky frontovan pozadavku Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 37 Prklady architektur klient-server s vce vl akny 2 Thread-per-object Architekture Kazdy zprstupnovany objekt serveru je obsluhovany samostatnym vlaknem I/O vlakno prijma pozadavky klientu na zprstupnen objektu pozadavky na tyz objekt se rad do fronty na objekt vlakno se zrus pri zrusen objektu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 38 St'ov y OS vs. distribuovan y OS 2 St'ovy OS Unix, Windows OS rdic 1 uzel ste s vestavenymi schopnostmi pracovat se vzdalenymi zdroji v sti nektere zdroje lze zprstupnovat se st'ovou transparenc (NFS zprstupnujc soubory v sti, ...) mnohe zdroje si zachovavaj uzlovou autonomii (OS rd procesy ve svem uzlu, planovat procesy v jinem uzlu nelze, uzivatel se mus otevrat relace v jednotlivych uzlech explicitne, ... 2 Distribuovany OS zatm v komercn, ekonomicky efektivn rovine neexistuje cela st' se uzivateli jev jako jediny system Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 39 Middleware 2 Softwarova vrstva lezc mezi aplikacemi a OS poskytujc aplikacm programovac abstrakci a maskovan heterogenity podpurnych st, poctacu, operacnch systemu, programovacch jazyku, ... 2 Poskytuje aplikacnm programatorum jednotny vypocetn model vesmes na bazi paradigmat server-klient, prp. dalsch forem pro podporu distribuovanych aplikac (napr. RPC) v prostred podporovanem st'ovym OS (protoze distribuovane OS jsou chimera) 2 middleware = procesy a objekty v poctacch propojenych st + system vymen zprav 2 CORBA, Java RMI, WEB Services, DCOM, ... Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 40 Middleware 2 Nadstavba st'oveho OS resc neexistenci distribuovanych OS 2 OS bezc v uzlu (jadro OS + sluzby na uzivatelske urovni) poskytuje lokaln abstrakce a ty vyuzva middleware pro implementaci mechanismu pro vzdalene manipulace s objekty a procesy v uzlech (res se uvaznut, transakce, obnova po vypadku, vzajemne vyloucen kritickych sekc procesu, shoda, ..., ...) 2 Kombinace middleware a st'oveho OS je akceptovatelne kompromisn resen vyvazenosti mezi pozadavky na autonomii na jedne strane a st'ovou transparentost na druhe strane Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 41 Typov e hierarchick e uspor ad an distribuovan eho syst emu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 42 Vol an sluzeb syst emu, System Calls 2 Volan sluzeb systemu podporuje rozhran mezi bezcmi procesy a operacnm systemem 2 programatorske rozhran na sluzby OS genericky dostupne na urovni symbolickeho strojove jazyka (assembly-language) Jazyky urcene jako nahrada symbolickeho strojove jazyka pro systemove programovan umoznuj volat system calls prmo, (napr. knihovny C, C++) 2 Aplikacn programy si sluzby OS zprstupnuj spse pres API (Application Program Interface) vysoke urovne nez prmym volanm systemu snadnejs prenositelnost programu srozumitelnejs vyjadren Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 43 Typy / kategorie poskytovan ych sluzeb, System Calls 2 Rzen procesu, Process Control zaveden programu do hlavn pameti a start jeho resen { procesu, ukoncen procesu (normalne, nestandardne { s indikac chyby) fork(), exec(), wait(), abort(), ... Ilustrativn vycet typu 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 ... Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 44 Typy / kategorie poskytovan ych sluzeb, System Calls 2 sprava souboru, File management Manipulace s daty ve sprave systemu souboru schopnost cst, zapisovat, vytvaret a rusit soubory dat na vnejsch pametech a data v souborech seskupena open(), close(), chmod(), link(), stat(), creat(), get(), put(), ... Ilustrativn vycet typu create le, delete le open, close read, write, reposition get le attributes, set le attributes, ... Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 45 Typy / kategorie poskytovan ych sluzeb, System Calls 2 Sprava IO zarzen, Device Management Proveden I/O operace, IO Operation uzivatelsky program nesm provadet I/O operace prmo, OS mus proto poskytovat prostredky vykonavajc I/O ioctl(), select(), read(), write(), ... Ilustrativn vycet typu request device, release device read, write, reposition get device attributes, set device attributes logically attach, logically detach devices ... Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 46 Typy / kategorie poskytovan ych sluzeb, System Calls 2 Udrzba informac, Information Maintenance time(), acct(), gettimeofday(), ... Ilustrativn vycet typu 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 ... 2 Detekce chyb a chybove rzen, Error Control zaruka za spravnost vypoctu detekc chyb v CPU, v pamet'ovem hardware, v I/O zarzench a v programech Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 47 Typy / kategorie poskytovan ych sluzeb, System Calls 2 Komunikace, komunikace mezi procesy Communications, Interproces Communications (IPC) vymena informac mezi procesy realizovana { bud'to v ramci jednoho poctace { nebo mezi ruznymi poctaci pomoc ste implementace bud'to sdlenou pamet nebo predavanm zprav socket(), accept(), send(), recv(), wait(), signal(), ... 2 Komunikace, Communication create communication connection, delete communication connection send message, receive message transfer status information attach remote devices, detach remote devices Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 48 Vnitrn sluzby OS 2 nejsou urceny k tomu, aby pomahaly prmo uzivateli, 2 slouz pro zabezpecn efektnho provozu systemu 2 Pridelovan prostredku (zdroju), Resource Allocation mezi vce soubezne operujcch uzivatelu resp. jejich procesu 2 uctovan, resp. protokolovan, Accounting udrzovan prehledu o tom, kolik kterych zdroju systemu ktery uzivatel pouzva cl { uctovan za sluzby, sber statistik pro planovan, ... 2 ochrana a bezpecnost, Protection / Security pece o to, aby veskere prstupy k systemovym zdrojum ,,byly pod kontrolou" Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 49 Vol an sluzeb syst emu, System Calls 2 Ilustracn prklad { kopie jednoho souboru do jineho souboru Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 50 Ilustrace standardnho API { Win32 Funkce ReadFile() cten ze souboru dat HANDLE le { jmeno souboru, ze ktereho se cte LPVOID bu er { clova vyrovnavac pamet' DWORD bytesToRead { delka vyrovnavac pameti LPDWORD bytesRead { delka prectenych dat LPOVERLAPPED ovl { cekat / necekat na konec operace Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 51 Ilustrace standardnho Java API metoda read() z trdy java.io.InputStream metoda vrac int reprezentujc pocet prectenych bytu IOException { odbocka pro resen IO chyby byte [] b { clovy bu er int o { pocatecn o set v b, kam se zapisuj data int len maximum ctenych bytu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 52 Vztah API { vol an syst emu { OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 53 Vol an syst emu, prklad standardn knihovny C Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 54 Vol an syst emu, prklad, program pro tisk adres are Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 55 Metody pred av an parametr u mezi b ezcm procesem a OS 2 v registrech { registry jsou dostupne procesu i OS 2 v tabulce ulozene v hlavn pameti { adresa tabulky se umst v registru, (Linux, Solaris) 2 v zasobnku { { zasobnk je dostupny procesu i OS { program provede ,,push"(store), OS provede ,,pull"(load) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 56 Vol an syst emu, pred av an parametr u tabulkou Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 57 Vol an syst emu, typov y prklad z asobnkem 11 kroku resen volan sluzby read(fd, buffer, nbytes) (knihovna C) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 58 Vol an syst emu, prklad, maxim aln e jednoduch y shell Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Typologie, funkcn skladby a architektury OS 59