os存储器管理(一)

存储器基本结构:

内存空间:由一连串的数据存储单元,构成的连续的存储地址。用来存放当前正在运行的代码和数据。

内存要求:存储空间尽可能大,速度要快,最好匹配到cpu的运行速度。

内存分类:1.系统区:存放操作系统。2.用户区:用来存放用户数据和代码等操作信息。

存储共享:两个或多个程序共享纯代码,目的是有效利用内存空间,提高内存的利用效率。

存储保护:为防止程序之间相互影响,因而采用地址越界保护机制,以防止系统程序区不被用户侵犯,硬件中提供上界和下界寄存器劳保护程序区,基址寄存器存放的是程序的起始地址,限长寄存器: 存程序的长度

权限保护: 对于多进程共享的存储区域, 各进程都有自己的访问权限; 如果越权访问, 则发生读写保护。

内存“扩充”:虚拟内存。


程序的装入方式:

1.绝对装入方式:整个代码放入内存,绝对地址直接进入内存地址,缺点比较大。

2,可重定位装入方式:系统根据程序使用情况,将逻辑地址装换内存地址,相较于绝对装入方式上升一个档次,但还是具有很大的缺陷。比如若是改变当程序装入后不能再移动, 被钉死在绝对地址上程序在内存空间只能连续分配,多个用户很难共享同一程序,若共享同一程序,各用户必须使用自己的副本。
      总之, 不利于内存的有效利用, 低效、不方便。

3,动态运行装入方式:在装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种转换推迟到程序真正要执行时才进行。程序在内存中的位置可以改变, 因此边运行, 边装入,称动态重定位。地址变换在运行阶段完成。总之这种方式高效,便于查找。在查找内存过程中物理地址=逻辑地址+基地址。

程序的链接:

1.绝对装入方式:不需要重新查找,无法共享代码。

2)装入时动态链接
对编译形成的一组模块边装入、边链接
         便于修改和更新;便于共享模块
3)运行时动态链接

  边运行、边链接

静态重定位是在程序的装入过程中调用,动态重定位是在程序的执行过程中调用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值