0% found this document useful (0 votes)
211 views8 pages

Virtual Memory - Wikipedia, The Free Encyclopedia

Virtual memory combines active RAM and inactive memory on secondary storage to form a large contiguous address space. It maps virtual addresses used by programs to physical addresses, allowing applications to access more memory than is physically present. When a program accesses memory not currently in RAM, it triggers a page fault that the operating system handles by moving pages between RAM and secondary storage.

Uploaded by

Ashish Walle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
211 views8 pages

Virtual Memory - Wikipedia, The Free Encyclopedia

Virtual memory combines active RAM and inactive memory on secondary storage to form a large contiguous address space. It maps virtual addresses used by programs to physical addresses, allowing applications to access more memory than is physically present. When a program accesses memory not currently in RAM, it triggers a page fault that the operating system handles by moving pages between RAM and secondary storage.

Uploaded by

Ashish Walle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Virtualmemory
FromWikipedia,thefreeencyclopedia

Incomputing,virtualmemoryisamemorymanagementtechnique
thatisimplementedusingbothhardwareandsoftware.Itmaps
memoryaddressesusedbyaprogram,calledvirtualaddresses,
intophysicaladdressesincomputermemory.Mainstorageasseen
byaprocessortaskappearsasacontiguousaddressspaceor
collectionofcontiguoussegments.Theoperatingsystemmanages
virtualaddressspacesandtheassignmentofrealmemorytovirtual
memory.AddresstranslationhardwareintheCPU,oftenreferred
toasamemorymanagementunitorMMU,automaticallytranslates
virtualaddressestophysicaladdresses.Softwarewithinthe
operatingsystemmayextendthesecapabilitiestoprovideavirtual
addressspacethatcanexceedthecapacityofrealmemoryandthus
referencemorememorythanisphysicallypresentinthecomputer.
Theprimarybenefitsofvirtualmemoryincludefreeingapplications
fromhavingtomanageasharedmemoryspace,increasedsecurity
duetomemoryisolation,andbeingabletoconceptuallyusemore
memorythanmightbephysicallyavailable,usingthetechniqueof
paging.

Contents
1Properties
2Usage
3History
4Pagedvirtualmemory
4.1Pagetables
4.2Pagingsupervisor
4.3Pinnedpages
4.3.1Virtualrealoperation
4.4Thrashing
5Segmentedvirtualmemory
6Addressspaceswapping
7Seealso
8Furtherreading
9Notes
10References
11Externallinks

VirtualmemorycombinesactiveRAMand
inactivememoryonDASD[NB1]toforma
largerangeofcontiguousaddresses.

Properties
http://en.wikipedia.org/wiki/Virtual_memory

1/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Virtualmemorymakesapplicationprogrammingeasierbyhidingfragmentationofphysicalmemorybydelegating
tothekerneltheburdenofmanagingthememoryhierarchy(eliminatingtheneedfortheprogramtohandleoverlays
explicitly)and,wheneachprocessisruninitsowndedicatedaddressspace,byobviatingtheneedtorelocate
programcodeortoaccessmemorywithrelativeaddressing.
Memoryvirtualizationcanbeconsideredageneralizationoftheconceptofvirtualmemory.

Usage
Virtualmemoryisanintegralpartofamoderncomputerarchitectureimplementationsrequirehardwaresupport,
typicallyintheformofamemorymanagementunitbuiltintotheCPU.Whilenotnecessary,emulatorsandvirtual
machinescanemployhardwaresupporttoincreaseperformanceoftheirvirtualmemoryimplementations.[1]
Consequently,olderoperatingsystems,suchasthoseforthemainframesofthe1960s,andthoseforpersonal
computersoftheearlytomid1980s(e.g.DOS),[2]generallyhavenovirtualmemoryfunctionality,thoughnotable
exceptionsformainframesofthe1960sinclude:
theAtlasSupervisorfortheAtlas
MCPfortheBurroughsB5000
MTS,TSS/360andCP/CMSfortheIBMSystem/360Model67
MulticsfortheGE645
theTimeSharingOperatingSystemfortheRCASpectra70/46
TheAppleLisaisanexampleofapersonalcomputerofthe1980sthatfeaturesvirtualmemory.
Mostmodernoperatingsystemsthatsupportvirtualmemoryalsoruneachprocessinitsowndedicatedaddress
space.Eachprogramthusappearstohavesoleaccesstothevirtualmemory.However,someolderoperating
systems(suchasOS/VS1andOS/VS2SVS)andevenmodernones(suchasIBMi)aresingleaddressspace
operatingsystemsthatrunallprocessesinasingleaddressspacecomposedofvirtualizedmemory.
Embeddedsystemsandotherspecialpurposecomputersystemsthatrequireveryfastand/orveryconsistent
responsetimesmayoptnottousevirtualmemoryduetodecreaseddeterminismvirtualmemorysystemstrigger
unpredictabletrapsthatmayproduceunwanted"jitter"duringI/Ooperations.Thisisbecauseembeddedhardware
costsareoftenkeptlowbyimplementingallsuchoperationswithsoftware(atechniquecalledbitbanging)rather
thanwithdedicatedhardware.

History
Inthe1940sand1950s,alllargerprogramshadtocontainlogicformanagingprimaryandsecondarystorage,such
asoverlaying.Virtualmemorywasthereforeintroducednotonlytoextendprimarymemory,buttomakesuchan
extensionaseasyaspossibleforprogrammerstouse.[3]Toallowformultiprogrammingandmultitasking,many
earlysystemsdividedmemorybetweenmultipleprogramswithoutvirtualmemory,suchasearlymodelsofthe
PDP10viaregisters.
TheconceptofvirtualmemorywasfirstdevelopedbyGermanphysicistFritzRudolfGntschattheTechnische
UniversittBerlinin1956inhisdoctoralthesis,LogicalDesignofaDigitalComputerwithMultiple
AsynchronousRotatingDrumsandAutomaticHighSpeedMemoryOperationitdescribedamachinewith6
100wordblocksofprimarycorememoryandanaddressspaceof1,000100wordblocks,withhardware
http://en.wikipedia.org/wiki/Virtual_memory

2/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

automaticallymovingblocksbetweenprimarymemoryandsecondarydrummemory.[4][5]Pagingwasfirst
implementedattheUniversityofManchesterasawaytoextendtheAtlasComputer'sworkingmemoryby
combiningits16thousandwordsofprimarycorememorywithanadditional96thousandwordsofsecondary
drummemory.ThefirstAtlaswascommissionedin1962butworkingprototypesofpaginghadbeendevelopedby
1959.[3](p2)[6][7]In1961,theBurroughsCorporationindependentlyreleasedthefirstcommercialcomputerwith
virtualmemory,theB5000,withsegmentationratherthanpaging.[8][9]
Beforevirtualmemorycouldbeimplementedinmainstreamoperatingsystems,manyproblemshadtobe
addressed.Dynamicaddresstranslationrequiredexpensiveanddifficulttobuildspecializedhardwareinitial
implementationssloweddownaccesstomemoryslightly.[3]Therewereworriesthatnewsystemwidealgorithms
utilizingsecondarystoragewouldbelesseffectivethanpreviouslyusedapplicationspecificalgorithms.By1969,
thedebateovervirtualmemoryforcommercialcomputerswasover[3]anIBMresearchteamledbyDavidSayre
showedthattheirvirtualmemoryoverlaysystemconsistentlyworkedbetterthanthebestmanuallycontrolled
systems.[10]ThefirstminicomputertointroducevirtualmemorywastheNorwegianNORD1duringthe1970s,
otherminicomputersimplementedvirtualmemory,notablyVAXmodelsrunningVMS.
Virtualmemorywasintroducedtothex86architecturewiththeprotectedmodeoftheIntel80286processor,but
itssegmentswappingtechniquescaledpoorlytolargersegmentsizes.TheIntel80386introducedpagingsupport
underneaththeexistingsegmentationlayer,enablingthepagefaultexceptiontochainwithotherexceptionswithout
doublefault.However,loadingsegmentdescriptorswasanexpensiveoperation,causingoperatingsystem
designerstorelystrictlyonpagingratherthanacombinationofpagingandsegmentation.

Pagedvirtualmemory
Nearlyallimplementationsofvirtualmemorydivideavirtualaddressspaceintopages,blocksofcontiguousvirtual
memoryaddresses.Pagesoncontemporary[NB2]systemsareusuallyatleast4kilobytesinsizesystemswithlarge
virtualaddressrangesoramountsofrealmemorygenerallyuselargerpagesizes.

Pagetables
Pagetablesareusedtotranslatethevirtualaddressesseenbytheapplicationintophysicaladdressesusedbythe
hardwaretoprocessinstructionssuchhardwarethathandlesthisspecifictranslationisoftenknownasthememory
managementunit.Eachentryinthepagetableholdsaflagindicatingwhetherthecorrespondingpageisinreal
memoryornot.Ifitisinrealmemory,thepagetableentrywillcontaintherealmemoryaddressatwhichthepage
isstored.Whenareferenceismadetoapagebythehardware,ifthepagetableentryforthepageindicatesthatit
isnotcurrentlyinrealmemory,thehardwareraisesapagefaultexception,invokingthepagingsupervisor
componentoftheoperatingsystem.
Systemscanhaveonepagetableforthewholesystem,separatepagetablesforeachapplicationandsegment,a
treeofpagetablesforlargesegmentsorsomecombinationofthese.Ifthereisonlyonepagetable,different
applicationsrunningatthesametimeusedifferentpartsofasinglerangeofvirtualaddresses.Iftherearemultiple
pageorsegmenttables,therearemultiplevirtualaddressspacesandconcurrentapplicationswithseparatepage
tablesredirecttodifferentrealaddresses.

Pagingsupervisor
http://en.wikipedia.org/wiki/Virtual_memory

3/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Thispartoftheoperatingsystemcreatesandmanagespagetables.Ifthehardwareraisesapagefaultexception,
thepagingsupervisoraccessessecondarystorage,returnsthepagethathasthevirtualaddressthatresultedinthe
pagefault,updatesthepagetablestoreflectthephysicallocationofthevirtualaddressandtellsthetranslation
mechanismtorestarttherequest.
Whenallphysicalmemoryisalreadyinuse,thepagingsupervisormustfreeapageinprimarystoragetoholdthe
swappedinpage.Thesupervisorusesoneofavarietyofpagereplacementalgorithmssuchasleastrecentlyused
todeterminewhichpagetofree.

Pinnedpages
Operatingsystemshavememoryareasthatarepinned(neverswappedtosecondarystorage).Othertermsused
arelocked,fixed,orwiredpages.Forexample,interruptmechanismsrelyonanarrayofpointerstotheirhandlers,
suchasI/Ocompletionandpagefault.Ifthepagescontainingthesepointersorthecodethattheyinvokewere
pageable,interrupthandlingwouldbecomefarmorecomplexandtimeconsuming,particularlyinthecaseofpage
faultinterruptions.Hence,somepartofthepagetablestructuresisnotpageable.
Somepagesmaybepinnedforshortperiodsoftime,othersmaybepinnedforlongperiodsoftime,andstillothers
mayneedtobepermanentlypinned.Forexample:
Thepagingsupervisorcodeanddriversforsecondarystoragedevicesonwhichpagesresidemustbe
permanentlypinned,asotherwisepagingwouldn'tevenworkbecausethenecessarycodewouldn'tbe
available.
Timingdependentcomponentsmaybepinnedtoavoidvariablepagingdelays.
DatabuffersthatareaccesseddirectlybyperipheraldevicesthatusedirectmemoryaccessorI/Ochannels
mustresideinpinnedpageswhiletheI/Ooperationisinprogressbecausesuchdevicesandthebusesto
whichtheyareattachedexpecttofinddatabufferslocatedatphysicalmemoryaddressesregardlessof
whetherthebushasamemorymanagementunitforI/O,transferscannotbestoppedifapagefaultoccurs
andthenrestartedwhenthepagefaulthasbeenprocessed.
InIBM'soperatingsystemsforSystem/370andsuccessorsystems,thetermis"fixed",andsuchpagesmaybe
longtermfixed,ormaybeshorttermfixed,ormaybeunfixed(i.e.,pageable).Systemcontrolstructuresareoften
longtermfixed(measuredinwallclocktime,i.e.,timemeasuredinseconds,ratherthantimemeasuredinfractions
ofonesecond)whereasI/Obuffersareusuallyshorttermfixed(usuallymeasuredinsignificantlylessthanwall
clocktime,possiblyfortensofmilliseconds).Indeed,theOShasaspecialfacilityfor"fastfixing"theseshortterm
fixeddatabuffers(fixingwhichisperformedwithoutresortingtoatimeconsumingSupervisorCallinstruction).
Multicsusedtheterm"wired".OpenVMSandWindowsrefertopagestemporarilymadenonpageable(asforI/O
buffers)as"locked",andsimply"nonpageable"forthosethatareneverpageable.
Virtualrealoperation
InOS/VS1andsimilarOSes,somepartsofsystemsmemoryaremanagedin"virtualreal"mode,called"V=R".In
thismodeeveryvirtualaddresscorrespondstothesamerealaddress.Thismodeisusedforinterruptmechanisms,
forthepagingsupervisorandpagetablesinoldersystems,andforapplicationprogramsusingnonstandardI/O
management.Forexample,IBM'sz/OShas3modes(virtualvirtual,virtualrealandvirtualfixed).[11]

http://en.wikipedia.org/wiki/Virtual_memory

4/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Thrashing
Whenpagingandpagestealingareused,aproblemcalled"thrashing"canoccur,inwhichthecomputerspendsan
unsuitablylargeamountoftimetransferringpagestoandfromabackingstore,henceslowingdownusefulwork.A
task'sworkingsetistheminimumsetofpagesthatshouldbeinmemoryinorderforittomakeusefulprogress.
Thrashingoccurswhenthereisinsufficientmemoryavailabletostoretheworkingsetsofallactiveprograms.
Addingrealmemoryisthesimplestresponse,butimprovingapplicationdesign,scheduling,andmemoryusagecan
help.Anothersolutionistoreducethenumberofactivetasksonthesystem.Thisreducesdemandonrealmemory
byswappingouttheentireworkingsetofoneormoreprocesses.

Segmentedvirtualmemory
Somesystems,suchastheBurroughsB5500,[12]usesegmentationinsteadofpaging,dividingvirtualaddress
spacesintovariablelengthsegments.Avirtualaddresshereconsistsofasegmentnumberandanoffsetwithinthe
segment.TheIntel80286supportsasimilarsegmentationschemeasanoption,butitisrarelyused.Segmentation
andpagingcanbeusedtogetherbydividingeachsegmentintopagessystemswiththismemorystructure,suchas
MulticsandIBMSystem/38,areusuallypagingpredominant,segmentationprovidingmemory
protection.[13][14][15]
IntheIntel80386andlaterIA32processors,thesegmentsresideina32bitlinear,pagedaddressspace.
Segmentscanbemovedinandoutofthatspacepagestherecan"page"inandoutofmainmemory,providingtwo
levelsofvirtualmemoryfewifanyoperatingsystemsdoso,insteadusingonlypaging.Earlynonhardware
assistedx86virtualizationsolutionscombinedpagingandsegmentationbecausex86pagingoffersonlytwo
protectiondomainswhereasaVMM/guestOS/guestapplicationsstackneedsthree.[16]:22Thedifference
betweenpagingandsegmentationsystemsisnotonlyaboutmemorydivisionsegmentationisvisibletouser
processes,aspartofmemorymodelsemantics.Hence,insteadofmemorythatlookslikeasinglelargespace,itis
structuredintomultiplespaces.
Thisdifferencehasimportantconsequencesasegmentisnotapagewithvariablelengthorasimplewayto
lengthentheaddressspace.Segmentationthatcanprovideasinglelevelmemorymodelinwhichthereisno
differentiationbetweenprocessmemoryandfilesystemconsistsofonlyalistofsegments(files)mappedintothe
process'spotentialaddressspace.[17]
ThisisnotthesameasthemechanismsprovidedbycallssuchasmmapandWin32'sMapViewOfFile,because
interfilepointersdonotworkwhenmappingfilesintosemiarbitraryplaces.InMultics,afile(orasegmentfroma
multisegmentfile)ismappedintoasegmentintheaddressspace,sofilesarealwaysmappedatasegment
boundary.Afile'slinkagesectioncancontainpointersforwhichanattempttoloadthepointerintoaregisteror
makeanindirectreferencethroughitcausesatrap.Theunresolvedpointercontainsanindicationofthenameofthe
segmenttowhichthepointerrefersandanoffsetwithinthesegmentthehandlerforthetrapmapsthesegmentinto
theaddressspace,putsthesegmentnumberintothepointer,changesthetagfieldinthepointersothatitnolonger
causesatrap,andreturnstothecodewherethetrapoccurred,reexecutingtheinstructionthatcausedthetrap.[18]
Thiseliminatestheneedforalinkercompletely[3]andworkswhendifferentprocessesmapthesamefileinto
differentplacesintheirprivateaddressspaces.[19]

Addressspaceswapping
http://en.wikipedia.org/wiki/Virtual_memory

5/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Someoperatingsystemsprovideforswappingentireaddressspaces,inadditiontowhateverfacilitiestheyhavefor
pagingandsegmentation.Whenthisoccurs,theOSwritesthosepagesandsegmentscurrentlyinrealmemoryto
swapfiles.Inaswapin,theOSreadsbackthedatafromtheswapfilesbutdoesnotautomaticallyreadback
pagesthathadbeenpagedoutatthetimeoftheswapoutoperation.
IBM'sMVS,fromOS/VS2Release2throughz/OS,providesformarkinganaddressspaceasunswappable
doingsodoesnotpinanypagesintheaddressspace.Thiscanbedoneforthedurationofajobbyenteringthe
nameofaneligible[20]mainprogramintheProgramPropertiesTablewithanunswappableflag.Inaddition,
privilegedcodecantemporarilymakeanaddressspaceunswappableWithaSYSEVENTSupervisorCall
instruction(SVC)certainchanges[21]intheaddressspacepropertiesrequirethattheOSswapitoutandthen
swapitbackin,usingSYSEVENTTRANSWAP,.[22]

Seealso
Computermemory
Memoryaddress
Addressspace
Virtualaddressspace
CPUdesign
Page(computing)
Pagetable
Paging
Workingset
Memorymanagementunit
Cachealgorithms
Pagereplacementalgorithm
Segmentation(memory)
System/38
Memorymanagement
Memoryallocation
Protectedmode,anx86modethatallowsforvirtualmemory.
CUDAPinnedmemory

Wikisourcehasoriginal
textrelatedtothisarticle:
ThePagingGame

Furtherreading
Hennessy,JohnL.andPatterson,DavidA.ComputerArchitecture,AQuantitativeApproach(ISBN
1558607242)

Notes
1. Earlysystemsuseddrumscontemporarysystemsusedisksorsolidstatememory
2. IBMDOS/VSandOS/VS1onlysupported2KiBpages.

References
http://en.wikipedia.org/wiki/Virtual_memory

6/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

ThisarticleisbasedonmaterialtakenfromtheFreeOnlineDictionaryofComputingpriorto1November
2008andincorporatedunderthe"relicensing"termsoftheGFDL,version1.3orlater.
1. "AMDVNestedPaging"(http://developer.amd.com/wordpress/media/2012/10/NPTWP1%201finalTM.pdf)
(PDF).AMD.Retrieved28April2015.
2. "WindowsVersionHistory"(http://support.microsoft.com/kb/32905).Microsoft.September23,2011.Retrieved
March9,2015.
3. Denning,Peter(1997)."BeforeMemoryWasVirtual"(http://cs.gmu.edu/cne/pjd/PUBS/bvm.pdf)(PDF).Inthe
Beginning:RecollectionsofSoftwarePioneers.
4. Jessen,Elke(2004)."OriginoftheVirtualMemoryConcept".IEEEAnnalsoftheHistoryofComputing26(4):
7172.
5. Jessen,E.(1996)."DieEntwicklungdesvirtuellenSpeichers".InformatikSpektrum(inGerman)(SpringerBerlin/
Heidelberg)19(4):216219.doi:10.1007/s002870050034(https://dx.doi.org/10.1007%2Fs002870050034).
ISSN01706012(https://www.worldcat.org/issn/01706012).
6. R.J.Creasy,"TheoriginoftheVM/370timesharingsystem
(http://pages.cs.wisc.edu/~stjones/proj/vm_reading/ibmrd2505M.pdf)",IBMJournalofResearch&Development,
Vol.25,No.5(September1981),p.486
7. Atlasdesignincludesvirtualmemory(http://www.computer50.org/kgill/atlas/atlas.html)
8. IanJoyneronBurroughsB5000(http://web.mac.com/joynerian/iWeb/Ian%20Joyner/Burroughs.html)
9. Cragon,HarveyG.(1996).MemorySystemsandPipelinedProcessors(http://books.google.com/?
id=q2w3JSFD7l4C).JonesandBartlettPublishers.p.113.ISBN0867204745.
10. Sayre,D.(1969)."Isautomatic"folding"ofprogramsefficientenoughtodisplacemanual?".Communicationsof
theACM12(12):656.doi:10.1145/363626.363629(https://dx.doi.org/10.1145%2F363626.363629).
11. "z/OSBasicSkillsInformationCenter:z/OSConcepts"
(http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/topic/com.ibm.zconcepts.doc/zconcepts.pdf)(PDF).
12. Burroughs(1964).BurroughsB5500InformationProcessingSystemReferenceManual
(http://bitsavers.org/pdf/burroughs/B5000_5500_5700/1021326_B5500_RefMan_May67.pdf)(PDF).Burroughs
Corporation.1021326.RetrievedNovember28,2013.
13. GE645SystemManual(http://www.textfiles.com/bitsavers/pdf/ge/GE645_SystemMan_Jan68.pdf)(PDF).
January1968.pp.2130.Retrieved28April2015.
14. Corbat,F.J.andVyssotsky,V.A.."IntroductionandOverviewoftheMulticsSystem"
(http://www.multicians.org/fjcc1.html).Retrieved20071113.
15. Glaser,EdwardL.Couleur,JohnF.andOliver,G.A."SystemDesignofaComputerforTimeSharing
Applications"(http://www.multicians.org/fjcc2.html).
16. J.E.Smith,R.Uhlig(August14,2005)VirtualMachines:Architectures,ImplementationsandApplications,
HOTCHIPS17,Tutorial1,part2(http://www.hotchips.org/wp
content/uploads/hc_archives/hc17/1_Sun/HC17.T1P2.pdf)
17. Bensoussan,AndrClingen,CharlesT.Daley,RobertC.(May1972)."TheMulticsVirtualMemory:Conceptsand
Design"(http://www.multicians.org/multicsvm.html).CommunicationsoftheACM15(5):308318.
doi:10.1145/355602.361306(https://dx.doi.org/10.1145%2F355602.361306).
18. "MulticsExecutionEnvironment"(http://www.multicians.org/execenv.html).
19. Organick,ElliottI.(1972).TheMulticsSystem:AnExaminationofItsStructure.MITPress.ISBN026215012
3.
20. ThemostimportantrequirementisthattheprogrambeAPFauthorized.
21. E.g.,requestinguseofpreferredmemory
22. http://pic.dhe.ibm.com/infocenter/zos/v2r1/index.jsp?topic=%2Fcom.ibm.zos.v2r1.ieaa400%2Fswap.htm

Externallinks
OperatingSystems:ThreeEasyPieces(http://pages.cs.wisc.edu/~remzi/OSTEP),byRemziH.Arpaci
DusseauandAndreaC.ArpaciDusseau.ArpaciDusseauBooks,2014.Relevantchapters:Address
http://en.wikipedia.org/wiki/Virtual_memory

7/8

6/7/2015

VirtualmemoryWikipedia,thefreeencyclopedia

Spaces(http://pages.cs.wisc.edu/~remzi/OSTEP/vmintro.pdf)AddressTranslation
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmmechanism.pdf)Segmentation
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmsegmentation.pdf)IntroductiontoPaging
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmpaging.pdf)TLBs
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmtlbs.pdf)AdvancedPageTables
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmsmalltables.pdf)Swapping:Mechanisms
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmbeyondphys.pdf)Swapping:Policies
(http://pages.cs.wisc.edu/~remzi/OSTEP/vmbeyondphyspolicy.pdf)
"TimeSharingSupervisorPrograms"(http://archive.michiganterminal
system.org/documentation/documents/timeSharingSupervisorPrograms1971.pdf)byMichaelT.Alexander
inAdvancedTopicsinSystemsProgramming,UniversityofMichiganEngineeringSummerConference
1970(revisedMay1971),comparestheschedulingandresourceallocationapproaches,includingvirtual
memoryandpaging,usedinfourmainframeoperatingsystems:CP67,TSS/360,MTS,andMultics.
LinuxMM:LinuxMemoryManagement(http://linuxmm.org/).
BirthofLinuxKernel(http://gnulinuxclub.org/index.php?
option=com_content&task=view&id=161&Itemid=32),mailinglistdiscussion.
TheVirtualMemoryManagerinWindowsNT,RandyKath,MicrosoftDeveloperNetworkTechnology
Group,12December1992(https://web.archive.org/web/20100622062522/http://msdn2.microsoft.com/en
us/library/ms810616.aspx)attheWaybackMachine(archivedJune22,2010)
Retrievedfrom"http://en.wikipedia.org/w/index.php?title=Virtual_memory&oldid=662886528"
Categories: Virtualmemory SchoolofComputerScience,UniversityofManchester
Thispagewaslastmodifiedon18May2015,at05:08.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.
Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisaregisteredtrademark
oftheWikimediaFoundation,Inc.,anonprofitorganization.

http://en.wikipedia.org/wiki/Virtual_memory

8/8

You might also like