Operacn systemy { p rehled
PB 152 Operacn systemy Jan Staudek http://www. .muni.cz/usr/staudek/vyuka/
}
w A| y < 5 4 23 1 0 / -. , )+ ( %&' $ # !"
Æ
Verze : jaro 2015
Komponenty poctacoveho systemu 2
hardware
X bazov e vypo cetn zdroje (CPU / procesor, pamet', I/O zarzen) CPU { Central Processing Unit
2
operacn system X r d a koordinuje pouzvan hardware ruzn ymi aplikacnmi programy
ruzn ych uzivatelu
2
systemov e programy, pomocne programy, knihovny X r es standardn, systemov e orientovane ulohy
(editace, kompilace, r zen databaze, ...)
2
aplikacn programy X de nuj zpusoby kterymi se pouzvaj zdroje systemu pro r esen
vypo cetnch uzivatelskych problem u (kompilatory, databazov e systemy, video hry, byznys programy, . . . )
2
uzivatele (lide, stroje, jine poctace) Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
1
Komponenty poctacoveho systemu, hierarchie
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
2
Operacn system, cle a funkce 2 2 2
Program, ktery r d provad en aplikacnch a systemov ych programu v poctaci Reprezentuje rozhran aplikacn systemy a systemov e programy × hardware Cle OS X pohodlnost pouzvan poctace X efektivnost vyuzvan zdroju poctacoveho systemu X schopnost rozvoje { umoznit efektivn vyvoj, testovan a
zavad en novych funkc bez interference s poskytovanymi sluzbami
2
Z clu plynou role X OS { rozhran uzivatel (aplikacn a systemov e procesy)/poctac X OS { spravce zdroju X OS { vyvojeschopn y organismus Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
3
Model poctacoveho systemu r zeneho operacnm systemem
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
4
Struktura hardware a software poctace detailneji
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
5
Genericka rozhran OS 2
Application programming interface (API), knihovny volan sluzeb OS na urovni vyss ch programovacch jazyku, pomocne programy { OS mu ze poskytovat pro ruzn e trdy aplikac ruzn a API sockets pro prenos dat, .NET, transakce, . . .
2
Application binary interface (ABI), volan sluzeb OS na urovn strojoveho jazyka (asembleru), reprezentace OS a poctace vu ci vsem aplikacm
2
Instruction set architecture (ISA), strojovy jazyk
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
6
OS v roli rozhran uzivatel/poctac 2
Koncov uzivatele vid poctac jako sestavu aplikacnch programu X Aplikacn programy se ps v programovacch jazycch
aplikacnmi programatory
2
2
Pro slozite ovlad an poctace maj k dispozici funkcnost soucast operacnho systemu { knihovnch, pomocnych programu, utilities Maskovan detailu hardware a funkcnost nutnou pro efektivn a pohodlne pouzvan poctace zajist'uj programy soustredene v jadru operacnm systemu, core, kernel, pomoc poskytovanych sluzeb OS, OS services
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
7
Typicke oblasti sluzeb poskytovanych OS 2 2 2 2 2 2
2
Vyvoj programu, editory, ladc systemy, ... typicky poskytovane pomocnymi (systemov ymi) programy Provad en programu, vse co je nutne zajistit pro c innosti r zene programy { planov an , zavad en, ovlad an IO, . . . Prstup k IO zarzenm { jednotne API pro ruzn a zarzen Prstup k souborum dat na vnejsch pametech Prstup k systemov ym zdrojum, bezpecnost, r esen kon iktu Chybove r zen, automatizovane reakce na nestandardn stavy v hardware, v software a v prpadech kdy OS nemu ze uspokojit pozadavek aplikace Protokolovan , info o tom co se delo, zaklad pro u ctovan , zaklad pro odhady budoucho vylepsovan , . . . Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
8
OS v roli spravce zdroju 2
Poctac je sestavou zdroju / prostredku pro presun, uchovav an a zpracovan dat
2
OS je odpovedny za r adnou spravu techto zdroju OS je implementovany v software, funguje jako kazdy jiny r adn y software OS je suita programu provad enych procesorem
2 2
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
9
OS je vyvojeschopn y organismus 2
V prubehu z ivota konkretn ho konceptu OS dochaz X k doplnov an a k inovacm hardware X k doplnov an nove pozadovanych sluzeb X k opravam chyb
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
10
Neexistuje univerzaln e akceptovatelna de nice ,,co to je OS" 2
OS je program, ktery funguje jako spojka mezi uzivatelem poctace a hardware poctace { OS = cokoliv co je cˇ inn´e ve v´ypoˇcetn´ım syst´emu a nen´ı to hardware nebo aplikace
2
neexistuje univerzaln e akceptovatelna de nice ,,co to je OS" X Everything a vendor ships when you order an operating system X The one program running at all times on the computer is the kernel. Everything else is either a system program (ships with the operating system) or an application program
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
11
Pozadavky na OS jsou ruznorod e 2
Cle (povinnosti) OS X X X X
2
r dit r esen uzivatelskych (aplikacnch) programu poskytnout nastroje pro r esen problem u uzivatelu (aplikac) ucinit poctac snadneji pouzitelny vytva ret podmnky umoznuj c efektivne pouzvat hardware poctace
Cle (pran ) uzivatele X sluzby poskytovane OS lze pohodlne pouzvat, snadno zvladnout X OS je spolehlivy, bezpecny X pozadovane sluzby poskytuje OS pohotove
2
Cle (pran ) provozovatele OS X OS je snadno navrhnutelny, implementovatelny a udrzovatelny,, X OS je prizpusobiteln y, spolehlivy a bezchybny Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
12
Co to je operacn system? 2 2
2 2
OS je poskytovatel problemov e orientovane abstrakce bazov ych fyzickych prostredku bazov e fyzicke prostredky: { procesory, operacn pamet', komunikacn nastroje, vnejs pameti, . . . OS nabz programatorovi bazov e fyzicke prostredky k pouzit formou sluzeb poskytovanych na rozhran volan systemu programator chce videt sps e { soubory a zaznamy nez diskove bloky a vystavovac mechanismus disku { sps e schranky (sockets) nez prmy prstup k sti { sps e procesy a vlakna nez procesory, pamet'ovy prostor Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
13
Clem pouzit OS je abstrakce, extended machine 2
Operacn system men osklivy hardware na atraktivn abstrakci
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
14
Co to tedy je operacn system?
2
OS je spravce prostredku X spravuje a r d vyuzvan vsech zdroju systemu,
eviduje jejich vyuzvan ,. . . X rozhoduje mezi kon iktnmi pozadavky tak, aby pouzvan zdroju systemu bylo efektivn a spravedlive (odpovdajc zvolene politice)
2
OS je r dic program, X r d provad en ostatnch programu tak, aby zabranoval chybnemu a
nepatricnemu pouzit poctace X r d bezpecne provad en uzivatelskych programu a operac I/O zarzen
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
15
Problemy budovan OS 2
OS jsou ,,obrovske"syst emy X v soucasnosti predstavuj az stovky milion u r adk u kodu, X pracnost r adov e tisce c loveko-roku
2
OS jsou slozite systemy X pozadavky ruzn ych uzivatelu se c asto podstatne lis X nelze jednorazov e odstranit vsechny chyby,
veri kace z duvod u slozitosti selhav a
2
Chovan OS se obtz ne predpovda, ,,serizovan "/ laden se dela vesmes odhadem
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
16
OS se staly slozite { funkcne X system calls: open, read, write, close, wait, exec, fork, exit, kill . . .
OS
rok
pocet
Unix Unix
1971 1979
33 47
Windows 1.0 SunOS 4.1 4.3 BSD SunOS 4.5 SunOS 5.6 Linux 2.0 FreeBSD
1985 1989 1991 1992 1997 1998 1998
450 171 136 219 190 319 330
Windows
1999 a dal
x × 103, x > 3 Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
17
OS se stavaj slozite { funkcne 2 2
Enorme narust a slozitost vnitrnch algoritmu (jadra) OS pocty cyklu procesoru spotrebovanych ve Windows NT pri X X X X X X X X X
Zaslan zpravy mezi procesy: 6K { 120 K podle pouzite metody Vyvtoren procesu: 3M Vytvoren vlakna: 100K Vytvoren souboru: 60K Vytvoren semaforu: 10K { 30K Nahran DLL knihovny: 3M Obsluha prerusen/vyjimky: 100K { 2M Prstup do systemov e databaze Registry: 20K Windows NT (New Technology) { puvodn system fy Microsoft pro procesory IA-32 a novej s
X X
Windows 7, 8 . . . jsou pouze obchodn nazvy ruzn ych verz NT V soucasn e dobe podporovane verze NT 6.2 a NT 6.3
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
18
OS se stavaj slozite { rozsahem (LOC, Lines of Code, v 106) OS
rok LOC
3.1 NT 95 NT 4.0 98 2000 XP Vista 7 2
1992 1992 1995 1996 1998 2000 2001 2007 2009
3 4 15 16 18 30 40 64 ??
OS
rok
Solaris FreeBSD Red Hat Linux 6.2 Red Hat Linux 7.1 Debian 2.2 Debian 3.0 Debian 3.1 Debian 4.0 Fedora 9
1991 1993-1998 2000 2001 2000 2002 2005 2007 2008
Mac OS X 10
2010
LOC 10 9 17 30 60 104 215 283 205 86
2 dekady { zvy sen rozsahu OS v LOC na dvaceti az 30-nasobek Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
19
Evoluce OS v bodech
2
Systematicka ilustrace evoluce viz samostatna predna ska Operaˇcn´ı / poˇc´ıtaˇcov´e syst´emy – geneze Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
20
Klasi kace poctacu { klasicke (strediskove) poctace 2 2 2
strediskovy poctac { dnes jiz historicky pojem v soucasnosti vystupuj v jejich rolch podnikove servery klasicke hlavn rysy strediskovych poctacu X redukce rezijnho c asu pro prpravu vypo ctu se dosahovala r azenm podobnych prac / zakazek (jobs) do davek { batch, X batch processing, automatizace r azen davek vc.
automaticky predavan eho r zen mezi de novanymi zakazkami (jobs) X rezidentn r dic program { monitor { pocate cne zskav a r zen, r zen predav a mezi zakazkami, kdyz zakazky konc { r zen se vrac monitoru X multiprogramovy rezim c innosti { soubez ne r esen vce programu jestlize c ten a zapis dat z/na disku trva 15 µs, zpracovan dat trva 1µs, pak je procesor vyuzity pouze na 3,2 % (1/32) a jeho kapacitu v dobe c ekan na IO lez ladem Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
21
Princip multiprogramovan (multitasking)
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
22
Organizace hlavn pameti klasickeho poctace
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
23
Rysy OS potrebne pro implementaci multiprogramovan 2
ex. funkcionalita pro ovlad an I/O a rysu nutnych pro implementaci OS (viz nz e) X vlastn r zen I/O operac provad vyhradn e operacn system X 2-rezimovy provoz CPU (jadro operacnho systemu x uzivatel), X privilegovane / neprivilegovane instrukce
2
ex. funkcionalita pro spravu pameti X System mus byt schopny pridelovat pamet' ruzn ym zakazk am a
ze zakazek odvozenym procesum dynamicky X Dvoj vize pameti { z hlediska jej fyzicke konstrukce a s r ky fyzickych adresovacch registru { fyzicky adresovy prostor, FAP { z hlediska konstrukce adresy ve strojovem jazyku logicky adresovy prostor, LAP X zaruka ochrany oblast pameti pred neautorizovanym prstupem Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
24
Rysy OS potrebne pro implementaci multiprogramovan 2
ex. mechanismus prerusen X predav an r zen mezi aplikacnm programem a jadrem OS
{ reakce na asynchronn udalosti
2
ex. funkcionalita pro planov an CPU X ,,srdcem"typicky byv a intervalovy c asovac X zabranuje se, aby si uzivatelsky proces trvale obsadil CPU
(zam erne, chybou, . . . ) X po uplynut intervalu c asu se generuje prerusen X OS mus byt schopny volit mezi ruzn ymi procesy pripravenymi k proveden 2
ex. funkcionalita pro pridelovan zarzen (zdroju) X Dynamicky, exklusivne / sdlene Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
25
Zakladn de nice souvisejc s OS 2
jadro OS
2
mikrojadro OS
X logicke rozsr en rysu hardware + poskytovane sluzby X vse mimo jadro je r eseno formou procesu X jadro mu ze vyuzvat specialn rysy hardware nedostupne procesum X minimalisticka varianta jadra OS pouzita v nekterych OS X typicky zabezpecuje
{ spravu prerusen, { spravu pameti, { spravu procesoru a { spravu procesu a komunikaci mezi procesy predav an m zprav { Interprocess communication (IPC) X ostatn funkce jadra se presouvaj do ,,procesove\ oblasti (drivery, sluzby systemu souboru, virtualizace pameti, . . . ) X mezi procesy se komunikuje predav an m zprav Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
26
Multiuzivatelske systemy, Time-Sharing Systems, TSS 2
2
2
multiprogramovan { orig. technologie pro efektivn davkov e zpracovan { soubez ne r esen vce programu Multiuzivatelske systemy rozsiruj planovac pravidla o rychle (spravedlive, cyklicke) prepnan mezi procesy r escmi zakazky interaktivnch uzivatelu podporuje se on-line komunikace mezi uzivatelem a OS X puvodn e v kon guraci poctac{terminal X v soucasnosti v st'ovem prostred
2
system je uzivatelum on-line dostupny { jak pro zprstupnov an dat { tak i pro r esen programu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
27
Hlavn prnosy z vyvoje OS pro poctacove vedy 2 2 2
Procesy Sprava pameti Ochrana informac a bezpecnost X duv ernost, Confidentiality X integrita, Integrity, integrita dat, integrita identity { authenticity X dostupnost, Availability
2
Planov an a sprava, r zen zdroju X spravedlivost, diferenciovatelna prednost, efektivita X kratkodob e { bezprostredn planov an ,
dlouhodobe { strategicke planov an
2
Strukturovan system u Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
28
Proces 2
2 2 2 2
Identi kovatelna jednotka c innosti charakterizovatelna sekvencnm vlaknem (tokem) provad en operac a s nm souvisejcch zdroju Program je strukturovany prkaz, proces je dej Program umsteny v pameti mu ze r dit beh vce procesu Soubez ne r esen vce procesu se nazyv a multiprogramovan , resp. multitasking Soubez nost r esen procesu mu ze byt prc inou c asove zavisl ych chyb X X X X
Nespravn a synchronizace Chybne vzajemn e vyloucen Nedeterminismus operac Uvaznut Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
29
Hlavn prc iny c asove zavisl ych chyb v procesech 2
Nespravn a synchronizace X jeden proces ocekav a udalost, kterou generuje jiny proces
(naplnen / vyprazdn en vyrovnavac pameti, . . . ) X proces ktery generuje udalost signalizuje jej vznik X signaly se nesm ani ztracet ani duplikovat
2
Chybne vzajemn e vyloucen X editovat sdlenou datovou strukturu sm v jednom okamziku pouze
jeden proces X soubez ne procesy se mus na pri takove editaci vzajemn e vylucovat, zmena stavu sdlene struktury mus probehnout nedelitelne, atomicky
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
30
Hlavn prc iny c asove zavisl ych chyb v procesech 2
Nedeterminismus operac X c innost procesu ma zaviset pouze na jeho vstupech,
nikoli na c innosti jinych procesu X pokud procesy sdlej pamet', pak pri proklad an jejich behu na procesoru nesm vystupy ovlivnovat porad, ve kterem je planovan y jejich beh
2
Uvaznut X dva nebo vce procesu na sebe vzajemn e c ekaj X prvn proces vylu cne drz zdroj A, druhy vylu cne drz zdroj B a
prvn pozaduje prstup k B a druhy prstup k A
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
31
Komponenty procesu, sprava procesu, vlakno 2 2
program, ktery r d tok operac zpracovavan a data X promenne, pracovn prostory, vyrovnavac pameti, . . .
2
kontext provad en { stav procesu X intern data v OS pro dohled na procesem a pro r zen procesu X obrazy registru, ktere proces sdl s ostatnmi procesy X priorita procesu, zda proces c eka na jistou udalost, ...
2
Sprava procesu X upln y stav je trvale obsazeny v jeho kontextu
2
Vlakno, thread X proces, ktery drz zdroje nutne pro jeho realizaci, lze vnitrne
rozdelit sekvencn tok operac do soubez ne r esitelnych dlcch toku { vlaken, vlakno bez v kontextu jeho procesu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
32
Typicka implementace procesu
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
33
Sprava pameti, pet nejdule zitejsch pozadavku 2
Izolace procesu X data i programy ruzn ych procesu nesm v pameti interferovat
2 2
Podpora modularn ho programovan Automaticke pridelovan a sprava X OS procesum prideluje pamet' v cele hierarchii pamet podle jejich
potreby, z hlediska programatora transparentne,
2 2
Ochrana a r zeny prstup k pameti Dlouhodobe uchovav an dat X Data se mnohdy mus uchovat i po ukoncen procesu,
ktery je vytvoril a nezavisle na dostupnosti energie (na discch, . . . ) X Pln spolecne se soucast OS system souboru, File System Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
34
Virtualn pamet' 2 2 2
Procesy mohou adresovat pamet' z logickeho hlediska, bez ohledu dostupnou fyzickou kapacitu hlavn pameti Nutna vlastnost pro splnen pozadavku soubez neho pouzvan hlavn pameti vce procesy Zakladni technika { strankov an , paging X proces se sklad a z bloku pevne delky { stranek, pages X program adresuje operandy udan m
c sla stranky a adresy operandu ve strance X kazda stranka mu ze byt umstena v hlavn pameti kdekoliv { v ramci, frame X stranka zprstupnovan a procesorem mus byt v ramci v hlavn pameti X sprava pameti poskytuje mechanismus dynamicke transformace logickych (virtualn ch) adres na realn e (fyzicke) adresy v hlavn pameti Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
35
Virtualn pamet'
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
36
Studujeme OS vyuzvajc koncept multiprogramovan 2 2 2
jeden uzivatel s jednm r esenym programem nemu ze udrzet CPU a I/O zarzen trvale v chodu co se nepouzva, to je mrtva investice multiprogramovan organizuje r esen vce uloh (zadan ) formou procesu takovym zpusobem, aby CPU byla pokud mozno stale c inna X proces { kod programu, data, prostor v pameti, udrzovan identity . . . X prostory v pameti OS prideluje vybrane podmnozine procesu X kazdemu jednomu procesu OS postupne prideluje CPU
pro jeho beh (resen) X kdyz bez c proces se rozhodne c ekat (napr. na dokoncen I/O), OS pridel CPU jinemu procesu X kdyz bez c proces usurpuje CPU neum erne dlouho , OS pridel CPU jinemu procesu Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
37
Usporad an hlavn pameti v multiprogramovych systemech Klasicke (dnes jiz sps e historicke) usporad an hlavn pameti
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
38
Usporad an hlavn pameti v multiprogramovych systemech sen ,,problemu"se Re stane slozitejs pri virtualizaci pameti
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
39
Multiprogramovan = Multitasking 2 2
multitasking je synonymum konceptu multiprogramovan CPU se predav a mezi procesy tak rychle, z e uzivatele mohou byt se svymi soubez ne r esenymi procesy v on-line interakci, jedna se tak o koncept interaktivnho poctan (interactive computing)
X doba reakce procesu vu ci uzivateli byv a < 1 sekunda X kazdy uzivatel ma v hlavn pameti prideleny prostor alespon pro jeden
provad eny program a nutna data { proces X ponevadz byv a pripraveno k behu vce procesu, OS mus r esit planov an c innosti CPU, aby postup procesu splnoval zadana kriteria X jestlize nelze vsechny potrebne procesy umstit do hlavn pameti, lze nektere z nich presunout do vnejs pameti a jejich behy se odlozit { technikou nazyvanou swapping X virtualizace pameti umoznuje provad en procesu, aniz by byly v hlavn pameti umstene cele jejich programy a vsechna jejich data Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
40
Ochrana informac, informacn bezpecnost 2
2
Vyznam roste prechodem na multiuzivatelske, multiprogramove, st'ove orientovane, ... poctacove systemy Hlavn problemy informacn bezpecnosti zajist'ovane OS X Dostupnost (availability) { ochrana systemu proti prerusen c innosti X Duv ernost (confidentiality) { dostupnost zdroju je podrzena
de novatelne autorizaci akter u X Integrita { modi kovatelnost zdroju je podrzena de novatelne autorizaci akter u X Autenticita { over itelnost identity (uzivatelu. procesu, dat)
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
41
Planov an a sprava zdroju 2
2
Vyznam roste prechodem na multiuzivatelske, multiprogramove, st'ove orientovane, ... poctacove systemy Hlavn cle planov an a sprava zdroju zajist'ovane OS X Spravedlivost (Fairness) {
vsichni akte ri maj rovny, spravedlivy prstup ke zdrojum X Diferencovatelna vnmavost (Differential responsiveness) { komplement ke spravedlivosti respektujc stanovena pravidla X Efektivita (Efficiency) { maximalizace propustnosti, minimalizace dob reakc a prizpusobivost co nejvce uzivatelum jsou kon iktn kriteria, jejichz naplnen mus OS balancovat
Jan Staudek, FI MU Brno
|
PB152 Operacn systemy { uvod
42