Orrikatze: berrikuspenen arteko aldeak

Ezabatutako edukia Gehitutako edukia
t Robot: Cambios triviales
1. lerroa:
[[Irudi:swap eu.gif|thumb|rigth|400px|[[MMU]]ren funtzionamendua]]
'''Orrikatzea''' (paging ingelesez), [[konputagailu]]en [[sistema eragile]]tan, [[memoria (informatika) |memoria nagusia]] kudeatzeko software teknika da.
 
Erabiltzaileen prozesuak [[alegiazko memoria]]n tamaina finkoko '''orri''' izeneko blokeetan zatitzen dira eta memoria fisikoan '''orri markoak''' deitzen dira.
 
== Sarrera ==
Programek alegiazko helbideak erabiltzen dituzte, hauek helbide fisiko bihurtzeko memoriaren kudeaketarako unitateak ([[MMU]] txip multzoa) itzulpena egiten du.Alegiazko memoriadun sistema gehienek ([[UNIX System V]], [[Linux]] edo [[Windows NT]]--k) orrikatzea izeneko teknika erabiltzen dute.
[[Irudi:swap_eu_3.gif|thumb|center|550px| [[Orri taula]]ren sarrera]]
 
Bai alegiazko blokeak (orriak) zein bloke fisikoak (orri markoak) tamaina bera izaten dute (normalean 512 [[byte]] eta 8 [[KB]] bitartean). Alegiazko gunearen eta orri bakoitzaren tamainaren arabera, alegiazko helbide baten luzera aldatu egin daiteke (adibidez, 16 orri izanda eta orri bakoitzak 4KB badu, 16 [[bit]]eko alegiazko helbide baten 4 bit bloke zenbakia adierazteko izango dira, 2<sup>4</sup>=16 eta beste 12 desplazamenduarentzako 2<sup>12</sup>=4096). Halaber memoria eta diskoaren artean beti orri oso bat trukatuko da. Prozesu honetan alegiazko orri kopurua (n) beti izango da orri markoena (m) baino handiagoa eta, horrela, beti egongo dira memorian kargatu ez diren n-m orri. Orri bat memoria nagusian edo diskoan dagoen kontrolatzeko, orrien taulako osagai bakoitzak egoera hori adierazten duen bita izaten du (v bita).
 
== Prozedura ==
Edozein unean, memoria hainbat prozesuen orriekin dago hartuta, aldiz orri marko batzuk libre daude. Sistema eragileak markoen zerrenda bat gordetzen du eta prozesu bakoitzeko orri taula bat, non prozesu bakoitzak zein markotan dagoen agertzen da. Honela memoria fisikoan markoak ondoz ondoan daude esleituta eta beste prozesuen orriekin tartekatu.
Prozesu bateko orri taularen sarreran, orri bakoitzari dagokion markoaren kokapena dago. Helbide logikoak (alegiazko helbideak) orri zenbaki eta orri barruko desplazamendurekin osatzen dira. Orri zenbakia indize bezala erabiltzen da orri taulan, orri taularen sarreran markoaren hasierako helbide dago, zein helbide logiaren desplazamendu gehituz helbide fisikoa osatzen da. prozesu hau [[konputagailu]]aren [[hardware]]ak burutzen du
Prozedura hau jarraituz, prozesu bat memorian kargatzen denean, bere orri guztiak marko libreetan egokitzen dira, bere orri taula betetzen delarik.
=== Adibidea ===
Adibide baten bitartez erakutsi dugu. Taulan, une batean memoriak izan litekeen edukiera bat erakusten da, orriek 4 [[KByte]] dituztela. Nola ailegatu da egoera honetara? Bada A, B, D eta E programek 3,2,2,3 orri kopuruekin hurrenez hurren, honela bete baitute memoria.
:#A programa memorian kargatzen da (0,1,2 markoetan)
127. lerroa:
|}
 
== Helbide bihurketa orrikatze teknikan ==
Programa bat bere memoria atzitu nahi duenean ikusiko da atal honetan. A programak 20FE helbide atzitu behar du. Honela jokatzen da:
:*Sistema bitarrean jartzen da helbidea 0010 0000 1111 1110 (20FE)
Oharra: 4 Kbytetako orriak erabiltzen ari garenez, 12 bit (2<sup>12</sup>=4096) hartu behar dira desplazamendurako eta gainerakoak 4 (2<sup>4</sup>=16,) orriaren zenbakirako, guztira 16 orri direlarik.
:*[[MMU]]-k edo memoria kudeatzeko unitateak honela zatitzen du helbidea: '''0010''' eta '''000011111110''' = '''20FE'''
 
 
155. lerroa:
[[Irudi:swap eu 4.gif|thumb|center|650px|]]
 
== Orri hutsegite kasua ==
[[PUZ]]-ak alegiazko helbide baten orri markoa memoria nagusian ([[RAM]]) kargaturik ez badago eta erabili behar badu, orri hutsegitearen gertaera eragiten du. Ondoren kasu honen pausuak:
 
:#[[MMU]]-ak [[sistema eragile]]ari orri hutsegite izeneko seinalea bidaltzen dio
162. lerroa:
:#Orri hutsegitea eragin duen prozesua blokeatzen da, sarrera-irteera eragiketaren zain
:#Memoria laguntzailean datuaren kokapena ebazten da
:#Gutxi erabilitako orri marko baten edukia diskora eramaten du, [[Orriak ordezkatzeko algoritmoak |orriak ordezkatzeko algoritmo]] bat erabiliz. Orri marko hau diskoarekiko aldatuta badago, diskoan idazten da.
:#PUZak eskatutako orria kargatzen da askatu berri den markoan
:#Orri taulan eguneratu ondoren prozesua berriz egikaritzeko egoeran jartzen da
:#Etendurak PUZari ematen dio kontrola orri hutsegitea eragin duen helbidea berriz atzitzeko
 
Egun erabiltzen diren helbide eremuak direla eta orrien taulen tamainak arazoak sor ditzake (orri eta orri marko kopurua dela eta taula hauen osagai kopurua izugarria da), taula hauek memorian osorik kargatzeak erabilgarritasun galera baitakar. Guzti hau dela eta, gaur egungo sistema gehienek taulak hauek maila bat baino gehiagotan antolatzen dituzte (UNIX edota Windows NT-k maila bi duten taulak erabiltzen dituzte) eta une horretan memorian kargaturik dauden prozesuak egikaritzeko behar diren taulen osagaiak bakarrik egongo dira memorian, eta ez taula osoa.
 
Sistema eraginkorra izan dadin helbideen itzulpena azkarra izan behar du; hori posible egiteko, itzulpen tauletako gehien erabiltzen diren osagaiak gordetzeko abiadura handiko elkartze eta [[cache memoria]]k bateratzen dituzten teknikak erabiltzen dira.
 
== Ikus,gainera ==
*[[Alegiazko memoria]]
*[[Memoria kudeaketa taula]]
179. lerroa:
*[[Orriak ordezkatzeko algoritmoak]]
*[[Working set]]
== Kanpo estekak ==
*{{en}} [http://www.techarp.com/showarticle.aspx?artno=143 Alegiazko memoriaren abiadura optimizatzeko gida ]
*{{en}} [http://www.rojakpot.com/showarticle.aspx?artno=143&pgno=1 Swap Fitxategia vs. fitxategien orrikatzea]
*{{en}} [http://am.xs4all.nl/phpwiki/index.php/swap Linux-en swap partitizioa]
 
== Erreferentziak ==
*Deitel , H.M.: Sistemas Operativos. 2ª ed. Addison Wesley Iberoamericana. 1993.
*Tanenbaum, A.S.: Sistemas operativos. Diseño e implementación. Prentice Hall 1998.
 
[[Kategoria: Sistema eragileak ]]
 
[[Kategoria: Sistema eragileak ]]
 
[[ca:Paginació de memòria]]
196 ⟶ 195 lerroa:
[[en:Paging]]
[[et:Lehekülgede saalimine]]
[[fr:Mémoire virtuelle#M.C3.A9moire_virtuelle_pagin.C3.A9eMémoire virtuelle paginée]]
[[it:Paging]]
[[ja:ページング方式]]