欢迎来到天天文库
浏览记录
ID:15501159
大小:3.24 MB
页数:78页
时间:2018-08-03
《linux memory management》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MemoryManagementofLinuxkernelBarrySong宋宝华MMBackground宋宝华AddressbindingRegistersAddresstranslationHardwareMainDisk(CPU)(MMU-MemoryCacheMemoryStorageManagementUnit)VirtualAddressRealAddressMemoryBusI/Obus!Anaddressusedinaninstructioncanpo
2、intanywhereinthevirtualaddressspaceoftheprocess,itstillmustbeboundtoaphysicalmemoryaddress!Programsaremadeofmodules.Compilersorassemblersthataretranslatingamodule,don’tknowwherethemodulewillbeloadedinthephysicalmemory!PCcontainsavirtualaddressthatmustbetranslatedtoaphysicaladdressbeforeaninst
3、ructionisfetched.Addressesofoperandsarealsovirtualaddressesthatneedtobetranslatedbeforetheoperandisbroughtfromthemainmemory(orcache)ConvertingthelinearaddressLinearaddressLinearaddressconversioninthearchitecture-independentmemorymodelPagingHardwareWithTLBPerformanceCharacteristicsofTLB!Typica
4、lTLB"–Size:8-4,096entries"–Hittime:0.5-1clockcycle"–Misspenalty:10-100clockcycles"–Missrate:0.01-10%"!IfaTLBhittakes1clockcycle,amisstakes30clockcycles,andthemissrateis1%,theeffectivememorycyclerateforpagemapping"–1*0.99+(1+30)X0.01=1.30"–1.30clockcyclespermemoryaccess""MMU:accesspermissionsf
5、orprivileged(kernel)andusermodes!itcanhavedifferentaccesspermissionsforprivileged(kernel)andusermodes.Theaccesspermissionbitscontrolaccesstothecorrespondingmemoryregion.Ifanaccessismadetoanareaofmemorywithouttherequiredpermissions,thenapermissionfaultisraised."Pagefault!Apagefaultisatraptothe
6、softwareraisedbythehardwarewhenaprogramaccessesapagethatisnotloadedinphysicalmemory.-Minor(soft):thepageisloadedinmemoryatthetimethefaultisgenerated,butisnotmarkedinMMUasbeingloadedinmemory.ThepagefaulthandlermerelyneedstomaketheentryforthatpageinMMUpointtothepageinmemoryandindicatethatthepag
7、eisloadedinmemory;itdoesnotneedtoreadthepageintomemory.-Major(hard):thepageisnotloadedinmemoryatthetimeofthefault.ThepagefaulthandlerintheOSneedstofindafreelocation:eitherapageinmemory,oranothernon-freepageinmemory.Oncethespacehasbeenmadeavai
此文档下载收益归作者所有