哈工大操作系统张英涛课堂笔记第31讲到第35讲

第31讲
分页请求系统
在分页系统的基础上,增加了请求调页的功能,页面置换功能所形成的页式虚拟存储系统。
它允许只装入若干页(而非全部程序)的用户程序和数据,便可以启动运行。
再通过调页功能以及页面置换功能,陆续的把即将要运行的页面调入内存,同时把暂时不运行的页面换出到外存上,置换的时候以页面为单位
分页请求系统的硬件支持
1.请求分页的页表机制
2.缺页中断机构
3.地址变换机构

某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存16KB,假定某时刻一用户页表中已经掉入内存的页面的页号和物理块号的对照表如下:
页号 物理块号
0 3
1 7
2 11
3 8
则逻辑地址0A5C(H)所对应的物理地址是什么?
转化成为二进制是关键
0A5C(H): 0000 1010 0101 1100
2
查表得: 11
0010 11
拼接得: 0010 1110 0101 1100
2E5C(H)
请求分段系统
在分段系统的基础上,增加了请求调段以及分段置换的功能以后,所形成的段式虚拟存储系统
它允许只装入若干段(而非所有段)的用户程序和数据。即可启动运行
再通过段的调出,同时调入即将运行的段,置换是以段为单位进行的

请求分段的硬件支持
1.请求分段的段表机制
2.缺段中断机制
3.地址变换机制

虚拟存储器特征
1.多次性
把一个进程用到的数据多次从外存中调入
2.对换性
把要用到的数据多次从外存中调入
3.虚拟性

请求分页存储管理方式
请求分页的硬件支持
内存分配策略和分配算法
调页策略

页表机制
基本作用是将逻辑地址变换为物理地址,在页表中再增加若干项供换进换出的时候参考在这里插入图片描述
状态位P:
用于指示该页是否已经掉入内存,供程序访问的时候参考
访问字段A:
用于记录本页在一段时间内,被访问的次数,或记录本页最近已经有多长的时间未被访问,供选择换出页面的时候参考
修改位M:该页掉入内存之后是否被修改过
外存地址:用于指出该页的外存上的地址,通常是物理块号,供调入该页的时候参考
缺页中断机构
请求分页系统中每当所要访问的页面不在内存的时候,便要产生缺页中断,请求将所缺之页调入内存
与一般的中断的区别:
1.在指令执行期间产生和梳理中断信号
2.一条指令在执行期间,可能会产生多次缺页中断
内存分配的三个问题
最小物理块数
物理块的分配策略
物理块的分配算法

最小物理块数
能保证进程正常运行所需要的最少的物理块数,如果系统为进程所分配的物理块数小于此值的时候进程将无法运行
最小物理块数与计算机的硬件结构有关,取决于指令的格式,功能和寻址方式

物理块的分配策略
1.固定分配局部置换
2.可变分配全局置换
3.可变分配局部置换

固定分配局部置换
为每个进程分配一固定页数的内存空间.在整个远行期间都不改变。
如果缺页.则只能从该进程的页面中选出 一页换出,再调入一页。
困难:应为每个进程分配多少个面的内存难以确定,若太少会频繁地出现缺页中断降低吞吐量;太多,又使内存中进程数减少.进而可能造成CPU或其它资源空闲,而且进程对换时会花费更多的时间。

可变分配全局置换
先为每一个进程分配一定数目的物理块,OS保持一个空闲物理块队列。
缺页的时候,系统从空闲物理块队列中,取出一个物理块分配给该进程,并将欲调入的缺页装入其中
当空闲物理块队列空的时候从内存中选择一页调出,最容易实现

可变分配局部置换
基于进程的1类型或者程序员的要求,为每一个进程分配一定数目的物理块,缺页的时候从该进程的页面中选出一页换出
如果进程频繁的发生缺页中断,则再为该进程分配附加的物理块
若一个进程的缺页率特别低,则可以适当的减少该进程的物理块

第32讲

物理块的分配算法
平均分配算法
按照比例分配算法
考虑优先权的分配算法

平均分配算法
将系统中所有可供分配的物理块,平均分配给各个进程
对小进程浪费资源,对大进程要浪费时间

按比例分配算法
根据进程的大小按比例分配物理块的算法。如果系统中共有N个进程,每个进程的页面数为Si,则系统中各进程页面数的总和为:
S=∑ Si
假定系统中可用的物理块总数为M,则每个进程所能分到的物理块数为B,将有
bi=Si/S*m
bi应该取整,它必须大于最小物理块数。

     考虑优先权的分配算法
     物理块分成两个部分:
     1.一部分按照比例的分配给各个进程,另一部分根据各个进程的优先权,适当的增加其相应的份额后,分配各个进程
     有的系统可能是完全按照优先权分配物理块

调页策略
何时调入页面
从何处调入页面
页面调入过程

调页的时机
1.预调页策略
讲那些预计在不久之后便会被访问的页面,预先调入内存
主要应用于进程的首次调入
2.请求调页策略
运行中要访问的某个程序和数据的时候,若其页面不在内存,立即提出请求。OS调入

从何处调入页面
可以分为三种情况
1.有足够对换区的空间,可以全部从对换区调入所需要的页面,因此进程运行前,便将与该进程有关的文件,从文件区拷贝到对换区
2.无足够对换区空间,不会被修改的文件从文件区中调入,会被修改的文件从对换区中调入
3.UNIX方式,未运行过的页面从文件区中调入,运行过被换出的页面从对换区中调入

页面调入过程
程序发出缺页中断,中断处理程序保留cpu环境,转入缺页中断处理程序。
查页表,求该页的外存物理块
如果内存未满,则调入内存修改页表
如果内存已满,则按照某种置换算法,从内存中选出一页换出,如果此页已经被修改,则必须将它重新写回磁盘,将缺页调入内存,并修改相应页表项,将其存在位置为1,再将此页表项写入块表中

页面置换算法
进程访问的页面不在内存,而内存已经没有空闲区的时候,系统必须从内存中调出一页送磁盘的对换区中,把选择换出页面的算法称为页面置换算法
应该将那些以后不会再访问的页面或者在较长时间内不会再访问的页面调出

抖动
刚被换出的页很快又被访问,需重新调入,又需再选一页调出,如此频繁地更换页面的现象称为抖动.
抖动导致进程在运行中,把大部分时间花费在页面置换上。

最佳置换算法
选择被淘汰的页面是永远不会被使用的,或者说是在最长的时间内不会再被访问的页面、
采用最佳置换算法可以保证获得最低的缺页率,但是由于无法预知哪一个页面是未来最长的时间内不再被访问的,因此该算法是无法实现的。
可以利用该算法区评价其他的算法。
假定某进程有8个页面,系统为分配了三个物理块.并考虑有以下的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1使用最佳置换算法发生几次页面置换?
在这里插入图片描述
第三十三讲
先进先出页面置换算法
淘汰最先进入的内存的页面,即选择在内存中驻留时间最久的页面予以淘汰
该算法实现简单
假定某进程有8个页面,系统为分配了三个物理块.并考虑有以下的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1使用先进先出页面置换算法发生几次页面置换?在这里插入图片描述
最近最久未使用置换算法
根据页面调入内存后的使用情况进行决策。
由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,选择最近最久未使用的页面予以淘汰。
该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间T,当须淘汰一个页面时,选择现有页面中其T值最大的,即最近最久未使用的页面予以淘汰。

 假定某进程有8个页面,系统为分配了三个物理块.并考虑有以下的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1使用最近最久未使用算法发生几次页面置换?、

在这里插入图片描述简单CLOCK算法
每页设置一位访问位。再将内存中的所有页面都通过链接指针链成一个循环队列。
当某页被访问时,其访问位置1。淘汰时检查其访问位,如果是0就换出;若为1则重新将它复0。
再按FIFO算法检查下个页面。到队列中的最后—个页面时,若其访问位仍为1,则再返回到队首再去检查第一个页面。
又称为最近未用算法。
最少使用置换算法
为每个页面设置一个移位寄存器,用来记录该页面被访问的频率。
选择在最近时期使用最少的页面作为淘汰页。
访问次数相等时,按先进先出原则
在这里插入图片描述
页面缓冲算法
可以采用可变分配和局部置换方式
如果页面未被修改,就将它直接放入空闲链表,否则,放入已经被修改的页面链表中,
页面在内存并不做物理移动而只是将页表中的表项移动到链表之中

第34讲
请求分段存储管理
请求分段中的硬件支持
分段的共享和保护

请求分段中得以硬件支持
段表机制
缺段中断机制
地址变换机制
由逻辑地址转换成为物理地址
之前的段只有段长和段的基址
段 表
在这里插入图片描述存取方式。表示本段属性:只读、
只执行、允许读/写
访问字段A。访问频率
修改位M。用于表示该页在进入内存后,
是否被修改过,供置换页面时参考。
存在位P。指示本段是否已调入内存,供程序访问时参考。
增补位。特有的字段,用于本段在运行过程中,是否做过动态增长。
外存始值。本段在外存中的起始地址,即 起始盘块号。
标志:一段程序或进程在执行过程中有没有增加或减少
在这里插入图片描述虚段就是是程序员写的,是逻辑上的段,不是实际的物理段。在执行的过程中需要执行的段不在内存中就叫做缺段

请求分段地址变换过程
在这里插入图片描述
共享段表
一个段供多个进程使用
(1)共享进程计数COUNT。
(2)存取控制字段。对于一个共享段,应给不同的进程以下不同的存取权限。
(3)段号。对于一个共享段,不同的进程可以各用不同的段号去共享该段。

不同的进程使用不同的段号去共享该段
共享段表项
在这里插入图片描述
共享段的分配
对第一个请求使用该共享段的进程,为该段分配一个物理区把共享段调入该区,同时将该区的始址填入该进程的段表中。
在共享段表中增加一表项,把count置为1;
其他进程调用该共享段时.在进程的段表中.增加一表项,填入该共享段的物理地址;在共事段的段友小,坝7调用进程名、存取控制等,再执行count :=1十count操作.
共享段的回收
取消在该进程段表中共享段所对应的表项。
count :=count-1
若结果为0则系统回收该共享段的物理内存。并取消共享段表中该段所对应的表项。
分段保护
1)越界检查
2)存取控制检查
3)环保护机构

越界检查
将逻辑地址空间的段号与段表长度进行比较,如果段号大于等于段表长度.将发出地址越界中断信号;
检查段内地址是否大于等于段长.

存取控制检查
通常的访问方式有:
只读,即只允许进程对该段中的程序或数据进行读访问。
只执行,即只允许进程调用该段去执行,但不准读该段的内容,也不允许对该段执行写操作。
读/写,即允许进程对该段进行读写访问

环保护机构
低编号的环具有高优先权
程序的访问和调用遵循以下规则:
一个程序可以访问驻留在相同环或较低特权环中的数据。
一个程序可以调用驻留在相同环或较高特权环中的服务。
在这里插入图片描述在这里插入图片描述
设备管理

设备管理的主要功能:
缓冲区管理
设备分配
设备处理
虚拟设备
实现设备独立性

I/O系统
实现信息输入、输出和存储的系统。
包括:
I/O设备
总线
设备控制器
I/O通道
I/O处理机

II/O设备的类型
可以按照重要的性能指标分类
1.数据传输速率
2.数据的传输单位
3.设备的共享属性
按照传输速率分类
低速设备 每秒几字节至数百字节, 如:键盘、鼠标器、语音的输入和输出
中速设备 每秒数千字节至数万字节。如:行式打印机、激光打印机
高速设备 每秒数百千字节以上, 如:磁带机、磁盘机、光盘机等。
按照信息交换单位分类:
块设备
字符设备

块设备
用于存储信息,属于有结构类型
如:磁盘,盘块大小为512KB~4KB。磁盘设备的基本特征是其传输速率较高,通常每秒钟为几兆位;可寻址,即对它可随机地读/写任一块;
磁盘设备的I/O常采用DMA方式。

字符设备
用于输入的输入和输出
属于无结构类型。
种类多,如交互式终端、打印机等。
基本特征是其传输速率较低,通常为几个字节至数千个字节;另一特征是不可寻址,即输入/输出时不能指定数据的输入源地址及输出的目标地址
输入/输出时,常采用中断驱动方式。

第35讲
按设备的共享属性分类
(1)独占设备。
(2)共享设备。
(3)虚拟设备。

独占设备
打印机,磁带机
指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。

共享设备
指在一段时间内允许多个进程同时访问的设备,如磁盘。

设备与控制器接口
在该接口中有三种类型的信号:
数据信号。对输入是由设备发送给设备控制器的;对输出是由设备控制器所接收的比特流。
控制信号。是设备控制器发送给设备的、用于规定设备执行、读或写操作的信号,
状态信号。用于指示设备的当前状态。

设备控制器
是CPU与I/O设备的接口
分成两大类:
用于控制字符设备的控制器;
用于控制块设备的控制器。
微型机和小型机中的控制器常做成印制电路卡形式,称接口卡。

设备控制器的功能
接收和识别命令
数据交换
标识并报告设备的状态
地址识别
数据缓冲
差错控制

设备控制器的组成
1)设备控制器与处理机接口
2) 设备控制器与设备接口
3) I/O逻辑

与处理机接口
三类信号线:
数据线、地址线、控制线
两类寄存器:
数据寄存器、控制/状态寄存器

与设备接口
一个接口连接一台设备
每个接口中含有数据、地址、控制信号。
控制器的I/O逻辑根据处理机发的地址信号选择设备接口。
I/O逻辑
通过一组控制线与处理机交互
处理机利用它向控制器发送I/O命令
I/O逻辑对收到的命令进行译码
在这里插入图片描述I/O通道
I/O通道是种特殊的处理机。它具有执行I/O指令的能力.并通过执行通道程序来控制I/O操作。
与一般处理机不同.表现在两个方面:
指令类型单一、即由于通道硬件比较简单.其所能执行的指令.主要为与I/O有关的指令;
通道没有自己的内存。与CPU共享内存。

指令类型单一,即由于通道硬件比较简单,其所能执行的指令,主要为与I/O有关的指令,通道没有自己的内存,与CPU共享嫩
通道类型
根据信息交换方式分三种类型:
字节多路通道
数组选择通道
数组多路通道
字节多路通道
含有非分配型子通道,其数量从几十到几百。每个子通道连接一台I/O设备。
子通道按时间片轮转方式共享主通道。
第一个子通道控制其I/O设备完成一个字节的交换后.便立即腾出字节多路通道(主通道),让给第二个子通道使用,依此类推,所有通道轮转一周后重返回。
只要扫描每个于通道的速度足够快,而连接到子通道上的设备的速率较小时,不丢数据。
连接低速或中速设备时.便不丢失信息。
在这里插入图片描述数组选择通道
含有一个非分配型子通道
可以连接多台高速设备
一段时间内只能执行一道通道程序控制一台设备进行数据传送。
利用率很低。
含有一个非分配型子通道,可以连接多台高速设备,一段时间内指能执行一道通道控制一台设备进行数据传送利用率很低

数组多路通道
含有多个非分配型子通道
结合前两者优点
可以连接多台高速设备
数据传送按数组进行
利用率很高

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值