版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025吉林大学白求恩医学部机关面向校内招聘正科级干部1人备考考试试题及答案解析
- 2025重庆大学医院劳务派遣医技人员招聘4人备考考试试题及答案解析
- 2023检查实施方案十篇
- 网商家的合同范本
- 网格员聘请协议书
- 耗材供销合同范本
- 职工不坐班协议书
- 联合中标合同范本
- 聘用dj合同范本
- 聘用护士合同范本
- 人教版一年级数学下册教案全册表格式
- 监理安全保证体系实施细则范文(2篇)
- 一次性无菌医疗用品管理培训
- 白蚁防治勘察方案
- 二手设备交易协议范本
- 2024年食品生产企业食品安全管理人员监督抽查考试题库(含答案)
- 2024年1月江苏省普通高中学业水平合格性考试历史试卷(解析版)
- YYT 0657-2017 医用离心机行业标准
- 机械设备出厂检验报告
- 纪录片《苏东坡》全6集(附解说词)
- 2024春期国开电大本科《外国文学专题》在线形考(形考任务一至四)试题及答案
评论
0/150
提交评论