操作系统10

一、虚拟存储技术

1.基本思想

        利用大容量外存来扩充内存,产生一个比有限的实际内存空间大的多的、逻辑的虚拟内存空间,简称虚存。

        采用二级存储器方式

        是一种设计技巧,受外存容量的限制。

2.虚拟存储器需要硬件支持

        (1)系统有容量足够大的外存

        (2)系统有一定容量的内存

        (3)实现虚-实转换的地址映射机制

3.工作原理

        程序部分装入内存便可运行,其他部分需要运行时再装入内存。

4.与交换技术的区别

        交换技术交换单位是进程

        虚拟内存以页为单位进行交换

二、虚拟页式存储管理

1.物理页面和页面

        物理页面:将内存分成大小相等的许多区,每个区称为一个“物理页面”。

        页面:将程序中的逻辑地址也进行分页,页的大小和物理页面大小一致。

2.虚拟地址组成

三、物理内存的分配与回收

1.位示图

        位示图中的每一位与一个物理块对应,其值为0/1,表示空闲/占用。

2.内存分配与回收

        分配:在位示图中找出空闲物理页面数,如果能满足,则分配,并把相应位置为1,计算物理页面号。

        物理页面号=字号*字长+位号

        回收,当归还物理页面时,计算归还页面在位示图中对应的位置,将1改为0.

        字号=【i/字长】,位号=i mod 字长

四、虚拟页式存储地址转换过程

1.页式存储管理的地址转换

        页表:记录装入内存的逻辑页面与物理页面的对应关系。

        是硬件进行地址转换的依据

        硬件支持:页表始址寄存器和页表长度寄存器,分别用来存储正在运行程序的页表内存的起始地址和页表的长度。

        地址转换过程:

        (1)在执行检索前,先将页号与页表长度进行比较,若页号大于或等于页表长度,则地址越界。

        (2)若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,则找到该表项在页表中的位置,找到该页的物理页号。

        (3)将有效地址的页内地址送入物理地址寄存器的快内地址字段中。

        十进制计算:

        物理地址=物理页面号*块长+页内地址

        二进制计算:

        物理页面号作为绝对地址的高位地址,页内地址作为它的地址部分。

2.页表项

        物理页面号:页面在内存对应的物理页面号

        有效位:页面是在内存还是外存

        访问位:页面在内存中是否被访问过

        修改位:页面在内存中是否被修改过

        保护位:页面能否读/写

3.页表

        多级页表

        散列页表

        反置页表

4.转换检测缓冲区(TLB)

        高速缓存,也称为块表,登记了页表中的部分页号和物理页面的对应关系。

        地址转换过程及原理。

5.缺页异常处理

        缺页异常:若在页表中发现所要访问的页面不在内存,则产生缺页异常。

        处理:查看有无空闲页面,若有,把要访问的页面调入内存;若无,选择一页换出内存,再把要访问的页面调入内存。

6.页面调度策略

        调入策略:决定什么时候将一个页由外存调入内存。两种方法:请求调页和预调页。

        置页策略:当产生缺页时,将所调入的页面置于何处。

        置换策略:如果内存已满,确定哪个页面从内存中移出,为新的页面腾出空位。三种方法:固定分配局部置换、可变分配全局置换、可变分配局部置换。

7.页面置换算法

        “抖动”或“颠簸”:刚被换出的页面又立即要用,把它装入内存后,不久又被换出,换出不久又被调入内存,如此反复,使调度非常频繁。这种现象称为“抖动”或“颠簸”。

        算法:OPT、FIFO、第二次机会页面置换算法、CLOCK、LRU算法。

        (1)OPT--理想页面置换算法

        由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,或者是在最长(未来)时间内不再被访问的页面。采用OPT算法,通常可保证获得最低的缺页率。

        (2)FIFO--先进先出

        总是选择最先装入内存的页面调出,或者说把驻留在内存时间最长的那一页调出。

        (3)LRU--最近最少使用

        总是选择距离现在最长时间内没有被访问过的页面先调出。

8.缺页率

        缺页率计算:

        f=F/A

        F为缺页次数,A为页面总访问次数

        影响缺页率的因素:

        (1)分配给程序的物理页面数

        (2)页面的大小

        (3)程序编制方法

        (4)页面调度算法

五、虚拟页式存储管理的优点缺点

优点:

        不要求进程的程序段和数据段在内存中连续存放,有效解决了碎片问题,提高了内存利用率

缺点:

        存在页面空间的浪费,程序的最后一页往往有一部分得不到利用。

六、虚拟存储管理的性能问题

(1)颠簸问题

        缺页率高引起,如页面置换算法不合理。

        “活动”页面:进程在一段时间内集中访问的一些页面,与程序的局部性有关。

        如果分配给进程的物理页面少,则活动页面不能全部装入内存,可能频繁产生缺页,从而导致颠簸。

(2)工作集模型

        工作集:对于给定的进程访问序列,从一个时刻到另一个时刻之间所访问页面的集合,称为该进程的工作集。

        采用工作集模型可以解决颠簸问题

        解决方法:操作系统为每一个进程保持一个工作集,并为该进程提供与工作集大小相等的物理页面数,这一过程可动态调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值