Typologie, funkcn skladby a architektury OS
PB 152 Operacn systemy
Jan Staudek http://www. .muni.cz/usr/staudek/vyuka/
}
w A| y < 5 4 23 1 0 / -. , )+ ( %&' $ # !"
Æ
Verze : jaro 2015
Osnova p redna sky
2 2 2 2 2 2 2 2
Typologie operacnch system u Genericke komponenty operacnch system u Trendy vyvoje operacnch system u Virtualn stroje Multiprocesory a vcejadrov e systemy Distribuovane systemy Specializovane systemy (RT, kapesn, . . . ) Vypo cetn prostred
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
1
Typologie OS
2 Mainframe operating systems, 2 2 2 2 2 2 2 2
OS strediskovych poctacu Server operating systems, OS serveru Multiprocessor operating systems, OS multiprocesoru Personal computer operating systems, OS osobnch poctacu Handheld operating systems, OS tabletu, mobilu, ... Embedded operating systems, OS vestavenych poctacu Sensor node operating systems, OS uzlu senzorovych st Real-time operating systems, OS pro r zen v realn em c ase Smart card operating systems, OS chipovych karet
Studujeme obecne, spolecne, genericke rysy OS techto typu OS Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
2
Typologie OS
2
Mainframe operating systems OS system u datovych center spousta perifer (tisce disku, terabajty dat) spousta procesu se r es soubez ne s obrovskym objemem IO davkov e zpracovan + transakcn zpracovan + interaktivn zpracovan davkov e { generovan zprav o produkci, . . . transakcn { rezervacn systemy, ... interaktivn { kladen dotazu do velke databaze X V soucasnosti orientace na LINUX X X X X
2
Server operating systems X X X X
OS velmi velkeho PC (vykonem, pamet'ovou a komunikacn kapacitou) obsluha mnoha vzdalen ych uzivatelu (klientu) klientum poskytuje tiskove, souborove, webovske . . . sluzby typict reprezentanti: Solaris, FreeBSD, Linux, Windows Server 200x Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
3
Typologie OS
2
Multiprocessor operating systems X X X X X
2
typicky variace na server/mainframe OS specialn planov an c innosti vce CPU problem soubehu vce funkc OS v soucasnosti i na noteboocch s vcejadrov ymi CPU Rys implementovany jak v Linuxech, tak i ve Windows
Personal computer operating systems X X X X
V soucasnosti vzdy podpora multiprogramovan Cl { dobra podpora jednomu uzivateli { monouzivatelsky OS zpracovan dokumentu, tabulkove kalkulatory, prstup na Internet, . . . Prklady { Linux, FreeBSD, Windows Vista / 7, Masintosh OS
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
4
Typologie OS
2
Handheld operating systems X X X X X
OS pro tablety, chytre mobily, . . . Nepoctaj s vnejs pamet Jsou propracovane z hlediska ovlad an telefonie, digifota, . . . Bez ne se provozuj (ne vzdy duv eryhodne) aplikace tretch stran Prklady OS: Symbian OS, Palm OS, Android, . . .
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
5
Typologie OS
2
Embedded operating systems X X X X X X
2
d zarzen, ktera ,,nevypadaj jako poctac" R uzivatel nema moznost nic do systemu instalovat OS mikrovlnek, TV, v autech, v DVD recorderech . . . c asta orientace na real-time nelze instalovat z adn e nove aplikace, vse je typicky v ROM QNX/www.qnx.com, VxWorks/www.windriver.com/products/vxworks, oba kompatibiln s POSIX
Sensor node operating systems
X OS uzlu senzorovych st, senzorovy uzel {
poctac+senzor(y)+komunikace X Dlouhodoba c innost v bezdratov e sti, mala pamet', bateriovy provoz X Veskere programy byvaj instalovane predem X Prklad: TinyOS, www.tinyos.net/ Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
6
Typologie OS
2
Smart card operating systems X omezenost vykonem, pamet, extremn e jedoduche OS X obvykle v ROM je interpretr Java Virtual Machine
aplikace { javovske applety (male programy) nekdy i v rezimu multitasking
2
Real-time operating systems X klc ovy problem { faktor c asu a plnen uloh v c ase
2
Modelove prostred naseho studia vymezuj rodiny operacnch system u Unix a Windows X tam kde to bude vhodne zmnme speci ka derivat u system u Unix
(Linux, Mac OS X apod.) Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
7
Studovane bazov e genericke problemy r esen e v OS
2 2 2 2 2 2
Architektura, skladba OS Procesy, { interpretace programu, sdlen CPU procesy, kooperace procesu Adresove prostory, kooexistence mnoha deju v mnoha ruzn ych pametech Input/Output, ovlad an periferi Ochrany, bezpecnost Rozhran sluzeb pro procesy, pro uzivatele
2 Soubory dat, dlouhodob´e uchovav ´ an´ ´ ı dat na vnˇejˇs´ıch pamˇetech (PV 062) Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
8
Bazov a idea OS
2 2 2 2 2 2
OS poskytuje uzivateli / aplikacm jednoduche a pritom mocnejs rozhran nez hardware Uzivatele / aplikace volaj provad en sluzeb vysoke urovn e, dostupnych na rozhranch OS a vykonavan ych OS Uzivatele / aplikace nemohou pristupovat k privilegovanym rysum hardware prmo Sestava sluzeb poskytovanych OS je to, co si mysl uzivatele / aplikace, z e je OS uzivatele / aplikace nic jineho nez sluzby OS nevid Vsechny soudobe OS povazuj za genericke predmety spravy PROCESY { deje r zene programy ulozenymi v pameti a realizovane CPU a periferiemi Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
9
Genericke funkcn komponenty OS
2 2 2 2 2 2 2 2 2 2
Sprava procesoru { kdy ten ktery proces ,,pobez " Sprava procesu a vlaken { podpora soubez nosti deju Sprava (hlavn, operacn) pameti { r zen jejho vyuzvan Sprava souboru { dat uchovavan ych na vnejs pameti Sprava I/O systemu { sprava c innosti perifernch zarzen Sprava vnejs (sekundarn ) pameti { r zen jejho vyuzvan Networking (st'ovan ) { podpora distribuovanych system u System ochran { zajisten bezpecnosti Interpret prkazu { uzivatelu u terminal u Systemov e programy { kompilatory, editory, . . . X stavove informace, podpora jazyku, podpora komunikace,
manipulace se soubory, aplikacn systemy (databaze, ...)
Tou c i onou formou jsou implementovane v kazdem OS Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
10
Genericke funkcn komponenty OS
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
11
Genericke funkcn komponenty OS, sir s popis
2
Sprava procesoru X dispecer, kratkodob y planova c
2
Sprava procesu a vlaken X X X X
2
vytva ren a rusen procesu a vlaken pozastavovan a obnova behu procesu a vlaken mechanismy synchronizace procesu a vlaken mechanismy komunikace mezi procesy a vlaken
Sprava (hlavn, operacn) pameti X X X X X
zobrazovan LAP do FAP virtualizace pameti sledovan ktere c asti FAP jsou pouzvany a kym mechanismy pridelovan a uvolnov an pameti (FAP) na z adost strednedobe planov an Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
12
Genericke komponenty OS, sir s popis, 2
2
Sprava I/O systemu X sprava vyrovnavac ch pameti X univerzaln rozhran ovladacu X ovladace
2
Sprava vnejs (sekundarn ) pameti X sprava volne pameti X pridelovan pameti X planov an optimaln ho porad (diskovych) operac
2
Sprava souboru (system souboru, File System) X manipulace s kolekcemi dat na vnejsch pametech X vytva ren, rusen, katalogizace, archivace, obnova, . . . souboru Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
13
Genericke komponenty OS, sir s popis, 3
2
Networking (st'ovan ), distribuovane systemy X X X X
2
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, ...)
Interpret prkazu X rozhran uzivatele na sluzby operacnho systemu
2
System ochran X X X X
mechanismy pro r zen 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 systemy { Typologie, funkcn skladby a architektury OS
14
Sprava procesu
2
proveden programu { proces (process, task) X program { pasivn entita X proces { aktivn entita,
vce procesu mu ze byt r zeno tmte z programem soubez ne
2 2
proces { jednotka planov an c innost de novanych programem proces potrebuje pro svoji realizaci jiste zdroje: X CPU (procesor), pamet', I/O zarzen, soubory . . . X inicializacn data
2
Varianta pojmu proces { vlakno X jednotka planov an c innost de novana v programu X vlakna vyuzvaj zdroje pridelene procesu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
15
Sprava procesu
2
1-vlaknov y proces X proces vlastnc jediny c tac instrukc urcujc
prs te provad enou instrukci X proces provad instrukce sekvencne, po jedne instrukci v c ase, dokud se neukonc nebo dokud nen jeho beh preruseny X beh procesu nemus byt v c ase kontinualn { multitasking 2
vce-vlaknov y proces X proces vlastnc jeden c tac instrukc
pro kazde v nem de novane vlakno X proces provad instrukce vlaken sekvencne, po jedne v c ase, dokud se vlakno neukonc nebo dokud nen jeho beh preruseny X vlakna jsou r esena v rezimu multiprogramovan /multitasking X proces de nujc vlakna je rovnez r eseny v rezimu multiprogramovan /multitasking Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
16
Sprava procesu
2
Studujeme principy univerzaln ch OS X OS umoznuje sobez ne provad en mnoha procesu
a tyto procesy nale z mnoha uzivatelum X pro r esen procesu ma OS k dispozici alespon jeden procesor X soubez nost se dosahuje prepnan m procesoru(u) mezi procesy (vlakny) 2
OS je z hlediska spravy procesu odpovedny za X Vytva ren a rusen uzivatelskych a systemov ych procesu X Potla cen a obnovovan behu procesu X Poskytnut mechanismu pro
{ synchronizaci procesu, pro { komunikaci mezi procesy a pro { zvlad an uvaznut procesu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
17
Sprava procesoru
2
OS (sprava procesoru) je z hlediska spravy procesoru odpovedny za X vyb er procesu bez cho na (dostupnem) procesoru X vyb er se r d podle de novane planovac politiky
{ cyklicke planov an , prioritn planov an , . . . X rovnez dispecer, planova c CPU, . . . 2
Planov an vlaken r es podle typu OS X jadro OS (sprava procesoru) jak pro procesy tak i pro vlakna X ,,run-time support", tj. moduly na urovni knihoven,
r esc planov an vlaken v ramci procesu
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
18
Sprava (hlavn, operacn , primarn ) pameti
2
adresovy prostor hlavn (operacn, primarn ) pamet' X X X X
2
Fyzicky Adresovy Prostor, FAP pole samostatne adresovatelnych slov nebo bytu reposita r elektronicky dostupnych dat CPU a I/O zarzenm repozita r instrukc interpretovanych procesorem
Hlavn pamet je energeticky zavisl e zarzen X pamatovana data se ztrac po vypadku energie
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
19
Sprava (hlavn, operacn , primarn ) pameti
2
Sprava (hlavn) pameti je odpovedna za X veden prehledu, ktery proces kterou c ast pameti
v danem okamziku vyuzva X rozhodovan , kteremu procesu uspokojit jeho pozadavek na prostor pameti po uvolnen prostoru pameti. X pridelovan a uvolnov an pameti podle potreby X rozhodovan , ktery proces nebo ktera c ast procesu uvoln hlavn pamet', aby bylo mozno uspokojit (opravn ene, prioritnejs, . . . ) pozadavky jinych procesu na prostor v hlavn pameti
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
20
Sprava (hlavn) pameti, virtualizace pameti
2 2
pohled programatora na pamet' v poctaci Logicky adresovy prostor, LAP X X X X X
2
format LAP je vymezen formatem adresy v instrukci kapacita LAP je dana bitovou s r kou adresy v instrukci OS zavad do FAP c asti programu a dat podle potreby v soucasnosti se programy uchovavaj ve forme prelozen do LAP tranformace adres LAP na adresy FAP se provad ej az pri provad en instrukce v CPU
Struktury LAP
X linearn (pole stranek) { virtualizace strankovan m na z adost X dvoudimensionaln { kolekce samostatnych linearn ch segmentu
(promenne delky), virtualizace segmentovan m na z adost, segmentovany LAP byv a c asto navc i strankovan y Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
21
Sprava (hlavn) pameti, virtualizace pameti
2 2 2
Linearn LAP mu ze byt zobrazovany do FAP identitou bez ne se pouzvaj propracovanejs zpusoby zobrazovan Zobrazovan LAP do dostupneho FAP se deje pomoc spoluprace hardware a funkcionality jadra OS X DAT, Dynamic Address Translation X take MMU, Memory Management Unit
2
Pri odkaz an msta s adresou LAP, ktere nen zobrazeno ve FAP
X sprava pameti aktivovana prerusenm
nalezne (vytvor) ve FAP volny blok X na toto msto zavede blok z obrazu LAP s pozadovanou informac 2
nutna uzk a spoluprace se specializovanym systemem souboru X na vnejs pameti se udrzuje kopie LAP procesu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
22
Sprava I/O systemu
2 2 2 2 2
skryv a pred uzivatelem speci ka konkretn ch I/O zarzen organizuje reposita r vyrovnavac ch pamet a cache pamet organizuje spooling, prekryv an vystup u jednoho procesu se vstupy dalsho procesu, resp. dalsch procesu podporuje univerzaln rozhran driveru (ovladacu) I/O zarzen obsahuje drivery (ovladace) jednotlivych hardwarovych I/O zarzen
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
23
Sprava informacn ch skladu, sprava souboru dat
2
OS poskytuje jednotny, logicky pohled na sklad informac X abstrahuje fyzicke vlastnosti skladu do logickych jednotek { souboru X kazdy druh pamet'oveho media je ovladan y relevantnm druhem
zarzen (paskov y stojan, diskovy stojan, . . . ) X jednotlive druhy zarzen se vzajemn e lis rychlost prstupu, kapacitou, rychlosti prenosu dat, prstupovou metodou (sekvencne, libovolne, . . . ), . . . 2
Soubor X identi kovatelna kolekce souvisejcch informac
de novana svym tvurcem X vnitrne se c len na samostatne zprstupnitelne zaznamy X zaznamy byvaj vnitrne strukturovany do polozek X reprezentace jak programu, tak i dat ve vnejs pameti Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
24
Sprava informacn ch skladu, sprava souboru dat
2
System spravy souboru odpovedny za: X X X X X X X X
vytva ren a rusen adresa ru (katalogu) organizovan souboru do katalogu { adresa ru poskytnut nastroj u pro pridelovan a kontrolovan prstupovych prav vytva ren a rusen souboru podporu primitivnch operac pro manipulaci se soubory a s adresa ri zobrazovan souboru do konkretn e pouzite sekundarn pameti archivovan souboru na stabiln energeticky nezavisl a media zprstupnov an , doplnov an zaznam u souboru
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
25
Sprava vnej s (sekundarn ) pameti
2
Hlavn (primarn , operacn) pamet'
X je energeticky zavisl a, neschopna udrzet informaci trvale X ma malou kapacitu na to, aby v n bylo mozne uchovavat vsechna
data a programy
2
poctacovy system mus obsahovat pro zalohov an hlavn (primarn ) pameti energeticky nezavislou, dostatecne kapacitn sekundarn pamet'
X i za cenu nemoznosti prme dostupnosti jejch obsahu procesorem
2 2
Vetsina soucasnych poctacu pouzva pro roli vnejs (sekundarn ) pameti pro uchovav an programu i dat disky OS co spravce vnejs (sekundarn ) pameti je odpovedny za X Spravu volne pameti na disku X Pridelovan pameti disku souborum X Planov an c innosti disku Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
26
Sprava vnej s (sekundarn ) pameti
2
mnohe typy vnejsch pamet nemus byt ,,pohotove", rychle X tercialn pameti | opticke pameti, magneticke pasky, ... X dale pak pameti typu WORM (write-once, read-many-times) X stale se mus ale vykonavat jejich sprava
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
27
System ochran, bezpecnost
2
Ochrana X mechanismus pro r zen prstupu k systemov ym a
k uzivatelskym zdrojum
2
Bezpecnost X obrana systemu proti vnitrnm i vnejsm utok um,
odmtnut sluzby, c ervi, viry, zcizen identity, zcizen sluzby, . . .
2 2
System ochran je soucast vsech vrstev OS System ochran mus X rozlisovat mezi autorizovanym a neautorizovanym pouzitm X poskytnout prostredky pro sve prosazen
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
28
System ochran, bezpecnost
2
OS obvykle primarn e rozlisuje uzivatele, aby mohl urcit co kdo mu ze delat X identita uzivatele se obvykle reprezentuje jmenem a asociovanym c slem (user ID, uid, security ID, . . . ),
po jednom na jednoho uzivatele X uid se spojuje se soubory, procesy, . . . , ktere uzivatel vlastn a odvozuj se z n prstupova/manipula cn prava X obvykle lze nejakou formou pracovat se skupinami uzivatelu, ty pak maj sve gid (group ID) X pokud uzivatel pouzva bezpecny nastroj, puvodn e vlastneny uzivatelem s vyss mi prstupovymi pravy, mu ze takovy nastroj byt uzivatelem provozovany s pravy jeho tvurce, efektivn uid (eective ID) teho z programu se mu ze menit
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
29
Interpret p r kazu
2
Vetsina zadan je predav ana operacnmu systemu r dcmi prkazy, ktere zadavaj pozadavky na X X X X X X X
2
spravu a vytva ren procesu ovlad an I/O spravu sekundarn ch pamet spravu hlavn pameti zprstupnov an souboru ochranu praci v sti, . . .
program, ktery c te a interpretuje r dic prkazy se nazyv a v ruzn ych OS ruzn ymi nazvy X command-line interpreter, shell, command.com, . . .
2
zakladn funkc interpretu prkazu je zskavat r dic prkazy a zajist'ovat jejich proveden Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
30
Hlavn p r stupy k rozvoji architektu OS
2
Mikrojadrov a architektura, Microkernel architecture X mikrojadro OS:
pouze sprava pameti, sprava procesoru, komunikace mezi procesy X ostatn sluzby OS pln procesy (tzv. servery) bez v uzivatelskem rezimu, pro mikrojadro maj charakter aplikac X koncept zjednodusuje implementaci OS, pruznost, je vhodny pro distribuovane prostred
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
31
Hlavn p r stupy k rozvoji architektu OS
2
Multi-vlakna, Multithreading X Proces lze r esit vce soubez nymi sekvencnmi toky operac { vlakny X vlakno je jednotkou planov an , nikoliv subjekt vlastnc zdroje,
vlakno je c ast procesu, proces je subjekt vlastnc zdroje X vlakno ma svuj kontext a svoji datovou oblast umoznuj c volan podprogramu X programatorovi dav a silnejs nastroje pro modularitu aplikace a c asoveho r zen udalost souvisejcch s aplikac
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
32
Hlavn p r stupy k rozvoji architektu OS
2
Symetricky multiprocesing, Symetric multiprocessing X poctac vybaveny n shodnymi procesory se spolecnou pameti a X X X X
se spolecnymi IO velky vykon { OS planuje provad en vlaken / procesu, n procesu / vlaken mu ze bez et paralelne vysoka dostupnost vykonu { porucha 1 procesoru nezastav system inkrementaln zvysovan vykonu { doplnov an m procesoru snadna um ernost dostupneho vykonu aplikaci
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
33
Symetricky multiprocesing
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
34
Vypo cetn prost red
2
tradicn poctace X pojem tradice se v prub ehu c asu dost mlz X kancela rskaprost red {
terminaly pripojene ke strediskovemu poctaci, . . . PC pripojene k sti, . . . , webovska intern / extern dostupnost protal u, ... X domac ste { izolovany PC, . . . , st', s rewallovou ochranou, . . . 2
klient-server model X X X X
jednoduche terminaly byly nahrazeny propracovanymi PC { klienti centraln vypo cetn 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 systemy { Typologie, funkcn skladby a architektury OS
35
P r klady architektur klient-server s vce vlakny
2
Thread-per-request Architecture X I/O vlakno serveru vytvor pro r esen kazdeho noveho pozadavku klienta na zprstupnen vzdalen eho objektu nove vlakno (worker) X po splnen sluzby se vlakno worker samo zrus X vlakna nesdl z adnou frontu { maximaln propustnost X c aste vytva ren / rusen vlaken { vyss rezie
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
36
P r klady architektur klient-server s vce vlakny
2
Thread-per-connection Architecture X Server vytvor nove vlakno pro kazde spojen s jednm klientem
a pozadavky jednotlivych klientu r es sekvencne X po uzavren spojen s klientem se vlakno zrus X mens rezie nez v prpade Thread-per-request Architecture X potencialn e nis propustnost dky frontovan pozadavku
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
37
P r klady architektur klient-server s vce vlakny
2
Thread-per-object Architekture X Kazdy zprstupnovan y objekt serveru je obsluhovany
samostatnym vlaknem X I/O vlakno prijma pozadavky klientu na zprstupnen objektu X pozadavky na ty z objekt se r ad do fronty na objekt X vlakno se zrus pri zrusen objektu
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
38
St'ovy OS vs. distribuovany OS
2
St'ovy OS X Unix, Windows X OS r dic 1 uzel ste s vestavenymi schopnostmi pracovat se
vzdalen ymi zdroji v sti X nektere zdroje lze zprstupnovat se st'ovou transparenc (NFS zprstupnuj c soubory v sti, . . . ) X mnohe zdroje si zachovavaj uzlovou autonomii (OS r d procesy ve svem uzlu, planovat procesy v jinem uzlu nelze, uzivatel se mus otevrat relace v jednotlivych uzlech explicitne, . . . 2
Distribuovany OS X zatm v komercn, ekonomicky efektivn rovine neexistuje X cela st' se uzivateli jev jako jediny system
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
39
Middleware
2
2
2 2
Softwarova vrstva lezc mezi aplikacemi a OS poskytujc aplikacm programovac abstrakci a maskovan heterogenity podpurn ych st, poctacu, operacnch system u, programovacch jazyku, ... Poskytuje aplikacnm programator um jednotny vypo cetn 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) middleware = procesy a objekty v poctacch propojenych st + system vym en zprav CORBA, Java RMI, WEB Services, DCOM, . . . Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
40
Middleware
2 2
2
Nadstavba st'oveho OS r esc neexistenci distribuovanych OS OS bez c v uzlu (jadro OS + sluzby na uzivatelske urovni) poskytuje lokaln abstrakce a ty vyuzva middleware pro implementaci mechanismu pro vzdalen e manipulace s objekty a procesy v uzlech (res se uvaznut , transakce, obnova po vypadku, vzajemn e vyloucen kritickych sekc procesu, shoda, . . . , . . . ) Kombinace middleware a st'oveho OS je akceptovatelne kompromisn r esen vyva zenosti mezi pozadavky na autonomii na jedne strane a st'ovou transparentost na druhe strane
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
41
Typove hierarchicke uspo rad an distribuovaneho systemu
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
42
Volan slu zeb systemu, System Calls
2 2
Volan sluzeb systemu podporuje rozhran mezi bez cmi procesy a operacnm systemem programatorsk e rozhran na sluzby OS X genericky dostupne na urovni symbolickeho strojove jazyka
(assembly-language) X Jazyky urcene jako nahrada symbolickeho strojove jazyka pro systemov e programovan umoznuj volat system calls prmo, (napr. knihovny C, C++) 2
Aplikacn programy si sluzby OS zprstupnuj sps e pres API (Application Program Interface) vysoke urovn e nez prmym volan m systemu X snadnejs prenositelnost programu X srozumitelnejs vyjad ren
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
43
Typy / kategorie poskytovanych slu zeb, System Calls
2
zen procesu, R Process Control X zaveden programu do hlavn pameti a start jeho r esen { procesu,
ukoncen procesu (normaln e, nestandardne { s indikac chyby) X fork(), exec(), wait(), abort(), . . .
Ilustrativn vy cet typu X X X X X X X
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 systemy { Typologie, funkcn skladby a architektury OS
44
Typy / kategorie poskytovanych slu zeb, System Calls
2
sprava souboru, File management X Manipulace s daty ve sprav e systemu souboru X schopnost c st, zapisovat, vytva ret a rusit soubory dat
na vnejsch pametech a data v souborech seskupena X open(), close(), chmod(), link(), stat(), creat(), get(), put(), . . .
Ilustrativn vy cet typu X X X X
create le, delete le open, close read, write, reposition get le attributes, set le attributes, . . .
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
45
Typy / kategorie poskytovanych slu zeb, System Calls
2
Sprava IO zarzen, Device Management X Proveden I/O operace, IO Operation X uzivatelsky program nesm provad et I/O operace prmo,
OS mus proto poskytovat prostredky vykonavaj c I/O X ioctl(), select(), read(), write(), . . .
Ilustrativn vy cet typu X X X X X
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 systemy { Typologie, funkcn skladby a architektury OS
46
Typy / kategorie poskytovanych slu zeb, System Calls
2
zba informac, Information Maintenance Udr X time(), acct(), gettimeofday(), . . .
Ilustrativn vy cet typu X X X X X 2
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 chybove r zen, Error Control X zaruka za spravnost vypo ctu detekc chyb v CPU,
v pamet'ovem hardware, v I/O zarzench a v programech
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
47
Typy / kategorie poskytovanych slu zeb, System Calls
2
Komunikace, komunikace mezi procesy Communications, Interproces Communications (IPC) X vym ena informac mezi procesy realizovana
{ bud'to v ramci jednoho poctace { nebo mezi ruzn ymi poctaci pomoc ste X implementace bud'to sdlenou pamet nebo predav an m zprav X socket(), accept(), send(), recv(), wait(), signal(), . . . 2
Komunikace, Communication X X X X
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 systemy { Typologie, funkcn skladby a architektury OS
48
Vnit rn slu zby OS
2 2 2
nejsou urceny k tomu, aby pomahaly prmo uzivateli, slouz pro zabezpecn efektnho provozu systemu Pridelovan prostredku (zdroju), Resource Allocation X mezi vce soubez ne operujcch uzivatelu resp. jejich procesu
2
u ctovan , resp. protokolovan , Accounting X udrzovan prehledu o tom, kolik kterych zdroju systemu
ktery uzivatel pouzva X cl { u ctovan za sluzby, sber statistik pro planov an , . . . 2
ochrana a bezpecnost, Protection / Security X pe ce o to, aby veskere prstupy k systemov ym zdrojum
,,byly pod kontrolou"
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
49
Volan slu zeb systemu, System Calls
2
Ilustracn prklad { kopie jednoho souboru do jineho souboru
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
50
Ilustrace standardnho API { Win32
X Funkce ReadFile() X c ten ze souboru dat
X X X X X
HANDLE le { jmeno souboru, ze ktereho se c te LPVOID buer { clova vyrovnavac pamet' DWORD bytesToRead { delka vyrovnavac pameti LPDWORD bytesRead { delka prectenych dat LPOVERLAPPED ovl { c ekat / necekat na konec operace Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
51
Ilustrace standardnho Java API
X metoda read() z trdy java.io.InputStream X metoda vrac int reprezentujc pocet prectenych bytu
X X X X
IOException { odbocka pro r esen IO chyby byte [] b { clovy buer int o { pocate cn oset v b, kam se zapisuj data int len maximum c tenych bytu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
52
Vztah API { volan systemu { OS
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
53
Volan systemu, p r klad standardn knihovny C
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
54
Volan systemu, p r klad, program pro tisk adresa re
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
55
Metody p redav an parametru mezi be z cm procesem a OS
2 2 2
v registrech { registry jsou dostupne procesu i OS v tabulce ulozene v hlavn pameti { adresa tabulky se umst v registru, (Linux, Solaris) v zasobn ku { { zasobn k je dostupny procesu i OS { program provede ,,push"(store), OS provede ,,pull"(load)
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
56
Volan systemu, p redav an parametru tabulkou
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
57
Volan systemu, typovy p r klad zasobn kem
11 kroku r esen volan sluzby read(fd, buffer, nbytes) (knihovna C)
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
58
Volan systemu, p r klad, maximaln e jednoduchy
Jan Staudek, FI MU Brno
|
shell
PB152 Operacn systemy { Typologie, funkcn skladby a architektury OS
59