OS第五章小记(自用)

| 第五章

物理地址与逻辑地址

重定位(地址转换):静态重定位、动态重定位(需要访问操作)、存储管理单元(MMU)

存储器管理的关键问题

存储空间的分配与回收、重定位方式的确定、实现保护与共享、实现虚拟存储技术

存储器管理的方法

非分段管理、分段管理、分区管理、分页管理、段页式内存管理

1)按区存储
  • 单一连续区存储管理,请求表

  • 固定分区存储管理,分区说明表(DPT),内碎片

  • 可变分区存储管理,可用表(表长受限,影响并发进程个数),空闲区链表,FF、BF、WF,移动技术(增加系统的开销),动态重定位,界限寄存器,外碎片

2)一些技术
  • 对换技术:内外存储器定期使用交换调度算法,将某些就绪或者阻塞的进程转移到外存储器上(调出),将某些先前转移到外存储器上的进程转入内存中(调入)。
  • 覆盖技术,逻辑扩充,可覆盖区,单个程序空间可突破限制,并发执行程序数受限
3)页、段
  • 分页存储管理

记住有第0页,静态分页,动态分页(未用到的保存在外存,虚拟)

静态分页技术需要记录:内存中各块的使用情况(位示图法、空闲区链表法),用页表记录进程中的页与内存中的块的对应情况(页号,块号),逻辑地址a进来的全过程,给出逻辑地址0x5D8F计算物理地址。

静态分页技术优点:允许非连续存储,提高存储器利用率;页长度与块长度相等,无需采用复杂分配策略;为虚拟存储技术提供数据结构支持。

静态分页技术不足:重定位时两次访存(查找列表和读取数据),增大了CPU的开销。解决方案:快表TLB,快表命中率m/m+n

虚拟存储技术并不将整个程序装入内存中,而是只装入一部分,将其他部分留在外存中,在运行过程中根据需要动态地把程序的其他部分调入或者把已调入的部分调出内存。

虚拟存储技术的理论基础:程序的局部性原理——在程序运行过程的一个较小时间范围内,只需要一小部分的程序信息,其他部分暂时不需要;在程序的一次执行过程中,程序的所有指令和数据被访问的概率间存在不平衡性。

程序的局部性规律:时间局部性——某地址的信息呗访问后,短时间内很可能再次被访问;空间局部性——某地址的信息被访问后,与其邻近的信息很可能被访问。

动态分页技术调入策略:请求分页(请求调入),预调入分页,

动态分页中,页表记录:页对应块编号、中断位P(页是否在内存中)、访问位A(页在装入后是否再次被访问过)、修改位M(页装入后是否被修改)、外存地址(页在外存中的地址)

重定位过程,缺页中断发生后:保护现场、获取空闲块、所缺的页写入空闲块,并P=1,A=0,M=0

局部页面调度(同进程)、全局页面调度(所有进程),好的算法减少缺页中断发生的次数

// 先进先出算法(FIFO)

// 最久未使用算法(LRU):用到旧的的置顶,把其他往下压

// 最不常用算法(LFU):使用次数最多的置顶,若相同则最新的置顶

// 二次机会算法(时钟算法):给一次机会,用掉这条命之后置顶把其他往下压

// 考虑保存页(若被修改)的开销:淘汰①、淘汰②、查找所到之处把A置为0

// 页缓冲算法:空闲区比例越过T0,把所有页A=0;越过T1,A=0的页信息存储链表M0(未被修改的放这里)和M1(被修改了的放这里),并把他们P=0(名存实亡)。缺页发生时候如果所缺页在M0/M1中,恢复其P=1(复活)并移出链表;否则获取空闲块装入缺页,先淘汰M0中的,若空则淘汰M1中的。

缺页率,请求分页,分页存储管理的特点:非连续存储分配,提高存储空间利用率;虚拟存储技术;但分页破坏了程序的完整性、请求分页存在抖动现象,降低CPU利用率、页表占用了额外的存储开销。

动态改进:工作集、反向页表、多级页表(目录、页表)、页长定制

  • 分段存储管理

进程内部结构分段,作段内地址。

便于实现进程的段内动态扩展,进程的非连续装入,虚拟存储技术,模块共享

段表:段号、段长度、段基址、外村地址、存取控制信息、中断位P、访问位A、修改位M

逻辑地址(s,d)进入MMU时的重定位过程

段共享:知段信息即可

  • 段页式存储管理

内存分块、进程(程序)分块、段分页、页装入块、按段或者页调入/调出,实现虚拟存储

段页式存储管理中,对于一个进程,需要维护一个段表和多个页表。段表中的每项记录各个段的信息,以及某一段的页表位置;页表中的每项记录一个页的信息。

逻辑地址(s,d)重定位过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值