Lgrministrtion Pging og sgmntring
R: Logisk/fysisk rssr... Pros-struktur = ko og t for n pros 4G En pros tilgår sin pros-struktur vi t logisk/virtult rssrum, fx 0, 1,..., 4G OS ministrrr plring f prosstrukturr i t fysisk lgr 0 OS og MMU ministrrr ovrsættls f logisk rssr til fysisk rssr
OS som virtul mskin Hrwrrsursr ls mllm progrmmr unr fvikling, hrunr lgrt: Hvorn stills t virtult lgr til råigh for hvr pros?
Virtult lgr (1) Målsætning For hvr pros sks n illusion f t stort linært virtult lgr... Rlvnt l f virtull lgr fspjls utomtisk og trnsprnt i t fysisk lgr OS og MMU ovrsættr virtull rssr til fysisk rssr 4G 4G 4G 0 0 0
Virtult lgr (2) Virtult lgr 4G Fysisk lgr 1G 0 0 Aministrtion f filning... Progrmmør, iliotk, OS, llr hrwr? Ovrlys, sgmntr llr pging?
Pging Dt virtull lgr opls i pgs m fst størrls... Fysisk lgr opls i pg frms f smm størrls... Pgs inlæss i pg frms... OS og MMU skl ministrr n ffktiv ovrsættls mllm virtull og fysisk rssr...
Arssovrsættls LD AC, 0 LD AC, 8192 LD AC, 8192 LD AC, 24576 LD AC, 20500 LD AC, 12308 LD AC, 32780 Pg fult Virtul_rss = pg pgsiz offst pg = v iv pgsiz Fysisk_rss = pgfrm pgsiz offst offst = v mo pgsiz
Pging og rssformtr Pg No. Frm No. Arss mp Virtul_rss: v = (p,w) Fysisk_rss: p = (f,w) Physil mmory p stmmr ntl pgs i VM, 2p f stmmr ntl frms i PM, 2f w stmmr pg/frm siz, 2w Virtul mmory Arssovrsættls?
Arssovrsættls m frm-tl Frm-tl En glol frm-tl FT ngivr for hvr pg frm hvilkn pros r jr n og hvilkt pg-nummr t r for n pros Hvis FT[f]=(ID,p) r frm f jt f pros ID som pg nummr p. Omrgning: rss_mp(id, p, w) { p = UNDEF; for (f=0; f<f; f) if (FT[f].ID==ID && FT[f].pg==p) { p = (fw); rturn p; } rturn p; }
Q/A Frm-tl En glol frm-tl FT ngivr for hvr pg frm hvilkn pros r jr n og hvilkt pg-nummr t r for n pros Hvis FT[f]=(ID,p) r frm f jt f pros ID som pg nummr p. Omrgning: rss_mp(id, p, w) { p = UNDEF; for (f=0; f<f; f) if (FT[f].ID==ID && FT[f].pg==p) { p = (fw); rturn p; } rturn p; } Hvorfor r tt hlt tosst? Ellr r t?
Arssovrsættls m pg-tl Pg-tl En pg-tl PT r tilknyttt til hvrt virtult rssrum; PT for n kørn pros ngivs f t rgistr PTR PT[p] r frm som si p r inlæst i, hvis inlæst... Givt (p,w) slås op i n ktull pg-tl: rss_mp(p, w) { p = *(PTRp)w; rturn p; } Effktivt, mn rugr mgt pls...
Q/A Hvorfor skl PTR vær t rgistr?
Pg-tl og ffktivitt Prolm Hvrt opslg i pg-tlln skl vær ffktivt Løsning Gm t i t hurtigst mulig lgr... i rgistr i MMU'n...... i OS-ln f t fysisk lgr...... llr lit f hvrt...
MMU og mini-pg-tl Virtul_rss = pg pgsiz offst Fysisk_rss = pgfrm pgsiz offst pg = v iv pgsiz offst = v mo pgsiz
Trnsltion Looksi Buffrs Pgtlln lgrs i OS-ln f t fysisk lgr... mn uvlgt l gmms i t hurtigr ssoitivt lgr...... f.ks. hurtig gng til snst rugt ingng i pg-tl...
Pg-tl og pls Prolm Pgtlln kn liv stor... t 232=4 GB lgr, opls i 220=1048576 4KB sir...... ltså 1048576 ingng, fylr minst 4 MB...... pr pros!... Løsning... nivuling, m muligh for t l l vær ufi nr, plus h...
Pg-tl i fl r nivur (1) 4GB opls i 210 pg-tllr, som 10 hvr hr 2 4KB pgs NB: ungå t gmm tomm (son-lvl) tllr i fysisk lgr... Virtult lgr 4096M 0M
Pg-tl i fl r nivur (2) 4GB opls i 210 pg-tllr, som hvr hr 210 4KB pgs Pging f pg-tllr Hvr tl fylr 4KB, så n kn vær på n nklt si... Top-lvl pg-tl fsthols i OS-ln f fysisk lgr, mns son-lvl tllr pgs in ftr hov... Virtult lgr 4096M 0M
Plring f sir i fysisk lgr Sttisk Pg-tlln initilisrs v progrmstrt; givr n sttisk inljring f l f stort virtult rssrum... Dynmisk Dmn Pging Sir sks/inlæss ftr hov; hvis r spørgs ftr n si r ikk p.t. r i lgrt fås n pg fult... rss_mp(p, w) { if (rsint(*(ptrp))) { p = *(PTRp)w; rturn p; } ls pg_fult; } Hv skr r v t pg fult...
Håntring f pg fult LD AC, 32780 Pg fult MMU lvr trp til OS Gm prossns tilstn Bstm pg r ønsks Fin lig pgfrm Inlæs ønskt pg fr isk Optr pgtl Pros kn kør ign Ingn lig frm Bstm pg r skl u Skriv nn pg til isk
spørgsmål omkring virtul mmory?
Pg rplmnt lgoritmr... skl vælg pg un t kn frmtin... Glol rplmnt Lol rplmnt Btrgtr ll sir i lgrt Btrgtr kun sir for n ktull pros... - Optiml (VMIN) - Working st rplmnt... - Optiml (MIN) - Rnom - First-In/First-Out (FIFO) - Lst rntly us (LRU) - Son-hn - Thir-hn...... hvis working st kn vær i fysisk lgr så ok, llrs thrshing...
Pg rplmnt, ksmpl (1) Optiml (MIN): Fjrn si som tilgås om længst ti... Tim t 0 1 2 3 4 5 6 7 8 9 10 RS Frm 0 Frm 1 Frm 2 Frm 3 IN OUT Prolm: Rfrn skvns r uknt...... rugs som rfrn v nlys f nr lgoritmr...
Pg rplmnt, ksmpl (2) FIFO: Fjrn n ælst si, mgt simpl... Tim t 0 1 RS Frm Frm Frm Frm IN OUT 2 3 4 5 6 7 8 9 10 0>> > > > > 1 > > > 2 > 3 > Prolm: tgr ikk hnsyn til hvis gml sir rugs...
Pg rplmnt, ksmpl (3) LRU: Fjrn n si som r rugt for længst ti sin... Tim t RS Frm 0 Frm 1 Frm 2 Frm 3 IN OUT Q.n Q.h 0 1 2 3 4 5 6 7 8 9 10
Pg rplmnt, ksmpl (4) VMIN: Fjrn si som ikk skl rugs i 'vinut' (3)... Tim t 0 1 2 3 4 5 6 7 8 9 10 RS Pg Pg Pg Pg Pg IN OUT - - - - - - - Prolm: Rfrn skvns r uknt...
Pg rplmnt, ksmpl (5) WS: Fjrn si som ikk r rugt i 'vinut' (-3)... Tim t 0 1 2 3 4 5 6 7 8 9 10 RS Pg Pg Pg Pg Pg IN OUT - - - - - Prolm: Vnsklig t implmntr ffktivt...
spørgsmål omkring pg rplmnt?
Lgrt r måsk stort, mn... Prolm Plring og skyttls f ufhængig t i t stort lgr Løsning Ekspliit opling f lgrt i områr: Sgmntr... jvf. IJVM's lgr: (onstnt pool, 12), (stk, 24),...
Sgmntring (1)... opling f lgrt i ufhængig rssrum: sgmntr... Virtul_rss = (sgmntnummr, offst) = (s,w)... OS ministrrr plring f sgmntr i lgrt...
Sgmntring (2) Et sgmnt r n smmnhængn lok i t fysisk lgr... En sgmnt-tl upgr strtrss for nklt sgmntr. Dn ktull sgmnttl upgs f t rgistr STR... Arssovrsættls: rss_mp(s, w) { if (rsint(*(strs))) { p = *(STRs)w; rturn p; } ls sgmnt_fult; } Ekstrn frgmntring
Sgmntring m pging Hvrt sgmnt opls i sir... Virtul_rss r v = (s,p,w) s stmmr ntl sgmntr p stmmr ntl pgs pr. sgmnt w stmmr sistørrlsn Fysisk_rss r p = *(*(STRs)p)w To tlopslg v rssovrsættls...
Stor sgmnt- og pg-tllr Tllrn kn liv rt stor... - Opl ST/PT i pgs... - Hol styr på iss vi n kstr pg-tl F.ks. pging f sgmnt-tl - Opl sgmnt-tl i sir - Sgmnt irtory upgr ST pgs v = (s1,s2,p,w) p = *(*(*(STRs1)s2)p)w 3 tlopslg v rssovrsættls...
Rsum - Pging og sgmntring
spørgsmål omkring sgmntring?
Dling f lgr mllm prossr (1) Hvorfor? (1) rurt lgrforrug, (2) intrpros-kommuniktion... kn f.ks. gørs vh. rlokrings-rgistr... Vigtigt: Progrmko må ikk moifi rs unr fvikling...
Dling f lgr mllm prossr (2) Hvorfor? (1) rurt lgrforrug, (2) intrpros-kommuniktion... llr v t fl r pg-tllr upgr smm pg-frm... Tiskrævn når n lt si swpps u f lgrt...
Opsummring Virtult lgr Virtull vs. fysisk r., pging, pg/frm tls MMU, TLB, pg fults Pg rplmnt lgoritmr Glol/lokl lg., MIN, FIFO, LRU, VMIN, WS Sgmntring Sgmntr, sgmntr m pging Dling f lgr Ps på pointr fr lt områ... smspil mllm hrwr (MMU) og softwr (OS)...