本文是对我的大学课程——《操作系统》的课程知识整理,分上下两个部分,本文为下半部分,上半部分详见《操作系统》课程复习资料(上)
目录
虚拟存储器
输入输出系统
虚拟存储器
虚拟存储器是指具有请求调入和置换功能,从逻辑上对内存容量加以扩充的一种存储器系统。容量取决于计算机的地址结构、可用的物理内存和外存的容量之和。
特征:多次性:一个作业允许多次调入对换性:作业可换入、换出;虚拟性
分配策略
固定分配:在进程生命周期中,保持固定数目的物理块 。可变分配:保持可变数目的物理块.
置换策略
局部替换:发生缺页时,仅从该进程的物理块中淘汰页面
全局替换:发生缺页时,从系统中任一进程的物理块中淘汰页面
可组合出以下三种内存分配策略
1) 固定分配局部置换 (Fixed Allocation , Local Replacement)
2) 可变分配局部置换 (Variable Allocation , Local Replacement
3) 可变分配全局置换 (Variable Allocation , Global Replacement
常用的页面置换算法:最佳置换算法(OPT算法)、先进先出页面淘汰算法(FIFO 算法)、最近最久未使用页面淘汰算法(LRU 算法)、Clock 置换算法
OPT: 淘汰以后不再需要或最长时间不再访问的页面(看以后)
FIFO:淘汰在内存中驻留时间最长的(Belady现象对于一些特定的访问序列,存在分配的页面数增多,但缺页率反而提高的异常现象)
LRU:淘汰最近最久未使用的页面,
Clock:置1置0
产生 “ 抖动 ” 的原因:1.进程数量多,每个进程分配的物理块少。
2.系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。
预防方法:
1. 采取局部置换策略2. 把工作集算法融入到处理机调度中。调入作业前,先检查每个进程在内存的驻留页面是否足够多3. 利用“ L=S” 准则调节缺页率
“ L=S” 来调节多道程序度。L是缺页之间的平均时间,S是平均缺页服务时间,即用于置换一个页面所需的时间。L>>S ,说明很少发生缺页,磁盘未充分利用L<<S ,说明频繁发生缺页,缺页的速度过高。只有当L与S接近时,磁盘和处理机都可达到最大利用率4. 选择暂停的进程。减少多道程序的数目。
输入输出系统
I/O设备
按信息交换的单位分 分块设备和字符设备
按使用特性 存储设备 I/O设备
按信息传输速率 低俗 中速 高速
I/O 设备由两部分:I/O 操作的机械部件机械部件即设备本身
执行控制 IO 的电子部件:电子部件称为设备控制器(或适配器)
四种 IO 控制方式
使用轮询的程序控制方式,传送单位: 字
中断 I/O 控制方式传送单位字
直接 DMA 控制, 传送单位:数据块
通道控制方式
早期计算机系统中,无中断机构,CPU 对 I/O 设备的控制采取程序直接控制方式,又称轮询方式
进程需要数据时,通过 CPU 发出指令,启动外围设备准备数据。进程进入阻塞状态,等待输入完成,进程调度。
DMA方式-直接存储器访问方式:CPU 要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令。该命令被送入命令寄存器 CR 中。同时,需要将本次要读入数据在内存的起始目标地址 送入寄存器 MAR 中
I/O 通道设备的引入:当主机所配置的外设很多时, CPU 的负担仍然很重。故CPU 和设备控制器之间又增设了 I/O 通道。IO 通道是一种特殊的处理机 ,通道可以识别和执行一系列通道指令, 并通过执行 IO 程序来控制 IO 操作。其目的是使一些由 CPU 处理的 IO任务转通道承担
IO系统目标:(1)提高设备的利用率(2)为用户提供方便、统一的界面
(3)提高处理机和 I/O设备的利用率(4)对 I/O 设备进行控制
(5)确保对设备的正确共享(6)错误处理
设备独立性(设备无关性): 应用程序中所用的设备,不局限于某个具体的物理设备,通过设备逻辑名来使用设备,必须在设备驱动程序上再设置一层软件,对设备进行管理。
设备驱动程序功能1接收上层发来的命令和参数。2检查用户 I/O 请求的合法性。3发出 I/O 命令。4及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。
设备分配的原则和策略1充分发挥设备的使用效率,尽可能地让设备忙起来2避免由于不合理的分配而造成死锁的发生3将用户程序和具体物理设备相隔离
设备分配方式1静态分配: 用户进程开始执行之前,操作系统就将该进程所
需要的全部设备、设备控制器和通道一次性地分配给它2动态分配: 指进程在运行过程中需要 I/O 时,再由操作系统为其分配设备
系统调用:将 CPU 状态由用户态转换到内核态 ;转向 OS 中相应过程,由该过程完成所需的 I/O 操作。 执行完后, CPU 状态由内核态转换到用户态。
假脱机(Spooling)系统
假脱机技术通过假脱机技术,将一台物理 I/O 设备虚拟为多台逻辑 I/O 设备,允许多个用户共享一台物理 I/O 设备。是在联机情况下实现脱机 I/O功能
虚拟设备:用一个物理设备模拟出的多个逻辑设备,通过缓冲等方式,将独占设备改造为共享设备。允许多个用户共享一台物理 I/O 设备。
输入井和输出井 :在磁盘上开辟两个存储空间;输入井用于暂存 I/O 设备输入的数据;输出井用于暂存用户程序的输出数据, 以文件形式管理
SPOOLing 的设计与实现输入进程:输入进程将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井 。
输出进程:将用户要求输出的数据,先从内存送到输出井,待输出设备空闲时 , 再将输出井中的数据送到输出设备上 。
缓冲区是一个存储区域,可由专门的硬件寄存器组成,也可利用内存作为缓冲区
假脱机打印系统主要包括三部分:
①磁盘缓冲区(输出井) :在磁盘上开辟的存储空间,暂存要打
印的数据。
②打印缓冲区 :在内存中,暂存从磁盘缓冲区送来的数据。
③假脱机管理进程和假脱机打印进程
SPOOLing实现原理:当用户进程请求打印输出时,Spooling 同意为它打印输出 , 但并不立即把打印机分配给它,假脱机管理进程做两件事:① 在输出井中为它申请一个空闲磁盘块区,将要打印的数据送入其中暂存。② 为用户进程申请一张空白的用户请求打印表,将用户的打印要求填入其中,再将该表挂到 请求打印队列上
缓冲区是一个存储区域,可由专门的硬件寄存器组成,也可利用内存作为缓冲区
缓冲区的作用1缓和 CPU 与 I/O 设备间速度不匹配的矛盾。2减少对 CPU 的中断频率,放宽对 CPU 中断响应时间的限制。3解决数据粒度不匹配的问题, 如生产者和消费者之间交换的数据粒度不匹配4提高 CPU 和 I/O 设备之间的并行性
扫描 (SCAN) 算法- 电梯调度算法 在方向一致的下优先调度与当前磁头最近的请求。单向到最大后返回至较大循环扫描 (CSCAN) 单向到最大后返回至较小
以柱面、磁头、扇区表示的为绝对扇区,又称物理磁盘地址,即CHS
公式:存储容量=磁头数*磁道(柱面)*每道扇区数*每扇区字节数
文件系统基本目标:实现按名存取
文件系统是操作系统中负责管理和存取文件的程序集合。由文件控制块、存储分配表等数据结构、相应的管理软件和被管理的文件组成。
文件结构分为 逻辑结构 和 物理结构
逻辑结构 : 用户所看到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,称为文件组织 。根据用户需求和文件内容决定。
物理结构 :又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。
逻辑结构按文件是否有结构分类(1)无结构文件(流式文件)由字符序列组成的文件,其内部不再划分结构,字符是该文件的基本信息单位。例如:文本文件、源程序、可执行文件等。对流式文件的访问,采用读/ 写指针来指示下一个要访问的字节 。(2) 有结构文件(记录式文件)
按文件的组织方式分类,有结构文件分为三类:(1) 顺序文件 (2) 索引文件 (3) 索引顺序文件
关注我,持续分享有趣有用的知识!