Jedinica za upravljanje memorijom

S Vikipedije, slobodne enciklopedije
Ova 68451 MMU može da se koristi sa Motorola 68010 procesorom

Jedinica za upravljanje memorijom (MMU), ponekad se naziva Jedinica za upravljanje stranicama memorije (PMMU), je jedinica računarskog hardvera kroz koju prolaze sve memorijske reference, pre svega ona obavlja prevod virtualne memorijske adrese u fizičke adrese. Obično je implementirana kao deo procesora (CPU), ali takođe može biti u formi posebnog integrisanog kola.

MMU efikasno obavlja upravljanje virtuelnom memorijom, istovremeno rukuje zaštitom memorije, kontrolom keša , arbitražom magistrale i, u jednostavnijim računarskim arhitekturama (posebno 8-bitni sistemi), engl. bank switching.

Pregled[uredi | uredi izvor]

Šematski prikaѕ MMU operacije

Savremene MMUs obično dele virtuelni adresni prostor (opseg adresa koje koristi procesor) u stranice, svaka je veličine nekog stepena dvojke, obično nekoliko kilobajta, ali mogu biti i mnogo veće. Donji bitovi adrese (ofset unutar stranice) ostaju nepromenjeni. Gornji bitovi adrese su brojevi virtualne stranice.[1]

Unos tabele stranica[uredi | uredi izvor]

Većina MMU koristi tabelu unosa stavki koja se zove tabela stranica, sadrži jedan unos tabele stranica (PTE) po stranici, da mapira brojeve virtuelnih stranica na fizičke brojeve stranica u glavnoj memoriji. Asocijativni keš PTE-a se zove Bafer asocijativnog prevođenja (TLB) i koristi se da bi se izbegla neophodnost pristupa glavnoj memoriji svaki put kada je virtuelna adresa mapirana. Druge MMU mogu imati privatne nizove memorije[2] ili registre koji poseduju skup stavki tabele stranica. Broj fizičke stranice se kombinuje sa ofsetom strane dajući potpunu fizičku adresu.[1]

PTE može da sadrži informacije o tome da li je stranica napisana na ( "modifikovanom bitu"), kada je poslednji put korišćena ("bit pristupa", za poslednji skoro korišćen (LRU) algoritam za preslikavanje stranica), kakve tipove procesa (korisnički režim ili supervizor režim) može čitati i upisivati, i da li to treba da bude keširano.

Ponekad, PTE zabranjuje pristup virtuelnoj stranici, možda zato što toj virtuelnoj stranici nije dodeljen fizički RAM. U ovom slučaju, MMU signalizira grešku stranice procesoru. Operativni sistem (OS) onda upravlja situacijom, možda pokušavajući da pronađe rezervni okvir RAM-a i da postavi novu PTE da mapira traženu virtuelnu adresu. Ako nema slobodnog RAM-a, može biti potrebno da se izabere neka postojeća stranica (poznato kao "žrtve"), koristeći neki algoritam zamene, i sačuvati ga na disk (proces se zove "straničenje"). Sa nekim jedinicama za upravljanje memorijom, ​​može biti manjak unosa tabela stranica, u tom slučaju će operativni sistem morati da oslobodi jednu za novo mapiranje.[1]

Prednosti[uredi | uredi izvor]

VLSI VI475 MMU "Apple HMMU"
odMacintosh II
korišćen sa Motorola 68020 procesorom

U nekim slučajevima greška strane može da ukazuje na softversku grešku. Ključna korist od MMU je zaštita memorije: Operativni sistem može da ga koristi za zaštitu od programa lutalica onemogućavanjem pristupa memoriji, da određeni program ne treba da ima pristup. Tipično, operativni sistem dodeljuje svaki program svom sopstvenom virtuelnom adresnom prostoru.[1]

MMU takođe ublažava problem fragmentacije memorije. Nakon što su blokovi memorije izdvojeni je i oslobođeni, slobodna memorija može postati fragmentirana (isprekidana), tako da najveći neprekidni blok slobodne memorije može biti mnogo manji od ukupnog iznosa. Sa virtuelnim memorijom, neprekidni raspon virtuelnih adresa može da se mapira na nekoliko ne-susednih blokova fizičke memorije. [1]

U nekim početnim dizajnima mikroprocesora, upravljanje memorijom je izvedeno preko posebnih integrisanih kola, kao što je VLSI VI475 (1986), Motorola 68851 (1984) se koristi sa Motorola 68020 procesorom u Mekintošu II, ili za Z8015 (1985)[3] koji se koristi sa Zilog Z8000 familijom procesora. Kasnije su mikroprocesori (kao što su Motorola 68030 i Zilog Z280) stavili MMU zajedno sa procesorom na istom integrisanom kolu, kao što je uradio Intel 80286, a kasnije x86 mikroprocesori.

Iako se ovaj tekst koncentriše na savremene MMU, ​​obično baziranim na stranicama, raniji sistemi su koristili sličan koncept za adresiranje ograničene baze(osnove), koji se dalje razvija u segmentaciju. Oni su povremeno prisutni na savremenim arhitekturama.X86 arhihektura obezbeđuje segmentaciju, pre nego straničenje, u 80286, a u 80386. i u kasnijim procesorima (mada upotreba segmentacije nije dostupna u 64-bitnim operacijama) obezbeđuje i straničenje i segmentaciju.

Primeri[uredi | uredi izvor]

Mnogi savremeni sistemi dele memoriju na stranice koje su veličine 4-64 KB, često sa mogućnošću da koriste ogromne stranice veličine od 2 MB do 512 MB. Prevođenje stranica je keširno u TLB-u. Neki sistemi, uglavnom stariji, koji su RISC dizajna, imaju grešku u OS-u kada prevođenje stranice nije nađeno u TLB-u. Većina sistema koristi hardverski bazirano stablo. Većina sistema omogućavaju MMU da bude onemogućena, ali neki onemoguće MMU kada u kodu OS-a dođe do greške.

VAX[uredi | uredi izvor]

Veličina VAX stranica je 512 bajtova, što je veoma malo. Operativni sistem može tretirati više stranica kao da su jedna veća stranica. Na primer, Linuks na VAX-u grupiše osam stranica zajedno. Dakle, sistem se posmatra kao da ima stranice od 4 KB. VAX deli memoriju u četiri regiona fiksne namene, svaki veličine1 GB. To su:

  • P0 prostor: se koristi za opšte namene po procesu memorije, kao što je hip (engl. heap),
  • P1 prostor: (ili kontrolni prostor) koji je takođe po procesu i obično se koristi za kontrolu, izvršavanje, kernel, korišćenje steka i drugih kontolnih struktura po-procesu kojima upravlja operativni sistem,
  • S0 prostor: (ili sistemski prostor) koji je globalni za sve procese i memoriše kod operativnog sistema i podatke, bilo straničenja ili ne, uključujući tabele stranica, i
  • S1 prostor: koji je neiskorišćen i "Rezervisan za digitalno".

Tabele stranica su veliki linearni nizovi. Normalno, ovo će biti veoma rasipnički kada se adrese koriste na oba kraja mogućeg opsega, ali tabele stranica za aplikacije se same čuvaju u kernelovoj memoriji stranice. Dakle, efikasno postoje dva nivoa stabla, omogućavajući aplikacijama da imaju redak raspored memorije bez velikog gubitka prostora na neiskorišćenim ulazima tabele stranica. VAX MMU je značajna za nedostatak pristupljenog bita. Operativni sistemi koji implementiraju straničenje moraju da pronađu neki način da emuliraju pristupni bit, ako žele da rade efikasno. Tipično, operativni sistem će periodično demapirati stranice tako da strana-nije-prisutna greške mogu da se koriste da dopuste OS-u da setuje pristupni bit.

ARM[uredi | uredi izvor]

Procesori bazirani naARM arhitekturi implementiraju jedinicu za upravljanje memorijom(MMU) koja je definisana u ARM arhihekturi sistema virtuelne memorije. Trenutna arhihektura definiše PTE za opis strana od 4 KB i 64 KB, sekcije od 1 MB u super-sekcije od 16 MB; nasleđene verzije takođe definišu male strane od 1 KB. ARM koristi dva-nivoa tabele stranica ako koristi strane od 4 KB i 64 KB, ili samo jedan-nivo tabele stranica za sekcije od 1 MB i 16 MB.

TLB ažuriranja automatski se obavljaju hardverski preko tabele stranica. PTE uključuje dozvolu, baziranu na privilegijama, za pristup čitanju/upisivanju, mogućnost keširanja informacija, NX bit, i nesigurni (engl. non-secure) bit. [4]

IBM System/370 i naslednici[uredi | uredi izvor]

IBM System/370 je imao MMU još odd početka 70-ih. Prvobitno je bio poznat kao DAT kutija. On ima neobičnu funkciju čuvanja primljenih i oštećenih bitova van tabele stranica. Oni se odnose na fizičku memoriju, pre nego na virtuelnu, i pristupa im se preko instrukcija specijalne svrhe ili namene. Ovo smanjuje dodatne troškove za OS, koji bi inače trebalo da propagiraju primljene i prljave bitove iz tabela stranica sa više fizički orijentisanih struktura podataka. Ovo čini nivo virtuelizacije OS-a lakšim. Ove karakteristike su nasleđene uspehom mejnfrejm arhihekture, do trenutne z/Arhihekture.

DEC Alpha[uredi | uredi izvor]

DEC Alpha procesor deli memoriju na 8 KB stranice. Posle promašaja TLB -a, mašina niskog nivoa Firmver (ovde se zove PALcode) uvodi tri nivoa struktuisanog stabla tabele stranica. Adrese su podeljene na sledeći način: 21 neiskorišći bit, 10 bitova da indeksira nivo korena stabla, 10 bitova da indeksira srednji nivo stabla, 10 bitova da indeksira nivo lista drveta, kao i 13 bita koji prolaze kroz fizičku adresu bez modifikacija. Podržani su svi bitovi dozvole za čitanje/upisivanje /izvršavanje.

MIPS[uredi | uredi izvor]

MIPS arhihektura podržava jedan od 64 unosa u TLB. Broj TLB unosa je konfigurisan na CPU konfiguraciju pre spajanja. TLB unosi su dvostruki. Svaki TLB unos mapira virtuelni broj strane (VPN2) bilo kojem od dva broja okvira strane (PFN0 ili PFN1), u zavisnosti od najmanje težine bita virtuelne adrese koja nije deo maske(engl. mask) stranice. Ovaj bit i bitovi mask strane nisu skladišteni u VPN2. Svaki TLB unos ima svoju veličinu strane, koja može biti bilo koja vrednost od 1 KB do 256 MB u multiplikatoru četvorke. Svaki PFN u TLB unosu ima keširane atribute, loš i validan status bita. VPN2 ima globalni status bita i OS dodeljuje ID koji učestvuje u virtuelnoj adresi poklapanja TLB unosa, ako je globalni status bita postavljen na nulu. PFN skladišti fizičku adresu bez bitova mask strane.

Dopunjen TLB izuzetak se generiše kada nema unosa u TLB koji se podudaraju sa mapiranom virtuelnom adresom. TLB nevažeći izuzetak se generiše kada postoji podudaranje ali je unos označen kao nevažeći. TLB modifikovani izuzetak se generiše kada ima podudaranja ali dirty status nije postavljen. Ako se TLB izuzetak javi prilikom obrade TLB izuzetka, dvostruka greška TLB izuzetka, on se šalje svom rukovaocu izuzecima.

MIPS32 i MIPS32r2 podržavaju 32 bita virtuelnog adresnog prostora i do 36 bita fizičkog adresnog prostora. MIPS64 podržava do 64 bita virtuelnog adresnog prostora i do 59 bita fizičkog adresnog prostora.

Sun 1[uredi | uredi izvor]

Originalni Sun 1 bio je SBC izgrađen oko Motorola 68000 mikroprocesora i uveden je 1982. On uključuje originalnu Sun 1 jedinicu za upravljanje memorijom koja obezbeđuje prevođenje adresa, memorijsku zaštitu, deljenje memorije i memorijsku alokaciju za višestruke procese koji su pokrenuti na CPU-u. Svi pristupi CPU-a privatnoj RAM ploči, spoljnoj memorijskoj multi-magistrali, U/I ploči i U/I multi-magistrali koja prolazi kroz MMU, gde su prevedeni i zaštićeni u uniform fashion. MMU je bila implementirana u hardveru na CPU ploči.

MMU se sastojala od kontekstnog registra, map segmenta i map stranica. Virtuelna adresa iz procesora je prevedena na srednju adresu od stane map segmenta, koje su u povratku prevedene na fizičke adrese pomoću map stranice. Veličina stranica je 2 KBi veličina segmenta je 32 KB što daje 16 stranica po segmentu. Do 16 konteksta mogu biti mapirani istovremeno. Maksimalni logički adresni prostor za kontekst je1024 pages ili 2 MB. maksimalna fizička adresa koja može biti mapirana istovremeno je 2 MB.

Konteksni registar je bio važan u multi taskingu OS-a zato što je on dozvoljavao procesoru da zameni procese bez potrebe da se informacije stanja prevođenja ponovo pune. 4-bitni konteksni registar je mogao da pod kontrolom supervizora zameni 16 sekcija map segmenta, što je omogućilo da se 16 konteksta istovremeno mapira. Svaki kontekst je imao svoj virtuelni adresni prostor. Deljenje virtuelnog adresnog prostora i među-konteksne komunikacije može biti obezbeđeno upisivanjem istih vrednosti u segment ili map stranice različitih konteksta. Upravljanje dodatnim kontekstima uz pomoć obrade map segmenta kao keš konteksta i zamenom isteklog konteksta na poslednjoj skoro korišćenoj magistrali.

Konteksni registar ne pravi nikakvu razliku između korisnika i kontrole stanja. Prekidi i izuzeci (greške, zamke) ne zamenjuju kontekste koji zahtevaju da svi validni prekidi vektora uvek budu mapirani na strani 0 nekog konteksta, kao i validni stek kontolor.[5]

PowerPC[uredi | uredi izvor]

PowerPC stranice G1, G2, G3, i G4 su 4 KB. Posle promašaja TLB -a, standardna PowerPC MMU započinje dva istovremena pretraživanja(lookup). Jedno pretraživanje nastoji da mečuje adresu sa jednim od četiri ili osam DBAT registra, ili četiri ili osam IBAT, po potrebi. BAT registri mogu da mapuju linearne komade memorije velike kao 256 MB, i obično se koriste od strane operativnog sistema za mapiranje velikih delova adresnog prostora za sopstvenu upotrebu operativnog sistema kernela. Ako BAT pretraga uspe, sledeća pretraga je prekinuta i ignorisana.

Druga pretraga, nije direktno podržana od strane svih procesora u ovoj familiji, je pomoću takozvane "invertovane tabele stranica", koja deluje kao heširana ekstenzija TLB-a van čipa. Prvo, prva četiri bita adrese se koriste da selektuju jedan od 16 segmentnih registara. Zatim, 24 bita iz segmentnog registra zameni ova četiri bita, stvarajući 52-bitne adrese. Upotreba segmentiranih registara dozvoljava višestrukim procesima da dele istu heš tabelu.

52-bitna adresa je heširana, zatim iskorišćena kao indeks u tabeli van čipa. Grupa od osam tabela stranice unosa se skenira za onu koja odgovara. Ako nijedna ne odgovara tokom prekomerne heš kolizije, procesor ponovo pokušava sa malo drugačijom heš funkcijom. Ako i ona ne uspe, procesor javlja grešku OS-u (sa onesposobljenom MMU), tako da se problem možda može rešiti. Operativni sistem mora da odbaci stavku iz heš tabele da napravi prostor za novi ulaz. Podrška za kontrolu bita koji se ne izvršava je u segmentom registru, dovodi do 256 MB razuđenosti.

Glavni problem ovog dizajna je siromašna lokalnost keša prouzrokovana heš funkcijom. Dizajn baziran na stablu izbegava to tako što smešta unos tabele stranica za susedne stranice u susedne lokacije. Operativni sistem koji se pokreće na PowerPC-u može da minimizuje veličinu heš tabele da bi umanjio ovaj problem.

Donekle je sporo da se ukloni tabela stranica unosa procesa. Operativni sistem može da izbegne ponovno korišćenje vrednosti segmenta da odloži suočavanje sa ovim, ili može da odluči da trpi gubitak memorije povezane sa po-procesom heš tabele. G1 čipovi ne traže stavke tabele stranica, ali generišu heš, sa očekivanjem da će OS tražiti heš tabelu preko softvera. OS može da piše po TLB-u. G2, G3, i rani G4 čipovi koriste hardver za pretragu heš tabela. Poslednji čipovi dozvoljavaju OS-u da izabere metod. Na čipu koji pruža ovu opcionalnost ili je ne podržava uopšte, OS može izabrati da koristi isključivo tabelu stranica koja je bazirana na stablu.

IA-32 / x86[uredi | uredi izvor]

X86 arhihektura je evoluirala tokom veoma dugog perioda zadržavajući potpunu softversku kompatibilnost, čak i za OS kod. Dakle, MMU je veoma kompleksna, sa mnogo različitih mogućih režima rada. Normalan rad tradicionalnog 80386. procesora i njegovih naslednika (IA-32) je opisan ovde.

Procesor najpre deli memoriju na stranice od 4 KB. Segmentni registri, od osnovne su važnosti za starije 8088 i 80286. dizajne MMU-a, ne koriste se u savremenim operativnim sistemima, sa jednim glavnim izuzetkom: pristup specifičnim nitima podataka za aplikacije ili specijalne procesorske podatke za OS kernel, koje se obavlja uz eksplicitno korišćenje FS i GS segmentnih registra. Sav pristup memoriji podrazumeva registar segmenta, koji je izabran prema kodu koji se izvršava. Segmentni registar se ponaša kao indeks u tabeli, koji omogućuje da se doda ofset u virtuelnu adresu. Osim kada se koristi FS or GS, operativni sistem osigurava da će biti ofset nula.

Pošto je ofset dodat, adresa se maskira da ne bude veća od 32 bita. Rezultat se može pretražiti preko strukture stabla tabele stranica, sa adresnim bitovima podeljenim na sledeći način: 10 bitova za granu stabla, 10 bitova za listove grane, i 12 najnižih bitova se direktno kopira u rezultat. Neki operativni sistemi, kao OpenBSD sa svojim W^X svojstvom, i Linuks sa Exec Shield ili PaX zakrpama, takođe mogu limitirati dužinu segmentnog koda, kao što je navedeno od strane CS registra, da onemoući izvršavanje koda u izmenljivim regijama adresnog prostora.

Manje revizije jedinica za upravljanje memorijom (MMU) uvedene sa Pentijumom, imaju dozvoljene veoma velike 4 MB strane, tako što preskaču donje nivoe stabla. Manje revizije MMU-a uvedene sa Pentijumom Pro uvode svojstvo proširenja fizičke adrese, omogućavajući 36-bitnu fizičku adresu preko nivoa stabla tabele stranica (sa 9+9+2 bitova za nivoe stabla, 12 najmanjih bitova je direktno kopirano u rezultat; velike stranice postaju veličine samo 2 MB). Pored toga, tabela atributa stranice dozvoljava specifikaciju mogućnosti keširanja traženjem nekoliko visokih bitova u malim na procesorskoj tabeli.

Podrška NX (non-execute) bita se prvobitno pružala samo na onovnom per-segmentu, što je vrlo nezgodno za korišćenje. Noviji x86 čipovi obezbeđuju NX bit po-stanici u PAE režimu. W^X, Exec Shield i PaX mehanizmi, iznad opisani, oponašaju NX podršku po stranici na mašinama sa x86 procesorima nedostaje NX bit postavljanjem dužine segmentnog koda, sa gubitkom performanse i smanjenjem raspoloživog adresnog prostora.

x86—64[uredi | uredi izvor]

x86-64 je 64-bitno proširenje x86-ce koje skoro u potpunosti uklanja segmentaciju u korist linearnog modela memorije, koje koriste skoro svi operativni sistemi za 386 ili za novije procesore. U dugom režimu, svi segmenti ofseta su ignorisani, osim FS i GS segmenti. Kada se koristi sa 4 KB stranicama, drvo tabele stranice ima četiri nivoa umesto tri. Virtuelne adrese su podeljene na sledeći način: 16 bita neiskorišćeno, devet bitova svaki četiri nivoa stabla (ukupno 36 bita), a 12 najnižih bitova se direktno kopiraju u rezultat. Sa stranicama od 2 MB, ima samo tri nivoa tabele straica, ukupno 27 bitova se koristi u straničenju i 21 bit za ofset. Neki noviji procesori takođe podržavaju stranice od 1 GB sa dva nivoa straničenja i 30 bitova za ofset.[6] CPUID može da se koristi da se utvrdi da li su stranice od 1 GB podržane. U sva tri slučaja, 16 najviših bitova treba da budu jednaki 48. bitu, ili drugim rečima, najniži 48 bitovi su znak proširenjana više bitove. Ovo se radi da omogući buduće proširenje adresabilnog opsega, bez ugrožavanja povratne kompatibilnosti. U svim nivoima tabele stranica, unos tabele stranice sadrži bit koji se ne izvršava.

Unisys MCP Systems (Burroughs B5000)[uredi | uredi izvor]

Tanenbaum i sar., nedavno su izjavili[7] da B5000 (sistemi potomci) nemaju MMU. Da biste razumeli funkcionalnost koju obezbeđuje MMU, poučno je proučiti kontra primer sistema koji ostvaruje ovu funkcionalnost drugim sredstvima.

B5000 je bio prvi komercijalni sistem koji je podržavao virtuelnu memoriju posle Atlasa. On pruža dve funkcije MMU-a na različite načine. U mapiranju virtuelnih memorijskih adresa, umesto potrebe za jedinicom koja upravlja memorijom, MCP su bazitani na deskriptoru. Svaki izdvojen memorijski blok je dat glavnom deskriptoru sa osobinama bloka (tj., veličina, adresa, i da li u memoriji). Kada je zahtev podnet za pristup bloku za čitanje ili pisanje, hardver proverava svoje prisustvo preko prisutnosti bita (pbita) u deskriptoru.

Pbit 1 ukazuje na prisustvo bloka. U ovom slučaju, bloku se može pristupiti preko fizičkoe adrese u deskriptoru. Ako je pbit 0, prekid se generiše za MCP (operativnog sistema) da bi blok predstavljen. Ako je adresno polje 0, to je prvi pristup bloku, i on je dodeljen (init pbit). Ako adresno polje nije nula, to je disk adrese bloka, koji je prethodno bio izbačen, pa je blok učitan sa diska i pbit je postavljen na jedan i fizički memorijska adresa je ažurirana da ukaže na blok u memoriji (još jedan pbit). Ovo čini deskriptora ekvivalentim na ulazu tabele stranica u nekom MMU sistemu. Performanse sistema se mogu pratiti preko broja pbitova. Init pbitovi pokazuju početne raspodele, ali visok nivo ostalih pbitova ukazuje da sistem može biti oštećen.

Sve alokacije memorije su zato potpuno automatske (jedna od odlika modernih sistema[8]) i ne postoji način da se izdvoje blokovi, osim preko ovog mehanizma. Ne postoje takvi pozivi kao Malloc ili dealloc, pošto se memorijski blokovi takođe automatski odbacuju. Šema je takođe lenja, jer blok neće biti alociran dok se zapravo ne referencira. Kada je memorija skoro puna, MCP ispituje radni set, isprobava kompaktnost (jer sistem je segmentiran, nije straničenje), dealocira read-onli segmente (kao što su kodni segmenati koji mogu biti vraćeni iz svoje originalne kopije) i, kao poslednje sredstvo, izbacuje loše segmente podataka iz diska.

Drugi način da B5000 omogući dunkciju MMU je u zaštiti. Pošto su svi pristupi preko deskriptora, hardver može da proveri da li su svi pristupi unutar granica i, u slučaju upisa, koji proces upisuje dozvolu. MCP sistem je sami po sebi bezbedan i stoga nema potrebe za MMU da obezbedi ovaj nivo zaštite memorije. Deskriptori se čitaju samo za korisničke procese i mogu biti ažurirani samo od strane sistema (hardvera ili MCP-a). (Reči čija oznaka je neparan broj su rid-onli (read-only); deskriptori imaju oznaku 5 i kod reči ima oznaku 3).

Blokovi mogu da se dele između procesa preko kopiranja deskriptora u procesu steka. Tako, neki procesi mogu imati dozvolu pisanja, dok drugi ne. Segmentni kod je rid-onli i na taj način uvučen i podeljen između procesa. Kopija deskriptora sadrži 20-bitno adresno polje dajući indeks glavnog deskriptora u glavnom nizu deskriptora. Ovo takođe implementira veoma efikasan i siguran IPC mehanizam. Blokovi mogu lako biti premešteni, jer samo glavni deskriptor treba ažurirati kada se status bloka promeni.

Jedini drugi aspekt jeste performansa - da li MMU-based ili non-MMU-based sistemi obezbeđuju bolje performanse? MCP sistemi mogu se sprovoditi na vrhu standardnog hardvera koji ima MMU (na primer, standardni PC). Čak i ako sistemska implementacija koristi MMU na neki način, to neće biti nimalo vidljivo na nivou MCP-a.

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ a b v g d Frank Uyeda (2009). „Lecture 7: Memory Management” (PDF). CSE 120: Principles of Operating Systems. UC San Diego. Pristupljeno 4. 12. 2013. 
  2. ^ Spectra 70 70-46 Processor Manual (PDF). RCA. 1968. str. 4. Pristupljeno 15. 8. 2013. 
  3. ^ ic-on-line.cn - Z8015 Z8000&right; PMMU Paged Memory Management Unit, Product Specification Arhivirano na sajtu Wayback Machine (28. jun 2020), April 1985
  4. ^ http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344i/DDI0344I_cortex_a8_r3p1_trm.pdf
  5. ^ Sun 68000 Board User's Manual, Sun Microsystems, Inc, February 1983, Revision B
  6. ^ „AMD64 Architecture Programmer's Manual Volume 2: System programming” (PDF). 2007. Pristupljeno 14. 4. 2009. 
  7. ^ „Možemo li napraviti pouzdan i siguran operativni sistem?”. Arhivirano iz originala 21. 2. 2009. g. Pristupljeno 29. 4. 2019. 
  8. ^ „Design Principles Behind Smalltalk (Storage Management)”. Arhivirano iz originala 27. 9. 2007. g. Pristupljeno 18. 12. 2013.