Thông tin tài liệu:
Bài giảng Chương 6: Bộ nhớ thực giới thiệu tới các bạn những nội dung về các kiểu địa chỉ nhớ; chuyển đổi địa chỉ nhớ; Overlay và swapping; mô hình quản lý bộ nhớ đơn giản (Fixed partitioning, Dynamic partitioning). Với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hưu ích.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 6: Bộ nhớ thựcChương6:BộNhớThực Cáckiểuđịachỉnhớ Chuyểnđổiđịachỉnhớ Overlayvàswapping Môhìnhquảnlýbộnhớđơngiản Fixedpartitioning Dynamicpartitioning 1Quảnlýbộnhớ Phânphốivàsắpxếpcácprocesstrongbộnhớsaochohệ thốânghoạtđộnghiệuquả. Vd:“nạpcàngnhiềuprocessvàobộnhớcàngtốt(giatăngmứcđộđa chương)” Thôngthường,kernelchiếmmộtvùngcốđịnhcủabộnhớ,vùng cònlạiphânphốichocácprocess. Yêucầuđốivớiviệcquảnlýbộnhớ Cấpphátvùngnhớchocácprocess Táiđịnhvị(relocation):khiswapping,… Bảovệ:phảikiểmtratruyxuấtbộnhớcóhợplệkhông Chiasẻ:chophépcácprocesschiasẻvùngnhớchung Kếtgánđịachỉnhớluậnlýcủaprocessvàođịachỉthực 2Cáckiểuđịachỉnhớ(1/2) Địachỉvậtlýphysical(memory)addresslàđịachỉmàCPU, hayMMU(memorymanagementunit)nếucó,gửiđếnbộnhớ chính. Địachỉluậnlý(logicaladdress)làđịachỉmộtônhớmàmộtquá trìnhsinhra Trìnhbiêndịch(compiler)tạoramãlệnhchươngtrìnhmàtrong đómộtthamchiếubộnhớlà tươngđối:cầnđượcdiễndịchtươngđốisovớimộtvịtríxácđịnhnào đótrongchươngtrình. Vídụ:12bytesovớivịtríbắtđầuchươngtrình,… tuyệtđối:cầnđượcdiễndịchtươngđươngđịachỉthực. 3Cáckiểuđịachỉnhớ(2/2) Khimộtlệnhđượcthựcthi,cácđịachỉluậnlýphảiđược chuyểnđổithànhđịachỉvậtlý. Sựchuyểnđổinàythườngcósựhỗtrợcủaphầncứngđểđạthiệusuất cao. 4Nạpchươngtrìnhvàobộnhớ Bộlinker: táiđịnhvịđịachỉtươngđốivàphângiảicácexternalreference kếthợpcácobjectmodulethànhmộtloadmodule(filenhịphânkhảthựcthi). System System library static linking library dynamic linking System System library library 5Thựchiện(static)linking 0 Module A 0 Module A relocatable CALL B object modules JMP “L” length LL 1 Return L 1 Return L Module B 0 Module B load module JMP “L+M” CALL C length M L M 1 ReturnM 1 Return L M Module C 0 Module C length N L M N 1 ReturnN 1 Return 6Chuyểnđổiđịachỉ(1/3) Chuyểnđổiđịachỉ:quátrìnhánhxạmộtđịachỉtừkhônggian địachỉnàysangkhônggianđịachỉkhác. Biểudiễnđịachỉnhớ Trongsourcecode:symbolic(cácbiến,hằng,pointer,…) Thờiđiểmbiêndịch:thườnglàđịachỉtươngđối Vídụ:aởvịtrí14bytesovớivịtríbắtđầucủamodule. Thờiđiểmlinking/loading:cóthểlàđịachỉtuyệtđối. 0 2000 int i; goto p1; p1 250 2250 symbolic address relative address physical memory 7Chuyểnđổiđịachỉ(2/3) Địachỉlệnh(instruction)vàdữliệu(data)cóthểđượcchuyểnđổi thànhđịachỉtuyệtđốitạicácthờiđiểm Compiletime:nếubiếttrướcđịachỉbộnhớcủachươngtrìnhthìcó ...