Operacn syst emy { prehled PB 152 Operacn syst emy Jan ÐStaudek Û Å«Æ ±²³ µ ¹º»¼½¾ Ý http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015
hardware Komponenty poctacov eho syst emu b azov e v ypocetn zdroje (CPU / procesor, pam et', I/O zarzen) CPU { Central Processing Unit operacn syst em rd a koordinuje pouzv an hardware r uzn ymi aplikacnmi programy r uzn ych uzivatel u syst emov e programy, pomocn e programy, knihovny res standardn, syst emov e orientovan e ulohy (editace, kompilace, rzen datab aze,... ) aplikacn programy denuj zp usoby kter ymi se pouzvaj zdroje syst emu pro resen v ypocetnch uzivatelsk ych probl em u (kompil atory, datab azov e syst emy, video hry, byznys programy,... ) uzivatel e (lid e, stroje, jin e poctace) Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 1
Komponenty poctacov eho syst emu, hierarchie Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 2
Operacn syst em, cle a funkce Program, kter y rd prov ad en aplikacnch a syst emov ych program u v poctaci Reprezentuje rozhran aplikacn syst emy a syst emov e programy hardware Cle OS pohodlnost pouzv an poctace efektivnost vyuzv an zdroj u poctacov eho syst emu schopnost rozvoje { umoznit efektivn v yvoj, testov an a zav ad en nov ych funkc bez interference s poskytovan ymi sluzbami Z cl u plynou role OS { rozhran uzivatel (aplikacn a syst emov e procesy)/poctac OS { spr avce zdroj u OS { v yvojeschopn y organismus Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 3
Model poctacov eho syst emu rzen eho operacnm syst emem Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 4
Struktura hardware a software poctace detailn eji Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 5
Generick a rozhran OS Application programming interface (API), knihovny vol an sluzeb OS na urovni vyssch programovacch jazyk u, pomocn e programy { OS m uze poskytovat pro r uzn e trdy aplikac r uzn a API sockets pro prenos dat,.net, transakce,... Application binary interface (ABI), vol an sluzeb OS na urovn strojov eho jazyka (asembleru), reprezentace OS a poctace v uci vsem aplikacm Instruction set architecture (ISA), strojov y jazyk Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 6
OS v roli rozhran uzivatel/poctac Koncov uzivatel e vid poctac jako sestavu aplikacnch program u Aplikacn programy se ps v programovacch jazycch aplikacnmi program atory Pro slozit e ovl ad an poctace maj k dispozici funkcnost souc ast operacnho syst emu { knihovnch, pomocn ych program u, utilities Maskov an detail u hardware a funkcnost nutnou pro efektivn a pohodln e pouzv an poctace zajist'uj programy soustred en e v j adru operacnm syst emu, core, kernel, pomoc poskytovan ych sluzeb OS, OS services Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 7
Typick e oblasti sluzeb poskytovan ych OS V yvoj program u, editory, ladc syst emy,... typicky poskytovan e pomocn ymi (syst emov ymi) programy Prov aden program u, vse co je nutn e zajistit pro cinnosti rzen e programy { pl anov an, zav aden, ovl ad an IO,... Prstup k IO zarzenm { jednotn e API pro r uzn a zarzen Prstup k soubor um dat na vnejsch pametech Prstup k syst emov ym zdroj um, bezpecnost, resen konikt u Chybov e rzen, automatizovan e reakce na nestandardn stavy v hardware, v software a v prpadech kdy OS nem uze uspokojit pozadavek aplikace Protokolov an, info o tom co se delo, z aklad pro uctov an, z aklad pro odhady budoucho vylepsov an,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 8
OS v roli spr avce zdroj u Poctac je sestavou zdroj u / prostredk u pro presun, uchov av an a zpracov an dat OS je odpovedn y za r adnou spr avu techto zdroj u OS je implementovan y v software, funguje jako kazd y jin y r adn y software OS je suita program u prov aden ych procesorem Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 9
OS je v yvojeschopn y organismus V prub ehu zivota konkr etnho konceptu OS doch az k dopl nov an a k inovacm hardware k dopl nov an nov e pozadovan ych sluzeb k oprav am chyb Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 10
Neexistuje univerz aln e akceptovateln a denice,,co to je OS" OS je program, kter y funguje jako spojka mezi uzivatelem poctace a hardware poctace { OS = cokoliv co je činné ve výpočetním systému a není to hardware nebo aplikace neexistuje univerz aln e akceptovateln a denice,,co to je OS" Everything a vendor ships when you order an operating system 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 syst emy { uvod 11
Pozadavky na OS jsou r uznorod e Cle (povinnosti) OS rdit resen uzivatelsk ych (aplikacnch) program u poskytnout n astroje pro resen probl em u uzivatel u (aplikac) ucinit poctac snadn eji pouziteln y vytv aret podmnky umoz nujc efektivn e pouzvat hardware poctace Cle (pr an) uzivatele sluzby poskytovan e OS lze pohodln e pouzvat, snadno zvl adnout OS je spolehliv y, bezpecn y pozadovan e sluzby poskytuje OS pohotov e Cle (pr an) provozovatele OS OS je snadno navrhnuteln y, implementovateln y a udrzovateln y,, OS je prizp usobiteln y, spolehliv y a bezchybn y Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 12
Co to je operacn syst em? OS je poskytovatel probl emov e orientovan e abstrakce b azov ych fyzick ych prostredk u b azov e fyzick e prostredky: { procesory, operacn pam et', komunikacn n astroje, vnejs pameti,... OS nabz program atorovi b azov e fyzick e prostredky k pouzit formou sluzeb poskytovan ych na rozhran vol an syst emu program ator chce vid et spse { soubory a z aznamy nez diskov e bloky a vystavovac mechanismus disku { spse schr anky (sockets) nez prm y prstup k sti { spse procesy a vl akna nez procesory, pamet'ov y prostor Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 13
Clem pouzit OS je abstrakce, extended machine Operacn syst em m en oskliv y hardware na atraktivn abstrakci Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 14
Co to tedy je operacn syst em? OS je spr avce prostredk u spravuje a rd vyuzv an vsech zdroj u syst emu, eviduje jejich vyuzv an,... rozhoduje mezi koniktnmi pozadavky tak, aby pouzv an zdroj u syst emu bylo efektivn a spravedliv e (odpovdajc zvolen e politice) OS je rdic program, rd prov ad en ostatnch program u tak, aby zabra noval chybn emu a nepatricn emu pouzit poctace rd bezpecn e prov ad en uzivatelsk ych program u a operac I/O zarzen Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 15
Probl emy budov an OS OS jsou,,obrovsk e"syst emy v soucasnosti predstavuj az stovky mili on u r adk u k odu, pracnost r adov e tisce clov eko-rok u OS jsou slozit e syst emy pozadavky r uzn ych uzivatel u se casto podstatn e lis nelze jednor azov e odstranit vsechny chyby, verikace z d uvod u slozitosti selh av a Chov an OS se obtzn e predpovd a,,,serizov an"/ laden se del a vesmes odhadem Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 16
OS se staly slozit e { funkcne system calls: open, read, write, close, wait, exec, fork, exit, kill... OS rok pocet Unix 1971 33 Unix 1979 47 Windows 1.0 1985 450 SunOS 4.1 1989 171 4.3 BSD 1991 136 SunOS 4.5 1992 219 SunOS 5.6 1997 190 Linux 2.0 1998 319 FreeBSD 1998 330 Windows 1999 a d al x 10 3, x > 3 Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 17
OS se st avaj slozit e { funkcne Enorm e nar ust a slozitost vnitrnch algoritm u (j adra) OS pocty cykl u procesoru spotrebovan ych ve Windows NT pri Zasl an zpr avy mezi procesy: 6K { 120 K podle pouzit e metody Vyvtoren procesu: 3M Vytvoren vl akna: 100K Vytvoren souboru: 60K Vytvoren semaforu: 10K { 30K Nahr an DLL knihovny: 3M Obsluha prerusen/v yjimky: 100K { 2M Prstup do syst emov e datab aze Registry: 20K Windows NT (New Technology) { p uvodn syst em fy Microsoft pro procesory IA-32 a novejs Windows 7, 8... jsou pouze obchodn n azvy r uzn ych verz NT V soucasn e dobe podporovan e verze NT 6.2 a NT 6.3 Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 18
OS se st avaj slozit e { rozsahem (LOC, Lines of Code, v 10 6 ) OS rok LOC OS rok LOC 3.1 1992 3 NT 1992 4 95 1995 15 NT 4.0 1996 16 98 1998 18 2000 2000 30 XP 2001 40 Vista 2007 64 7 2009?? Solaris 1991 10 FreeBSD 1993-1998 9 Red Hat Linux 6.2 2000 17 Red Hat Linux 7.1 2001 30 Debian 2.2 2000 60 Debian 3.0 2002 104 Debian 3.1 2005 215 Debian 4.0 2007 283 Fedora 9 2008 205 Mac OS X 10 2010 86 2 dek ady { zv ysen rozsahu OS v LOC na dvaceti az 30-n asobek Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 19
Evoluce OS v bodech Systematick a ilustrace evoluce viz samostatn a predn aska Operační / počítačové systémy geneze Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 20
Klasikace poctac u { klasick e (strediskov e) poctace strediskov y poctac { dnes jiz historick y pojem v soucasnosti vystupuj v jejich rolch podnikov e servery klasick e hlavn rysy strediskov ych poctac u redukce rezijnho casu pro prpravu v ypoct u se dosahovala razenm podobn ych prac / zak azek (jobs) do d avek { batch, batch processing, automatizace razen d avek vc. automaticky pred avan eho rzen mezi denovan ymi zak azkami (jobs) rezidentn rdic program { monitor { poc atecn e zsk av a rzen, rzen pred av a mezi zak azkami, kdyz zak azky konc { rzen se vrac monitoru multiprogramov y rezim cinnosti { soub ezn e resen vce program u jestlize cten a z apis dat z/na disku trv a 15 µs, zpracov an dat trv a 1µs, pak je procesor vyuzit y pouze na 3,2 % (1/32) a jeho kapacitu v dobe cek an na IO lez ladem Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 21
Princip multiprogramov an (multitasking) Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 22
Organizace hlavn pam eti klasick eho poctace Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 23
Rysy OS potrebn e pro implementaci multiprogramov an ex. funkcionalita pro ovl ad an I/O a rys u nutn ych pro implementaci OS (viz nze) vlastn rzen I/O operac prov ad v yhradn e operacn syst em 2-rezimov y provoz CPU (j adro operacnho syst emu x uzivatel), privilegovan e / neprivilegovan e instrukce ex. funkcionalita pro spr avu pam eti Syst em mus b yt schopn y pridelovat pamet' r uzn ym zak azk am a ze zak azek odvozen ym proces um dynamicky Dvoj vize pam eti { z hlediska jej fyzick e konstrukce a srky fyzick ych adresovacch registr u { fyzick y adresov y prostor, FAP { z hlediska konstrukce adresy ve strojov em jazyku logick y adresov y prostor, LAP z aruka ochrany oblast pam eti pred neautorizovan ym prstupem Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 24
Rysy OS potrebn e pro implementaci multiprogramov an ex. mechanismus prerusen pred av an rzen mezi aplikacnm programem a j adrem OS { reakce na asynchronn ud alosti ex. funkcionalita pro pl anov an CPU,,srdcem"typicky b yv a intervalov y casovac zabra nuje se, aby si uzivatelsk y proces trvale obsadil CPU (z amerne, chybou,... ) po uplynut intervalu casu se generuje prerusen OS mus b yt schopn y volit mezi r uzn ymi procesy pripraven ymi k proveden ex. funkcionalita pro prid elov an zarzen (zdroj u) Dynamicky, exklusivn e / sdlen e Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 25
Z akladn denice souvisejc s OS j adro OS logick e rozsren rys u hardware + poskytovan e sluzby vse mimo j adro je reseno formou proces u j adro m uze vyuzvat speci aln rysy hardware nedostupn e proces um mikroj adro OS minimalistick a varianta j adra OS pouzit a v nekter ych OS typicky zabezpecuje { spr avu prerusen, { spr avu pameti, { spr avu procesor u a { spr avu proces u a komunikaci mezi procesy pred av anm zpr av { Interprocess communication (IPC) ostatn funkce j adra se presouvaj do,,procesov e\ oblasti (drivery, sluzby syst emu soubor u, virtualizace pameti,... ) mezi procesy se komunikuje pred av anm zpr av Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 26
Multiuzivatelsk e syst emy, Time-Sharing Systems, TSS multiprogramov an { orig. technologie pro efektivn d avkov e zpracov an { soubezn e resen vce program u Multiuzivatelsk e syst emy rozsiruj pl anovac pravidla o rychl e (spravedliv e, cyklick e) prepn an mezi procesy rescmi zak azky interaktivnch uzivatel u podporuje se on-line komunikace mezi uzivatelem a OS p uvodn e v konguraci poctac{termin al v soucasnosti v st'ov em prostred syst em je uzivatel um on-line dostupn y { jak pro zprstup nov an dat { tak i pro resen program u Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 27
Hlavn prnosy z v yvoje OS pro poctacov e vedy Procesy Spr ava pameti Ochrana informac a bezpecnost d uv ernost, Confidentiality integrita, Integrity, integrita dat, integrita identity { authenticity dostupnost, Availability Pl anov an a spr ava, rzen zdroj u spravedlivost, diferenciovateln a prednost, efektivita kr atkodob e { bezprostredn pl anov an, dlouhodob e { strategick e pl anov an Strukturov an syst em u Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 28
Proces Identikovateln a jednotka cinnosti charakterizovateln a sekvencnm vl aknem (tokem) prov ad en operac a s nm souvisejcch zdroj u Program je strukturovan y prkaz, proces je d ej Program umsten y v pameti m uze rdit beh vce proces u Soubezn e resen vce proces u se naz yv a multiprogramov an, resp. multitasking Soub eznost resen proces u m uze b yt prcinou casove z avisl ych chyb Nespr avn a synchronizace Chybn e vz ajemn e vyloucen Nedeterminismus operac Uv aznut Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 29
Hlavn prciny casov e z avisl ych chyb v procesech Nespr avn a synchronizace jeden proces ocek av a ud alost, kterou generuje jin y proces (naplnen / vypr azdnen vyrovn avac pameti,... ) proces kter y generuje ud alost signalizuje jej vznik sign aly se nesm ani ztr acet ani duplikovat Chybn e vz ajemn e vyloucen editovat sdlenou datovou strukturu sm v jednom okamziku pouze jeden proces soubezn e procesy se mus na pri takov e editaci vz ajemne vylucovat, zm ena stavu sdlen e struktury mus prob ehnout ned eliteln e, atomicky Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 30
Hlavn prciny casov e z avisl ych chyb v procesech Nedeterminismus operac cinnost procesu m a z aviset pouze na jeho vstupech, nikoli na cinnosti jin ych proces u pokud procesy sdlej pamet', pak pri prokl ad an jejich behu na procesoru nesm v ystupy ovliv novat porad, ve kter em je pl anovan y jejich beh Uv aznut dva nebo vce proces u na sebe vz ajemne cekaj prvn proces v ylucne drz zdroj A, druh y v ylucne drz zdroj B a prvn pozaduje prstup k B a druh y prstup k A Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 31
Komponenty procesu, spr ava proces u, vl akno program, kter y rd tok operac zpracov avan a data promenn e, pracovn prostory, vyrovn avac pameti,... kontext prov ad en { stav procesu intern data v OS pro dohled na procesem a pro rzen procesu obrazy registr u, kter e proces sdl s ostatnmi procesy priorita procesu, zda proces cek a na jistou ud alost,... Spr ava proces u upln y stav je trvale obsazen y v jeho kontextu Vl akno, thread proces, kter y drz zdroje nutn e pro jeho realizaci, lze vnitrn e rozd elit sekvencn tok operac do soub ezn e resiteln ych dlcch tok u { vl aken, vl akno bez v kontextu jeho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 32
Typick a implementace procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 33
Spr ava pam eti, p et nejd ulezit ejsch pozadavk u Izolace proces u data i programy r uzn ych proces u nesm v pameti interferovat Podpora modul arnho programov an Automatick e prid elov an a spr ava OS proces um prideluje pamet' v cel e hierarchii pamet podle jejich potreby, z hlediska program atora transparentn e, Ochrana a rzen y prstup k pameti Dlouhodob e uchov av an dat Data se mnohdy mus uchovat i po ukoncen procesu, kter y je vytvoril a nez avisle na dostupnosti energie (na discch,... ) Pln spolecne se souc ast OS syst em soubor u, File System Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 34
Virtu aln pam et' Procesy mohou adresovat pam et' z logick eho hlediska, bez ohledu dostupnou fyzickou kapacitu hlavn pam eti Nutn a vlastnost pro spln en pozadavku soub ezn eho pouzv an hlavn pam eti vce procesy Z akladni technika { str ankov an, paging proces se skl ad a z blok u pevn e d elky { str anek, pages program adresuje operandy ud anm csla str anky a adresy operandu ve str ance kazd a str anka m uze b yt umstena v hlavn pameti kdekoliv { v r amci, frame str anka zprstup novan a procesorem mus b yt v r amci v hlavn pameti spr ava pam eti poskytuje mechanismus dynamick e transformace logick ych (virtu alnch) adres na re aln e (fyzick e) adresy v hlavn pameti Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 35
Virtu aln pam et' Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 36
Studujeme OS vyuzvajc koncept multiprogramov an jeden uzivatel s jednm resen ym programem nem uze udrzet CPU a I/O zarzen trvale v chodu co se nepouzv a, to je mrtv a investice multiprogramov an organizuje resen vce uloh (zad an) formou proces u takov ym zp usobem, aby CPU byla pokud mozno st ale cinn a proces { k od programu, data, prostor v pameti, udrzov an identity... prostory v pameti OS prideluje vybran e podmnozine proces u kazd emu jednomu procesu OS postupn e prid eluje CPU pro jeho b eh (resen) kdyz b ezc proces se rozhodne cekat (napr. na dokoncen I/O), OS pridel CPU jin emu procesu kdyz bezc proces usurpuje CPU ne umerne dlouho, OS pridel CPU jin emu procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 37
Uspor ad an hlavn pam eti v multiprogramov ych syst emech Klasick e (dnes jiz spse historick e) uspor ad an hlavn pam eti Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 38
Uspor ad an hlavn pam eti v multiprogramov ych syst emech Resen,,probl emu"se stane slozit ejs pri virtualizaci pam eti Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 39
Multiprogramov an = Multitasking multitasking je synonymum konceptu multiprogramov an CPU se pred av a mezi procesy tak rychle, ze uzivatel e mohou b yt se sv ymi soubezne resen ymi procesy v on-line interakci, jedn a se tak o koncept interaktivnho poct an (interactive computing) doba reakce procesu v uci uzivateli b yv a < 1 sekunda kazd y uzivatel m a v hlavn pameti pridelen y prostor alespo n pro jeden prov aden y program a nutn a data { proces ponevadz b yv a pripraveno k behu vce proces u, OS mus resit pl anov an cinnosti CPU, aby postup proces u spl noval zadan a krit eria jestlize nelze vsechny potrebn e procesy umstit do hlavn pam eti, lze nekter e z nich presunout do vnejs pameti a jejich behy se odlozit { technikou naz yvanou swapping virtualizace pam eti umoz nuje prov ad en proces u, aniz by byly v hlavn pameti umsten e cel e jejich programy a vsechna jejich data Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 40
Ochrana informac, informacn bezpecnost V yznam roste prechodem na multiuzivatelsk e, multiprogramov e, st'ov e orientovan e,... poctacov e syst emy Hlavn probl emy informacn bezpecnosti zajist'ovan e OS Dostupnost (availability) { ochrana syst emu proti prerusen cinnosti D uv ernost (confidentiality) { dostupnost zdroj u je podrzen a denovateln e autorizaci akt er u Integrita { modikovatelnost zdroj u je podrzen a denovateln e autorizaci akt er u Autenticita { ov eritelnost identity (uzivatel u. proces u, dat) Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 41
Pl anov an a spr ava zdroj u V yznam roste prechodem na multiuzivatelsk e, multiprogramov e, st'ov e orientovan e,... poctacov e syst emy Hlavn cle pl anov an a spr ava zdroj u zajist'ovan e OS Spravedlivost (Fairness) { vsichni akt eri maj rovn y, spravedliv y prstup ke zdroj um Diferencovateln a vnmavost (Differential responsiveness) { komplement ke spravedlivosti respektujc stanoven a pravidla Efektivita (Efficiency) { maximalizace propustnosti, minimalizace dob reakc a prizp usobivost co nejvce uzivatel um jsou koniktn krit eria, jejichz napln en mus OS balancovat Jan Staudek, FI MU Brno PB152 Operacn syst emy { uvod 42