B *,+ -./.10324+562879.17 :<; +.>=!" #! $ % & %'"!)(" Stallings, Luku 8.1 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1?@ 9+ :A.0 CEDFDHGIKJMLNGJHGPOFLRQTSIKUMSFVNS B W/JFXMYZJHGIK[MLNGIAL B W/JFXMYZJHGIK[MLNGIAL]\^UZOL_QTSIASOa`TbcMLdOIKJIeI^`TGD B fgbiajmldofhdiìikjoikd KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-2 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1
?@.. 97 75M. 99 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-3 *,+ -./.10324+562879.17 :<; +. = = *)=? = "! #!$! KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-4 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-2
B B B B *,+ +.7 @@ 7 99 @. :: B `ìo NY SFLdOIAL FL JMGJMY FLMhFSFLNG3Q L IASUMUMVNL UiQiÜ KSFSO C L \^UFUZOFLRQTSIALNV UMh[MbIAUMLdOJOIKLMY LNhDZOL_QTS OL \^UMLdIeOJFJ hf[ OFL_QTSIAL V UOOU vain yksi globaali käänteinen sivutaulu yksi alkio per fyysinen sivutila, jossa ko. sivutilassa sijaitsevan sivun numero B H[MhUMLdOJMVNV U [OJOOLNVNV UPOFLRQTS Y LdIKJMGPIAL JMcFJIKDMDMG Y LNGFhD [OJOOLNGPOL_Q S h ìojfjood alkiossa myös prosessin numero (pid) MMU:hun rekisteri, jossa suoritettavan prosessin pid KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-5 *,+ +.7 @@ 7 99 @. :: CEDFDHGIKJMLdOJMGZWNG LNGcFJHhOFLdIOFLRQTSIALNV UMG GFSFYZJ e[mldikü Y SIKIKU [OJOOFLNGZ[O[MLdIeIKJFJOIKUhDi` L VNY L OFL_QTSFGFSFYZJ [ \^UZOFLNL I `TYZD etsittävä sisällön perusteella FIeOFLNGIKD FJ DMhMhDMLdOFbUMhMSFGUZIKJHb[IK[HGIKU CEDiìIKJIKDMDMGZÜ MSFGUbFU]\^UMSI#SOIKUMSFVNSU käytä hajautinta indeksin laskentaan, etsi kotisolusta samaan hajautusosoitteeseen kuvautuvat alkiot linkitetty toisiinsa B H[O OFLRQTSFGPIAL JFcM[IEJMLMV LdOIKUO OÜ UMLNbFJMSIKUZOFL_QTSFG FSFSIK[OFhJOFhJiìI^ìO KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-6 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-3
*,+ +.7 @@ 7 99 @. :: (Täydennetty) FJFc KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-7 *,+ +.7 @@ 7 99 @. :: B W/L_QTSIALNV UMG hfjmb `ThOJMG GMSFYZJ [ Suoraan taulun indeksi Ei tarvitse tallettaa tauluun FJFc KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-8 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-4
*,+ -./.10324+562879.17 :<; +. = =? =!= KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-9?? 7 ; 7. @@. @@ Kuva 7.11 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-10 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-5
?? 7 ; 7. @@. @@ BHJ esofl cfjf[mlnvdikufuhgpoumyzumgfv UMLNGJMG hmsflngpoflrq SI#SO `ThOFLNhjI ]Q UMLNG hjofhjhgdfdhgzj elnh[mhf[mldofl U OJFXMYZJHGIeIKJ]\^D B H[MhUMLdOJMVNV U [OJOOLNVNV U [MYZUPOJFXMYZJHGIeIALdIKUHSFVNS Kertoo missä tämän prosessin segmentit sijaitsevat B EO[MLdIKJMY SFSMGFG[OPOJFXMYZJMGIeIALdIAUMSFVNSFGZUiQTSFVNV U B NG hdiìieikjhfsiajmgzjfcmjmvnv D B NG JMhFLdOIKJ eldoodg ìi OJFXMYZJHGIeIALdIKUHSFVNSFG `` OFLNGJMGZ[O[MLdIKJ KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-11?? 7 ; 7./. @@. ::!#" $ "%" &'(!) "%" *')+%", + ')-!#./.0!1 P=1: segmentti muistissa, alkiossa fyysinen alkuosoite sekä pituus!#" $ "%" &'(!) "%" *2&3 3%. $./.03%45-!#./.0!6 kuten sivutaulussa!#" $ "%" &'(!) "%" *287:9 "&2&3 3%. ;.0!)$. kuten sivutaulussa KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-12 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-6
B $ $ @@ 7 9Z--9 @@ 7 99 @@.17 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-13 99 @@.17; 9 segm.nro = loog. osoitteen alkubitit siirtymä = loog. osoitteen loppubitit Jos segmentin tiedot ei TLB:ssä tai V=0, nouda TLB:hen segmenttitaulun alkio osoitteesta STR + segm.nro Jos P=0, aiheuta segm.puutoskeskeytys Jos siirtymä > Length, aiheuta keskeytys virh.muistiosoite fyys. osoite = Base + Siirtymä C SFG hfjofhjiìi^` O hdofldikjmvdi^` POUMYZU [O[MLdIeJ IASFV JMJ QTL LdIKUIeIKUiQ UMhOFLMSFScMJMVNV JFJMG KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-14 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-7
99 @@.17; 9 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-15 ; @@ @@.. B W/JFXMYZJHGIeIALdIKUMSFVNSMGZUMVNhFL [OOU UMVNhFS[O[MLdIKJ \^U FLdIASFSO segmentin kokoa helppo kasvattaa/pienentää dynaamisesti saattaa vaatia segmentin uudelleensijoittamista osoitteen oikeellisuus tarkistettavissa MMU:ssa! "# $ &%'(*)+(%%,( Varaus/vapautus ei niin tehokasta kuin sivuilla Muistin tiivistämistarvetta ).-/%10#% 2 "3 ohjelmoija määrittelee segmentit ja käyttöoikeudet käyttötapa kopioitu segmenttitaulun alkioon KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-16 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-8
!"# $&%' (' ) *+, KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-17 &%' -# %#!.&/0/ '( ( 0#12,3 0# -/ 2 /3 ( 104/ -"%$65, 7/ () muistia helpompi hallita samankokoisina sivuina ei ulkoista pirstoutumista ei tiivistämistarvetta 2 ''*) '' oma segmenttitaulu ja yksi sivutaulu per segmentti 8 ++96:<;( -"%(%'% KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-18 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-9
&%' -# %#! Tan01 4-394 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-19 &%' -# %#! ( 0#%%%,! ' segmenttinumero segmentin sivutaulun fyysinen osoite löytyy segmenttitaulun tästä alkiosta sivunumero sivunumeroa vastaava sivutilan numero löytyy sivutaulun tästä alkiosta siirtymä sivulla viitattu sana näin kaukana sivun alusta /3 (%'% -"%(%'% -/.-"%( KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-20 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-10
&%' -# %#!! "$# %'& " ( *),+"+ -. #- 0/ 21. # 3 4 ( " 576 8 +4 9 :/ ; / ;< 2 ; 3- = oikeudet annettu koko segmenttiin (sen kaikkiin sivuihin) KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-21 > > + ''$ 4?@ KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-22 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-11
, ",,' /, '65 uuden segmentin (dynaaminen) linkittäminen tarkoittaa vain uuden alkion lisäämistä segmenttitauluun, -/!-/.-"%, '' 0/ '' ( -", /*%%(*) $ /*,% 5 / (3 0#* / (3 % -/ /0/ /6/ 65( kauniisti loogisten kokonaisuuksien mukaan useita erilaisia suojaustasoja KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-23 ) -+ - KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-24 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-12
) -+ - 2,% *) $10#* /0/ /2 ")*,% $ jokaisen prosessin sivu / segmenttitaulussa viitteet yhteisen koodin ja datan sisältäviin sivutiloihin / segmentteihin mutta kullakin prosessilla omat tilat yksityiselle datalle 1'( -/ -/)0/ " / ei saa muuttua -"%% ) () 5( / (30/,10#( '' 03 sivu kokoyksikkö, ei looginen yksikkö käyttöoikeudet vaikea rajata funktiotasolla KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-25 ) -+ - *+ -- Tan01 4-314 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-26 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-13
!"# ) -+ - (% () 5( / (36/ 10# '' ohjelman jakaminen eripituisiin segmentteihin loogisempaa kuin jakaminen tasapitkiksi sivuiksi esim. yhteiskäyttöön tarkoitettu data omaksi segmentiksi, yksityinen data omaksi segmentiksi 5 0# ' 0#* +* /6/ /104/'' haluamastaan segmenttijaosta haluamistaan käyttöoikeuksista 1(/0/ /104/*,%(+/'' /*) %( '',5 0# ',' ( segmentti ja siirtymä sen sisällä KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-27 - #+$ ## $' #' )$ 4? 1 6< 8 +43 88 8 + 88* < 8 + 88* <! % 8 + 88; 8 < 8 < KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-28 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-14
'!' # )' + -#%$## /310#%, paljonko tilaa varataan per prosessi? %)' milloin sivu / segmentti tuodaan muistiin? 0#%)' minne prosessin sivu / segmentti sijoitetaan? ()'63 mikä varaus vapautetaan? globaali/lokaali: joku sivu / joku prosessin oma sivu?. /( '' / /'' /*%+'' 120; KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-29 ) - %$ -# 9; &'' 56)'' /.0,!' &,7) ))7 &' - + 56FE.4,),,=1 &,7) ))7 &' + (*)+ &'!,'-*' $ &' -,, &'3.4, &'" #$% 9; $!$21 @!''=!, 6,1,7 < &' - >.0 -*!, 56, )) &'6', - $$- 8!9; &':;,- ), 977! ks. Taulukko 8.1 AB+/.07-.4,C )$$!$D.0$E.0,),, 1*3&, +!7- &,))!! + (*)+!!,'-*',- )'/.0,21 ''! " #$%?- )7!,=1!''!, ' * &!$7!,@& 6,1,7 < =',7- ' < =-!, 56, ))7 6', - $$- 8!97:;,7- ), KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-30 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-15
!"$# &%$# '&'&(*)*)+(-,.#0/1&234)$# # '&&5)*6(+4 '&&7.89/1:$ ; (*<& +($#*= :4<$4;*#; ># '&'<$*7#?/1#(*@/A)+# )*'&) )* $= B +:($*C 5 $74# )*'&) )* $= &%+(*+($*C 5! +; & +4*# &D$!)+7# #E5)*(+4& 4&F/A6(+: 5(+# 2G/1$7# H 5)+7#(*@/A)+4)+( <= &%+(**;$($; 5)*)* $;$(I/1#$(+##J,.;*# &%$#! $#*= :EDK81L$.81:; >MON*PRQ&%$:?8?L$(+:*= :;! >M N*PRQ& >($($: 'L $:*= KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-31 KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-16