Spr ava hlavn pam eti PB152 Operacn systemy Jan Staudek http://www. .muni.cz/usr/staudek/vyuka/ Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Verze: jaro 2017 Osnova prednasky 2 Obecne principy spravy hlavn pameti 2 strankovan, paging hlavn pameti, 2 segmentovan, segmentation hlavn pameti 2 strankovane segmentovan hlavn pameti 2 strankovan (segmentovan) hlavn pameti na zadost, demand paging/segmentation, Pokud nerekneme jinak, pak pri v ykladu spr avy hlavn pam eti a virtualizaci pam eti, tj. pam eti prmo dostupn e z CPU, pouzv ame termny pam et' a hlavn pam eti alternativn e Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 1 Pozadavky na spravu pameti Roli dlouhodobe pameti programu a dat pln energeticky nezavisla vnejs pamet' (disky, ...) Program rdic beh procesu a zpracovavana data mus byt umsteny v (energeticky zavisle) hlavn (operacn, vnitrn) pameti, kazde metode a promenne mus byt pridelena adresa v teto pameti Nekdo mus urcit kde v hlavn pameti budou program a data umsteny Proces netus kde v hlavn pameti bude umsten jeho program, dynamicky vytvarena data data mohou byt v hlavn pameti kdekoliv, nekdo mus svazat instrukce a data s konkretnmi adresami pameti, address binding ,,Nekdo" v multitaskingovych systemech = sprava hlavn pameti Sprava hlavn pameti mus zajistit, aby sdlen hlavn pameti procesy bylo transparentn a efektivn a pritom bezpecne Sprava hlavn pameti je predmetem cinnosti OS, nelze ji nechat na aplikacnm programovan, vykon jejich funkc, by byl neefektivn spse vsak skodlivy Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 2 Adresovy prostor, AP 2 genericke chapan { vymezen adres clovych objektu AP telefonnho seznamu je interval csel 0 { 999999999 AP nemus byt nutne numericky, Internetove domeny jsou rovnez adresovym prostorem 2 Adresovy prostor instrukc interpretovanych CPU je skala adres bunek hlavn pameti, fyzicky adresovy prostor 2 V hlavn pameti kooexistuje OS a (spousta) procesu 2 Procesy jsou rzeny programy a v idealnm prpade se kazdy proces vc. OS realizuje ve svem vlastnm AP, v AP procesu 2 Clove resen v soudobych poctacch umoznit kazde entite typu proces (OS) pouzvat svuj vlastn AP procesu implementovany jako abstrakce fyzickeho adresoveho prostoru poctace { logicky adresovy prostor Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 3 Logicky / Fyzicky adresovy prostor, LAP / FAP 2 Logicky adresovy prostor, LAP, mnohdy take receny virtualn adresovy prostor je vymezeny srkou a formou adresy v instrukci ve strojovem jazyku, adresa v LAP { logicka adresa, take virtualn adresa kapacita a struktura LAP je dana bitovou srkou a strukturou adresy v instrukci muze byt jednodimenzionaln nebo dvoudimenzionaln 2 Fyzicky adresovy prostor, FAP, resp. realny adresovy prostor je dan skalou adres hlavn pamet, je linearn, jednodimenzionaln adresa ve FAP { fyzicka adresa, take realna adresa kapacita FAP je dana bitovou srkou adresove sbernice hlavn pameti, resp. bitovou srkou registru adresy hlavn pameti Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 4 |||||||||||||||||||||||| Vazan LAP na FAP 2 vazan LAP na FAP, resp. vazan instrukc a dat na adresy hlavn pameti, je bazovy koncept spravy pameti pri vazan LAP{FAP v dobe kompilace { LAP a FAP se shoduj (velikost, strukturou) { abstrakce AP se neuplatnuje, { presna konkretn umsten se mus znat a priori pri vazan LAP{FAP v dobe zavaden { LAP a FAP se shoduj (velikost, strukturou) { abstrakce AP se neuplatnuje, { aplikuje se relativn adresovan (baze + o set) pri vazan LAP{FAP v dobe behu procesu { LAP a FAP mohou mt rozdlne delky a/nebo i struktury { uplatnuje se abstrakce AP, vc. virtualizace pameti { aplikace DLL (Dynamic Linking Library) modulu, sdlene knihovny Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 5 Zavaden, sestavovan 2 Prvn krok vytvaren aktivnho procesu zaveden programu a inicialnch dat do hlavn pameti a vytvoren obrazu procesu v PCB Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 6 Typicky scenar zavaden a sestavovan Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 7 Studovany model spravy pameti 2 Predmetem studia jsou operacn systemy multitaskingovych systemu, ve kterych se vazan LAP{FAP res v dobe behu procesu Program (posleze rdic proces) je ulozeny na vnejs pameti a je vypracovany pro AP procesu Do hlavn pameti jej OS (prpadne po castech) zavad dynamicky, v hlavn pameti je stale zobrazeny v AP procesu a tento AP proces je mapovany do FAP az pri interpretaci jeho instrukc v CPU 2 Vazan LAP{FAP v dobe tvorby programu, prekladu, zavaden, ... je typicke pro vestavene poctace apod. Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 8 Pozadavky na spravu pameti 2 Moznost relokace programu (premst'ovan v hlavn pameti) programator nemuze vedet, ve ktere casti hlavn pameti bude bude jeho program umsteny pri vymenach cast programu procesu mezi hlavn a vnejs pamet (swapping) muze byt temto castem dynamicky pridelena jina oblast FAP, nez kterou opustily swapping umoznuje OS udrzovat velky bank pripravenych procesu odkazy na pamet'ova msta v instrukci interpretovane CPU mus odrazet okamzite skutecne adresy operandu v hlavn pameti (ve FAP) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 9 Adresovan v ramci procesu mus umoznit relokaci Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 10 Vazan LAP na FAP pri kompilaci { staticky 2 Abstrakce AP se nepouzva, LAP ≡ F AP 2 umsten programu ve FAP je zname a priori (pred prekladem) 2 kompilator generuje absolutn program prmo pro FAP 2 obraz programu ve FAP { absolutn zavadeny modul 2 absolutn zavadeny modul zavad do pameti absolutn zavadec 2 pri zmene umsten programu ve FAP se mus preklad opakovat Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 11 Vazan LAP na FAP pri sestavovan / zavaden { staticky 2 Abstrakce AP se nepouzva, LAP ≡ F AP 2 umsten programu ve FAP je zname pri sestavovan / zavaden programu 2 prekladac generuje sestavovatelny modul (object module), jehoz clovym adresovym prostorem je LAP 2 sestavovac, linkage editor, generuje doplnuje do nej knihovn moduly a vytvar zavadeny modul (load module) 2 zavadeny modul muze byt absolutn nebo premstitelny absolutn modul { obraz FAP, zavad ho absolutn zavadec premstitelny modul { obsahuje identi kace umsten dat zavislych na umsten ve FAP, zavad ho premst'ujc zavadec zajist'ujc zobrazovan LAP na FAP Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 12 Vazan LAP na FAP pri behu { dynamicka relokace 2 clovym prostorem programovan a sestaven je LAP 2 program se zavede do FAP ve tvaru pripravenem pro LAP 2 vazan adres LAP na adresy FAP se odklada na dobu behu { pri interpretaci instrukce 2 proces muze menit svoji polohu ve FAP mezi ruznymi fazemi behu 2 mus byt tudz dostupna hardwarova podpora { Memory Management Unit, MMU nebo Dynamic Address Translation, DAT 2 nejjednoduss formou MMU je relokacn / bazovy registr, viz dale Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 13 Vazan LAP na FAP pri behu { dynamicka relokace 2 prace s relokacnm registrem pocatecne se nastav hodnotou doln adresy oblasti ve FAP pridelene procesu jeho obsah CPU pripoctava k adresam v interpretovanych instrukc v okamziku, kdy je tato adresa pouzvana jako ukazatel do hlavn pameti relokacn registr je privilegovany, pro nahran je dostupny pouze OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 14 Pridelovan souvislych oblast, mezn registr 2 hlavn pamet' (FAP) se typicky del do dvou typu oblast oblast pro rezidentn cast OS, obvykle na pocatku FAP 1, 2, ...oblast pro uzivatelske procesy 2 pridelovan oblast procesum pro ochranu procesu uzivatelu mezi sebou a OS lze pouzt schema s relokacnm a meznm registrem relokacn registr { nejnizs (bazova) adresa oblast ve FAP bud'to mezn registr udava posledn adresu LAP pouzitou v procesu { logicka adresa pouzita v procesu mus byt < obsah meznho registru nebo mezn registr udava posledn adresu FAP v oblasti FAP pridelene procesu { fyzicka adresa pouzita v procesu mus byt < obsah meznho registru Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 15 Pridelovan souvislych oblast, mezn registr pro LAP Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 16 Dynamicke zavaden, Dynamic Loading 2 (pod)program { routine { se zavad az je vyvolan na disku se uchovava jako premstitelny zavadeny modul volajc pogram nejprve prover, zda volany program je/ma byt zavedeny a prpadne ho zavad a koriguje stav zavedenych programu 2 dosahuje se lepsho vyuzit prostoru ve FAP nevolane moduly se nikdy nezavad 2 uzitecna technika v prpadech, kdy se mus velkymi programovymi moduly rdit rdce se vyskytujc alternativy 2 Navrh programu nepozaduje zadnou specialn podporu od operacnho systemu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 17 Dynamicke sestavovan, Dynamic Linking Library, DLL 2 staticke sestavovan { jednorazova cinnost sestavovace 2 dynamicke sestavovan { (pod)program { routine { se sestavuje (a zavad) az je vyvolan 2 pro indikaci kde lez prslusny knihovn program v hlavn pameti, resp. jak ho zavest, pokud jeste zavedeny nen, se pouzva maly program { stub (madlo, pahyl, parez, zbytek, ...) 2 Stub pri zskan rzen nahrad sam sebe volanm (pod)programu { routine { a preda mu rzen (provede ho) 2 prste se uz volany podprogram vola prmo Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 18 Pozadavky na spravu pameti 2 Nutnost ochrany procesy nesm byt schopne se bez povolen odkazovat na pamet'ova msta FAP pridelena jinym procesum nebo OS moznost relokace vyzaduje, aby se adresy kontrolovaly pri behu procesu hardwarem CPU 2 Moznost sdlen vce procesu muze rzene sdlet spolecnou cast FAP, aniz by se tm porusovala ochrana pameti { sdleny prstup ke spolecne datove strukture je leps resen, nez udrzovan konzistence jejch nasobnych kopi vlastnenych jednotlivymi procesy Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 19 Pozadavky na spravu pameti 2 Moznost logicka organizace struktur programu uzivatele tvor programy jako moduly se vzajemne odlisnymi vlastnostmi { moduly s instrukcemi jsou mnohdy execute-only { datove moduly jsou bud'to read-only nebo read/write { nektere moduly jsou privatn (private) jine jsou verejne (public) OS a HW mus podporovat praci s moduly tak, aby se dosahla pozadovana uroven ochrany a sdlen Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 20 Zakladn techniky spravy pameti 2 historicke techniky pridelovan pameti procesum souvisle oblasti ve FAP pro beh procesu (Partitioning) formy { xn oblasti staticke delky, trp vnitrn fragmentac { promenne oblasti dynamicky urcovane delky, trp vnejs fragmentac vnejs fragmentace { v pameti je dostatecne velky neobsazeny prostor rozdelenych do vce volnych oblast a zadna z nich nen schopna uspokojit pozadavek na pridelen pameti vnitrn fragmentace { proces nevyuzva cely prideleny adresovy prostor vesmes pouzvaj pro zobrazovan LAP → F AP dynamickou relokaci bazovym registrem v soucasnosti se uzvaj ve specializovanych OS, typicky v RT-OS, zadna podpora virtualizace pameti pro zvysen efektivity (stupne multiprogramovan) vesmes umoznuj obsah alokovanych oblast presouvat mezi hlavn a vnejs pamet { vymeny (swapping) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 21 Multiprogramovan s vce pevnymi souvislymi oblastmi FAP 2 obvykle davkove systemy, dnes uz vesmes historie 2 FAP sdl OS a n procesu 2 pro vazbu LAP-FAP se typicky pouzije relokace vyuzvajc bazovy registr (+ mezn registr) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 22 Multiprogramovan s dynamickymi souvislymi oblastmi FAP 2 Oblasti se vytvar a zanikaj tak jak vznikaj a zanikaj procesy Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 23 Pridelovan souvislych oblast promenne delky 2 problem dynamicky vznikaj useky dostupne pameti roztrousene po FAP procesu se prideluje oblast v useku volne pameti ve FAP, ktery jeho pozadavek uspokoj evidenci o pridelenych a volnych useku udrzuje OS 2 Kde pridelit oblast dane delky, kdyz je volna pamet' rozmstena ve vce souvislych nesousednch usecch? First- t { v prvnm dostatecne dlouhem useku volne pameti Best- t { v nejmensm dostatecne dlouhem useku volne pameti, vznikaj se velmi male (nejmens mozne) volne useky volne pameti Worst- t { v nejvetsm useku volne pameti, ponechavaj se nejvets volne useky volne pameti Z hlediska rychlosti a kvality vyuzit pametu jsou First-fit a Best-fit leps techniky nez technika Worst-fit nejcasteji se pouzva First-fit Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 24 Pridelovan souvislych oblast promenne delky Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 25 Zlo fragmentace 2 Vnejs fragmentace souhrn volne, tj. neobsazene, pameti ve FAP je dostatecny, nikoli v dostatecne velkem souvislem useku pro zavadenou cast programu 2 Vnitrn fragmentace Oblasti pameti FAP se prideluj po usecch, jejichz delka je vets nez pozadovana velikost pro zavadenou cast programu Prebytek v pridelene oblasti FAP je nevyuzitelna cast pameti 2 snizovan vnejs fragmentace setrasanm presouvaj se obsahy obsazenych oblast s clem vytvorit (jeden) velky usek volne pameti pouzitelne jen kdyz je mozna dynamicka relokace (viz MMU) provad se v dobe behu { problem I/O { s vyrovnavacmi pametmi plnenymi z periferi, autonomne nelze hybat, umst'uj se proto do prostoru OS Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 26 Zakladn techniky spravy pameti 2 historicke techniky pridelovan pameti procesum dals mozne formy { strankovan/segmentovan (paging/segmenting) { rozptylovan dlcch oblast LAP po FAP po castech (stranky/segmenty) do nesousednch oblast FAP, minimalizace vnejs fragmentace (strankovan) a/nebo vnitrn fragmentaci (segmentace), detatily pozdeji 2 soudobe techniky pridelovan pameti procesum strankovan/segmentovan na zadost (demand paging/segmenting), tj. virtualizace pameti, { rozptylovan oblast LAP po FAP po castech (stranky/segmenty) do nesousednch oblast FAP { zavadeni LAP do FAP po castech, na zadost procesu, z obrazu LAP procesu uchovavaneho ve vnejs pameti Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 27 Zakladn techniky spravy pameti, prehled Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 28 Zakladn techniky spravy pameti, prehled Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 29 Vymeny, Swapping 2 Obsah oblasti FAP pridelene procesu je vymenovany mezi vnitrn a vnejs pamet obema smery 2 Roll out, roll in vypis na disk , nacten z disku 2 Proces nemus byt pridelena pri navratu do hlavn pameti tataz oblast, kterou uvolnil 2 mnohdy pouzvane pri prioritnm planovan procesu 2 Majoritn doba vymen je doba prenosu obsahu oblasti 2 Princip pouzvany mnoha OS ve verzch nepodporujcch virtualizaci pameti { v prehistorii: UNIX, Linux, Window Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 30 Vymeny, Swapping, ve FAP jediny aplikacn program Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 31 Strankovan, preklad logicke adresy na fyzickou adresu 2 Preklad logicka adresa (adresa LAP) → fyzicka adresa (adresa FAP) se realizuje tabulkou PT, Page Table, tabulka stranek 2 idea: 2 kazdy proces ma svoji PT (soucast PCB), obsah PT nastavuje OS 2 obsah PT interpretuje MMU pri interpretaci instrukce procesorem umsten PT v hlavn pameti mikroprogram CPU zna Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 32 Strankovan, preklad logicke adresy na fyzickou adresu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 33 Strankovan, prklad 1 Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 34 Strankovan, prklad 2, dynamicke obsazovan FAP Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 35 Segmentovan 2 prostor ve FAP se prideluje po oblastech promenne delky 2 LAP se del do dvou dimenz { na oblasti zvane segmenty, je de novany max pocet segmentu a max delka segmentu 2 segmentum se prideluj oblasti ve FAP 2 protoze skutecna delka segmentu muze byt mens nez jeho maximaln delka, ke kazdemu segmentu se uvad jeho skutecna delka 2 OS si udrzuje seznam volnych oblast ve FAP a CPU pomoc tabulky segmentu v, ve kterem oblasti je umsteny ten ktery segment Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 36 Segmentovan 2 porad pridelenych oblast ve FAP nesouvis s poradm segmentu v LAP, pro programatora je alokace segmentu do FAP transparentnm rysem poctace 2 Ucel jednotlivych segmentu LAP muze byt dany jednak architekturou poctace a jednak rozhodnutm programatora Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 37 Logicka adresa v oblastech, pri strankovan a pri segmentaci Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 38 Preklad logicke adresy na fyzickou adresu, strankovan Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 39 Preklad logicke adresy na fyzickou adresu, segmentace Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 40 Implementace tabulky stranek 2 je ulozena v hlavn pameti 2 je odkazovana registrem PTBR (Page-table base register) 2 zprstupnen udaje/instrukce v hlavn pameti vyzaduje dva prstupy do hlavn pameti jednou do tabulky stranek jednou pro operand 2 problem snzen efektivnosti dvojm prstupem lze resit specialn rychlou hardwarovou cache pamet asociativn pamet',Translation Look-aside Buffers (TLB) obsah: k dvojic {p, f} pouzitych v nejblizs historii behu preklad p → f : { jestlize se p nachaz v TLB zskava se hodnota f z TLB { v opacnem prpade se f zskava z PT Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 41 Strankovan, Translation Look-aside Bu ers, TLB Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 42 TLB, Skutecna doba prstupu do vnitrn pameti 2 EAT, (Effective Access Time) 2 zprstupnen TLB = ε casovych jednotek 2 doba prstupu hlavn pameti = t µs 2 Hit ratio { α pravdepodobnost, ze se cslo stranky nalezne v TLB 2 EATs T LB = (T LB+operand)α+(T LB+P T +operand)(1–α) 2 EATs T LB = (ε + t)α + (2t + ε)(1–α) = (2–α)t + ε 2 EATjen P T = 2t, pro t = 100 ns → EATjen P T = 200 ns 2 ε = 20 ns, α = 80% (0, 8), t = 100 ns → EATs T LB = 120 × 0.8 + 220 × 0, 2 = 140 ns 2 ε = 20 ns, α = 98% (0, 98), t = 100 ns → EATs T LB = 120 × 0.98 + 220 × 0, 02 = 122 ns Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 43 2-urovnove strankovan (Pentium) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 44 2-urovnove strankovan (Pentium) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 45 Vce-urovnove strankovan, vykon 2 Pentium, 32 b architektura { 2 urovne 2 Sparc, 32 b architektura { 3 urovne 2 Motorola (68030), 32 b atrchitektura { 4 urovne 2 pro 64 b architekturu je 2-urovnove schema nepostacujc { UltraSparc, 64 b architektura { az 7 urovn { neunosne 2 Kazda uroven je uchovavana v pameti v samostatne tabulce, takze zobrazen logicke adresy na fyzickou muze spotrebovavat mnoho prstupu do vnitrn pameti mozne resen: viz dale { hasovana invertovana PT Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 46 Invertovana PT napr. AS400 (IBM), UltraSPARC, PowerPC, IA-64 Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 47 Hasovana PT Microsoft SQL Server 2000 (64-bit): Intel Itanium Processor Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 48 Porovnan technik implementace PT Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 49 Sdlen stranek Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 50 Vytvoren procesu stylem Copy on Write 2 Nove vytvareny proces pozaduje vytvoren noveho prostred behu 2 Tradicn forma vytvoren procesu unixoveho typu sluzba OS fork vytvor nove prostred behu kopi prostred zadajcho procesu + sdelen novemu procesu, ze je potomkem vytvarejcho procesu sluzba exec umozn volajcmu procesu de novat novy program rdic proces kopi z udaneho souboru 2 Vytvoren procesu zpusobem Copy on Write inicialne novy proces sdl stranky s puvodnm procesem pri zapisu do stranky novym procesem se vytvor pro novy proces samostatna kopie modi kovane stranky Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 51 Vytvoren procesu zpusobem Copy on Write Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 52 Segmentovan 2 Podpora uzivatelskeho pohledu na LAP 2 program je kolekce (lienarnch, samostatnych) segmentu (modulu) 2 kazdy segment ma programatorem prisouzenou roli Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 53 Segmentovan 2 FAP ma 1-dimensionaln charakter, je linearn 2 LAP ma 2-dimensionaln charakter Logicka adresa = dvojice {segment-number s, offset d} 2 Transformace LAP → FAP se res dynamicky urcovanym bazovym registrem pomoc tabulky segmentu, Segment Table, ST 2 polozka ST base { pocatecn adresa umsten segmentu ve FAP limit { skutecna delka segmentu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 54 Segmentovan, preklad logicke adresy na fyzickou adresu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 55 Sdlen segmentu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 56 Segmentovan se strankovanm, strankovan segmentu 2 resen problemu vnejs fragmentace segmentovan strankovanm segmentu 2 resen problemu velikosti PT ve FAP ve vnitrn pameti se uchovavaj PT pouze zavedenych segmentu 2 ST obsahuje adresu PT segmentu, ne bazi segmentu Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 57 Segmentovan se strankovanm, INTEL/PENTIUM 2 FAP: 32 bitu adresa, | F AP |= 4 GB 2 linearn nestrankovany LAP { radice, vestavene poctace, ... 32 bitu adresa, |LAP |= 4 GB, LAP →F AP : identita; 2 linearn strankovany LAP { puvodn Unixy 32 bitu adresa, |LAP |= 4 GB, LAP →F AP : 2-urovnove strankovan, 4 KB stranka 1024 4 MB oblast stranek { 1024 PT, kazda PT pro 1024 stranek 2 segmentovany strankovany LAP { Windows 32 bitu adresa v segmentu, |segment|= 4 GB, 16 K segmentu, |LAP |= 16 K x 4 GB = 64 TB, LAP →F AP : segmentovan (vyber z LAP) + 2-urovnove strankovan segmentu (zobrazovan LAP do FAP) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 58 Segmentovan se strankovanm, INTEL/PENTIUM 2 LAP = 16K 4GB-segmentu 2 dva logicke podprostory LAP, TI = 0 / 1 8 K segmentu pro proces 8 K segmentu sdlenych (OS, ...) 2 ochrana segmentu, RPL (Requested Privilege Level) klasi kace / opravnen 0 { sprava pameti, bazova bezpecnost 1 { zbytek OS 2 { aplikacn bezpecnost 3 { aplikace read / write omezen na urovni stranek (v PT) Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 59 Segmentovan se strankovanm, princip Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 60 Segmentovan se strankovanm, INTEL/PENTIUM Jan Staudek, FI MU Brno | PB152 Operacn syst emy { Spr ava hlavn pam eti 61