码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统----内存管理

时间:2019-05-28 12:25:53      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:inf   行修改   内存   完整   物理地址   src   修改   模块   上下限   

技术图片

 技术图片

一个字符就是一个字节,也就是8位。

技术图片

每一个进程有PCB,程序段和数据段,程序的代码会被翻译成指令,CPU会根据指令的要求去找相应的物理地址,然后进行计算。

编译生成的是逻辑地址。

相对地址---->逻辑地址,绝对地址---->物理地址

技术图片

 编译:先编译成若干个目标模块,然后链接,形成完整的装入模块,然后由装入程序装入内存。

链接:静态链接(先连接好),装入时动态链接(装入的时候动态依次链接),运行时动态链接(当程序执行过程中需要目标模块的时候才进行链接,便于修改和更新,实现对模块的共享)。

装入方式:技术图片

绝对装入:

技术图片

只适用于单道程序,只有一道程序,所以可以确定程序装入位置。编译的时候产生最后的装入位置。

技术图片:一次性装入内存,当内存空闲地址不够的时候不能装入内存中。当装入之后就不能进行修改,也不能再申请空间。初始地址为80,同意进行+100操作,这样进行静态重定位。

技术图片:(分页存储和分段存储那里细讲)就是采用重定位寄存器,将地址转化推迟到真正执行的时候才进行物理地址的转化。动态重定位可以允许程序在内存中的移动。

技术图片

 

技术图片

-------------------------------------------------------《内存的空间分配》-------------------------------------------------

内存空间的分配与回收

虚拟性,操作系统提供某种技术从逻辑上进行对内存空间的扩充。

操作系统提供地址转化功能,负责程序的逻辑地址与物理地址的转化。

操作系统提供内存保护,互不干扰:

   1.设计上下限寄存器,存放进程的上下限,用来查看是否越界

   2.采用重定位寄存器(基址寄存器),和界地址寄存器(限长寄存器)。界地址存放进程的最大逻辑地址、重定向寄存器存放起始地址,看看80+重定向起始地址是不是超过了界地址寄存器。

技术图片

技术图片

技术图片

覆盖技术:解决程序大小超过内存总和。

技术图片

技术图片

技术图片

技术图片

技术图片

 

操作系统----内存管理

标签:inf   行修改   内存   完整   物理地址   src   修改   模块   上下限   

原文地址:https://www.cnblogs.com/0123wtdd/p/10936308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!