版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 存储器管理朱敏2014年5月13日地址绑定 确定程序的指令和数据在内存中的位置 编译时: 绝对代码(只能放在内存中的特定位置) 加载时: 可重定位代码(每次加载,修改地址值) 运行时: 程序可以在内存中移动 访问程序时,临时计算 完整过程:地址变换 编译: 由源文件翻译成包含机器码的目标文件 为变量名指派目标文件内的相对地址 链接: 将多个目标文件打包成可执行文件 根据对应关系,把相对地址修改成逻辑地址 加载:把可执行文件装入内存中 运行:把逻辑地址转换成物理地址程序的一生101010101010101010101010101010101010101010101010ccx.cx.sa
2、sx.o101010101010101010101010101010101010101010101010ccy.cy.sasy.o101010101010101010101010101010101010101010101010ccz.cz.sasz.o101010101010101010101010101010101010101010101010源代码汇编代码目标文件可执行文件a.out编译器汇编器链接器加载器ldOSCode0DataStack进程的内存逻辑结构 堆栈(Stack)向下生长 堆(Heap)向上生长 静态数据(Data)固定 代码(Code)只读 分段式存储管理的时候内存是什么
3、样的呢?Code0StackHeapHeapDataData1111 1111heapheapcodecodedatadata逻辑地址视图物理地址视图datadataheapheap0000 00000100 0000(0 x40)1000 0000(0 x80)1100 0000(0 xC0)段号段号偏移codecode0000 00000001 0000(0 x10)0101 0000(0 x50)0111 0000(0 x70)1110 0000(0 xE0)段号段号# #基址基址容量容量11111011 00001011 00001 00001 000010100111 0000011
4、1 00001 10001 100001010101 00000101 000010 000010 000000000001 00000001 000010 000010 0000stackstack1111 0000(0 xF0)stackstack1011 0000 + 11 0000-1110 00001111 1111stackstackheapheapcodecodedatadata逻辑地址视图物理地址视图datadataheapheapstackstack0000 00000100 00001000 00001100 00001110 0000段号段号偏移codecode0000
5、00000001 00000101 00000111 00001110 0000段号段号# #基址基址容量容量11111011 00001011 00001 00001 000010100111 00000111 00001 10001 100001010101 00000101 000010 000010 000000000001 00000001 000010 000010 0000当堆栈向下生长当堆栈向下生长到到1110 00001110 0000的时的时候,会发生什么?候,会发生什么?1111 1111stackstackheapheapcodecodedatadata逻辑地址视图物理
6、地址视图datadataheapheapstackstack0000 00000100 00001000 00001100 00001110 0000段号段号偏移codecode0000 00000001 00000101 00000111 00001110 0000段号段号# #基址基址容量容量11111011 00001011 00001 00001 000010100111 00000111 00001 10001 100001010101 00000101 000010 000010 000000000001 00000001 000010 000010 0000物理视图堆栈已经溢出物
7、理视图堆栈已经溢出了,需要扩大容量,有了,需要扩大容量,有可能还要调整位置可能还要调整位置1111 1111stackstackheapheapcodecodedatadata逻辑地址视图物理地址视图datadataheapheapstackstack0000 00000100 00001000 00001100 00001110 0000段号段号偏移codecode0000 00000001 00000101 00000111 00001110 0000段号段号# #基址基址容量容量11111011 00001011 00001 00001 000010100111 00000111 000
8、01 10001 100001010101 00000101 000010 000010 000000000001 00000001 000010 000010 0000物理视图堆栈已经溢出物理视图堆栈已经溢出了,需要扩大容量,有了,需要扩大容量,有可能还要调整位置可能还要调整位置分页式的又会是什么样的呢?分页式的又会是什么样的呢?1111 1111stackheapcodedata逻辑地址视图0000 00000100 00001000 00001100 00001111 0000页号页号偏移物理地址视图datacodeheapstack0000 00000001 00000101 0000
9、111 0001110 000011111 1110111110 1110011101 null 11100 null 11011 null11010 null11001 null11000 null10111 null10110 null10101 null10100 null10011 null10010 1000010001 0111110000 0111001111 null01110 null 01101 null01100 null01011 01101 01010 01100 01001 0101101000 0101000111 null00110 null00101 null
10、 00100 null 00011 0010100010 0010000001 0001100000 00010页表1110 11111111 1111stackheapcodedata逻辑地址视图0000 00000100 00001000 00001100 00001111 0000页号页号偏移物理地址视图datacodeheapstack0000 00000001 00000101 0000111 0001110 000011111 1110111110 1110011101 null 11100 null 11011 null11010 null11001 null11000 null
11、10111 null10110 null10101 null10100 null10011 null10010 1000010001 0111110000 0111001111 null01110 null 01101 null01100 null01011 01101 01010 01100 01001 0101101000 0101000111 null00110 null00101 null 00100 null 00011 0010100010 0010000001 0001100000 00010页表1110 1111当堆栈向下生长当堆栈向下生长到到1110 00001110 000
12、0的时的时候,会发生什么?候,会发生什么?stack1111 1111stackheapcodedata逻辑地址视图0000 00000100 00001000 00001100 0000页号页号偏移物理地址视图datacodeheapstack11111 1110111110 1110011101 1011111100 1011011011 null11010 null11001 null11000 null10111 null10110 null10101 null10100 null10011 null10010 1000010001 0111110000 0111001111 null01110 null01101 null01100 null01011 01101 01010 01100 01001 0101101000 0101000111 null00110 null00101 null 00100 null 00011 0010100010 0010000001 0001100000 00010页表0000 00000001 00000101 0000111 0001110 0000分配空闲页给分配空闲页给程序。程序。1110 0000分段式存储管理 x86汇编语言,段寄存器 程序段:CS + 程序计数器 IP 堆栈段:SS +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅炉本(工业司炉锅炉)理论考试真题(含答案)
- 污水管道清淤施工方案
- 2026年医院感染防控安全工作总结
- 施工现场安全锅炉爆炸预案
- 预制件脱模吊运施工工艺
- 阳台防水施工方案范本
- 特种设备维护保养专项方案
- 2026年苏教版高二第二学期历史期末质量评估试卷(附答案可下载)
- 市场营销学期末考试试卷及答案
- Methyl-7-Z-10-Z-hexadecadienoate-生命科学试剂-MCE
- 2026山东城航供应链集团有限公司招聘14人备考题库及一套答案详解
- 2026年山东鲁泰控股集团有限公司社会公开招聘笔试参考题库及答案详解
- 2026届湖北省武汉市武昌区八校中考联考物理试题含解析
- 《校园农场:播种希望的四季》(小学三年级综合实践活动教案)
- 期末复习课件-2025-2026学年统编版小学道德与法治四年级下册
- 甘肃省兰州市2022年中考生物真题试题含解析
- 2025年湖南省长沙市麓山国际实验中学小升初数学试卷
- 招商蛇口2025年第三方评估方案宣贯
- 2025年重庆发展投资有限公司及所属企业校园招聘9人笔试参考题库附带答案详解
- GB/T 35694-2025光伏发电站安全规程
- 江苏省保安考试题及答案
评论
0/150
提交评论