操作系统考研复试速成 - 知识点精炼

针对于计算机考研复试 - 操作系统 ,删除了很多初试中关于 计算、冗余 的内容,把复习中心放在 高频知识点 (偏向概念) ,希望可以节约准研究生们的复习时间!大家可以放心食用🍖🍖🍖
 
ps:本博客是为了起到辅助复习的效果,配合教材复习效果更加!哔哩哔哩 网课传送门
 
408 考研人,人狠话不多:3、2、1,上链接 !
 

408 考研复试 - 决战期,复试速成笔记,导航🚥🚥🚥

  1. 🥬 数据结构与算法 考研复试速成 - 知识点精炼 (加班中)
  2. 🥕 计算机网络 考研复试速成 - 知识点精炼 - 理解版
  3. 🥪 操作系统 考研复试速成 - 知识点精炼 - 背诵版 ⇦当前位置🪂
  4. 🍊 计算机组成原理 考研复试速成 - 知识点精炼 - 背诵版
  5. 🍒 软件工程 考研复试速成 - 知识点精炼 - 背诵版
  6. 🎨 408 全套初复试笔记汇总 传送门 🏃‍🏃‍🏃‍
     

录取通知,恭喜你顺利上岸!研究生你好!😀😀😀

 
如果本篇文章对大家起到帮助的话,跪求准研究生们,求赞👍 、求收藏 👏、求关注!👀
 
你必考上研究生!我说的,耶稣来了也拦不住!

在这里插入图片描述

 


第一章 计算机系统概述

1.1 操作系统的概念

【问】简述操作系统的定义

​ 操作系统是一组 控制和管理 计算机软硬件资源,合理地 组织 多道程序的运行,方便 用户使用的程序的集合;- 管家、调度、桥梁

 


1.2 操作系统的基本特征

【问】简述操作系统的基本特征

① 并发

  • 指两个或多个事件在同一时间间隔内发生。
  • 宏观上同时发生,微观上交替发生;

 

② 共享

  • 系统中的资源可被多个并发执行的进程共同使用;
  • 并发性 与 共享性 互为存在条件

 

③ 虚拟

  • 将物理实体映射成若干个逻辑设备;
  • 没有并发性,实现虚拟性就没有意义;

 

④ 异步

  • 多道程序下,由于资源有限,进程的执行是走走停停,以不可预知的速度向前推进;
  • 只有系统拥有并发性,才有可能导致异步性;

 

【问】简述并发与并行的区别

并发 :指两个或多个事件在同一时间间隔内发生;
 
并行 :指两个或多个事件在同一时刻同时发生;

 


1.3 操作系统的运行机制

一、内核程序 vs 应用程序

​ CPU执行的程序分为两种:操作系统内核程序、用户程序;
 
内核 是操作系统最基础、核心的那部分;

 

二、特权指令 vs 非特权指令

​ 内核程序,在计算机中的地位充当 管理程序 ,所以可以执行 特权指令;
 
​ 用户程序,在计算机中的地位充当 被管理程序 ,出于安全考虑只能执行 非特权指令;

 

三、内核态 vs 用户态

【问题】CPU可以区分 特权指令非特权指令 ,但是CPU无法识别正在执行的指令是 应用程序 的指令,还是 内核程序 的指令;
 
​ 答:为了让CPU能够区分 应用程序内核程序 ,CPU会被划分为两种状态:内核态用户态

  • 内核态 - 内核程序 - 可以执行特权指令;
  • 用户态 - 应用程序 - 只能执行非特权指令;
     

​ CPU使用 程序状态字寄存器(PSW) 实现对CPU状态的标记;

 

四、如何变态 ?

内核态 转向 用户态:执行一条特权指令,修改 PSW 的标志位为 用户态
 
用户态 转向 内核态:由 中断 引发,硬件自动完成变态过程;

 


1.4 中断和异常

【问】简述中断和异常的区别
在这里插入图片描述

 


1.5 系统调用

一、系统调用的定义

系统调用 是操作系统提供给用户程序使用的接口,可以理解为一种特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务
 
凡是与 共享资源 有关的操作,都必须通过 系统调用 的方式向 操作系统内核 提出服务请求;

 

二、系统调用与库函数的区别

操作系统向上层提供系统调用,使得上层程序能请求内核的服务;
 
库函数属于编程语言级别。会将一些系统调用封装成库函数,供应用程序使用。
有的库函数涉及系统调用,有的不涉及。

 


第二章 进程与线程

2.1 进程与线程

一、进程的定义与组成

​ 进程是 进程实体 的运行过程,是系统进行 资源分配和调度 的一个独立单位;
 
进程实体包括:PCB + 程序段 + 数据段 三部分;

  • PCB:进程描述信息、进程控制和管理信息、资源分配信息;
  • 程序段:程序的代码;
  • 数据段:运行过程中出生的各种数据;

 

二、进程的特征

在这里插入图片描述

 

三、进程的状态与转换

在这里插入图片描述

在这里插入图片描述

 

四、进程的组织方式

​ 链接方式:将同一状态的PCB链接成一个队列;

​ 索引方式:将同一状态的进程组织在一个索引表中,索引表的表项指向相应的PCB;

在这里插入图片描述

 

五、进程控制

1. 进程的创建

  • 申请空白 PCB;
  • 为新进程分配所需资源;
  • 初始化 PCB;
  • 将 PCB 插入就绪队列;
     

2. 进程的终止

  • 从 PCB 集中中找到终止进程的 PCB;
  • 若进程正在运行,立刻剥夺 CPU, 将 CPU 分配给其它进程;
     

3. 进程的阻塞

  • 找到要阻塞的进程对应的 PCB;
  • 保护进程运行现场,将 PCB 状态信息设置为 阻塞态,暂时停止进程执行;
  • 将 PCB 插入相应事件的等待队列;
     

4. 进程的唤醒

  • 在事件等待队列中找到PCB;
  • 将 PCB 从等待队列移除,设置进程为就绪态;
  • 将 PCB 插入就绪队列,等待被调度;
     

5. 进程状态的切换

  • 将运行环境信息存入 PCB;
  • PCB 移入相应队列;
  • 选择另一个进程执行,并更新其 PCB;
  • 根据 PCB 回复新进程所需的运行环境;

 

六、进程的通信

1. 共享存储

​ 相互通信的进程 互斥地 共享 某些 数据结构存储区,进程之间能够通过这些空间进行通信;

 

2. 消息传递

​ 进程之间的数据交换以 格式化的信息 为单位,将通信的数据封装在信息中,并利用操作系统提供的一组 通信命令(原语),在进程间进行信息传递,完成进程间的数据交换;

  • ① 直接通信方式:送货上门
  • ② 间接通信方式:快递到驿站

3. 管道通信

 

七、进程与线程

在这里插入图片描述

 


2.2 进程调度的概念

一、三层调度

在这里插入图片描述

 

二、进程调度的时机

在这里插入图片描述

 

三、进程调度的方式

在这里插入图片描述

 


2.3 调度算法

1. 先来先服务(FCFS)

  • 按照进程到达的先后顺序;
     

2. 短作业优先(SJF)

  • 服务时间最短的进程优先;
  • 抢占式版本:最短剩余时间优先算法 SRTN;
     

3. 高响应优先(HRRN)

  • 响应比 = (等待时间 + 要求服务时间) / 要求服务时间
     

4. 时间片轮转调度算法(RR)

  • 根据进程到达就绪队列的顺序,轮流调度;
     

5. 优先级调度算法

  • 调度时选择优先级最高的;
     

6. 多级反馈队列调度算法

  • 设置多级就绪队列;
  • 各队列按照 FCFS + 时间片,时间片结束进入下一级队列队尾;
  • 只有第 k 级队列为空时,才会为 k+1 级分配时间片;
算法是否抢占 ?是否饥饿优点缺点对象
FCFS非抢占不会公平、简单对长作业有利,对短作业不利作业/进程
SJF/SPF非抢占对短作业有利,对长作业不利作业/进程
SRTN抢占式对短作业有利,对长作业不利作业/进程
HRRN非抢占不会作业/进程
RR抢占式不会公平、响应快额外开销进程
优先级都有实时、应急饥饿作业/进程
多级反馈队列抢占式进程

 


2.4 同步与互斥

一、临界资源与临界区

​ 一次仅允许一个进程使用的资源称为 临界资源;

​ 对于 临界资源 的访问,必须是 互斥 进行的;每个进程中,访问临界资源的那段代码成为 临界区;

在这里插入图片描述

 

二、进程同步与互斥

​ 进程同步 是 直接制约关系,进程互斥 是 间接制约关系。

​ 并发进程为 完成同一任务 所进行的 工作顺序协调

​ 并发进程为 竞争临界资源 所进行的 资源分时占用

在这里插入图片描述

 


2.5 进程互斥软、硬件实现

一、软件方式实现互斥

在这里插入图片描述

 

二、硬件方式实现互斥

在这里插入图片描述

 


2.6 互斥锁

​ 互斥锁填充采用硬件来实现 获得锁、释放锁的原子性

​ 每个互斥锁有一个布尔变量 available ,表示锁释放可用;
 
特点:

  • 忙等,违反了 让权等待;
  • 等待代价较低;

 


2.7 信号量

1. 信号量机制的概念

  • ① 把系统中的资源抽象化为变量,信号量 记录着 资源数
  • ② 提供一对原语 wait(S) 和 signal(S) 来保证对 信号量S 操作的原子性;

2. 信号量的优点

  • 解决了 让权等待

3. 信号量的分类

  • 整形信号量;
  • 记录型信号量;

 


2.8 管程

管程的组成:

  • 一组共享数据结构;
  • 一组操作过程;
  • 共享数据初始化的语句;
     

管程 很像面向对象中的 ,信号量的 P/V 操作 编写太麻烦了,所以引入 管程机制 ,封装了系统资源以及对应的操作;
 
管程的特点:

  • 管程的数据只能由其过程访问;
  • 任何时刻只允许一个进程进入管程,执行某个过程;
     

应用场景:

  • 用管程解决生产者消费者问题;
  • synchronized 关键字

 


2.9 经典同步问题

一、生产者 - 消费者问题

问题描述:

  • 一组生产者和一组消费者进程,共享一个固定大小的缓冲区;
  • 生产者每次放入一个商品到缓冲区,消费者每次取走一个商品;
     

关键:

  • 生产者不能在缓冲区满时放入商品;
  • 消费者不能在缓冲区空时取走商品;
  • 两个进程需要互斥地访问;

 

二、读者 - 写者问题

问题描述:

  • 读者、写者两组进程,共享一个文件;
  • 可多个同时读;
  • 可单个写 (独占,其它进程不能读,也不能写);
     

关键:

  • 写进程是互斥地访问文件;
  • 需要记录同一时刻读进程的数量;

 

三、哲学家进餐问题

问题描述:

  • 5个哲学家进餐,5跟筷子,每人占用一根筷子,保持并请求其它人手中的筷子,形成死锁。
     

关键:

  • 拿筷子前先进行判断,只能同时拿到两根筷子的时候,才能拿起筷子;

 


2.10 死锁

2.10.1 死锁的相关问题

一、死锁、饥饿、死循环的区别

① 死锁

​ 各进程互相等待对方的资源,导致各进程都阻塞。(资源永远不会释放)

特点:

  • 至少两个或两个以上的进程同时死锁;
  • 处于阻塞态;
     

② 饥饿

​ 长期得不到想要的资源。(资源会释放,但不会被分配)

特点:

  • 一个进程也可能出现饥饿现象;
  • 可能阻塞态 (等 IO),也可能就绪态 (等 CPU);
     

③ 死循环

​ 死锁和饥饿是由资源的不合理分配导致,死循环是由代码逻辑错误导致。

 

二、死锁的必要条件

① 互斥条件

  • 只有对互斥资源的争抢才会导致死锁。

 

② 不可剥夺条件

  • 进程保持的资源只能主动释放,不可强行剥夺。

 

③ 请求和保持条件

  • 保证着某些资源不放的同时,请求别的资源

 

④ 循环等待条件

  • 存在一种进程资源的循环等待链;
  • 循环等待未必死锁,死锁必定循环等待。

 


2.10.2 死锁预防

​ 思路:破坏死锁的四个必要条件 (完全没有死锁的可能)

在这里插入图片描述

 


2.10.3 死锁避免

​ 思路:避免系统进入不安全状态 (有可能死锁,避免陷入死锁)
 
银行家算法 :在资源分配之前,先判断此次分配是否会导致系统进入 不安全状态 ,再决定是否分配资源。

  • 安全状态一定不会发生死锁;
  • 不安全状态可能会发生死锁;

 


2.10.4 死锁的检测和解除

① 死锁检测算法

  • 用于检测系统当前是否发生死锁;
  • 资源分配图:如果最终 不能消除所有边 ,此时就是发生了 死锁
     

② 死锁解除算法

  • 当发生死锁时,将系统从死锁状态中解脱出来;
  • 如何解除:
    • 资源剥夺法;
    • 终止进程法;
    • 进程回退法;

 

第三章 内存管理

3.1 内存管理的相关问题

一、内存管理的任务

​ ① 内存空间的分配与回收

​ ② 内存空间的扩充:从逻辑上对内存空间进行扩充

​ ③ 地址转换:逻辑地址与物理地址的转换

​ ④ 存储保护:保证各进程在各自存储空间内运行,互不干扰。

 

二、三种链接方式

在这里插入图片描述

 

三、三种装入方式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 


3.2 覆盖与交换

一、覆盖

​ 覆盖:分段思想 + 一个固定区 + 若干个覆盖区;

在这里插入图片描述

在这里插入图片描述

 

二、交换技术

内存调度 就是通过 交换技术 实现的;

在这里插入图片描述

 

​ 文件区 - 离散分配方式;
 
​ 对换区 - 连续分配方式;

在这里插入图片描述

 

区别

在这里插入图片描述

 


3.3 连续分配管理方式

连续分配方式 :为一个用户程序分配一个 连续的内存空间

在这里插入图片描述

 

一、单一连续分配

在这里插入图片描述

 

二、固定分区分配

​ 内存分区,每个分区装入一道作业;

在这里插入图片描述

在这里插入图片描述

 

三、动态分区分配

在这里插入图片描述

 

内部碎片 和 外部碎片

在这里插入图片描述

 

四、动态分区分配算法

​ 首次适应算法最简单,但会使得内存的 低地址部分 出现很多小的空闲分区,并且每次分配查找都要经过这些分区,增加开销;

在这里插入图片描述

 

最佳适应算法

在这里插入图片描述

 

最坏适应算法

在这里插入图片描述

 

邻进适应算法

在这里插入图片描述

 

区别

在这里插入图片描述

在这里插入图片描述

 


3.4 基本分页存储管理

​ 固定分区会产生 内部碎片 ,动态分区会产生 外部碎片 ,这两种技术对内存的利用率都比较低;

​ 为了尽量避免碎片的产生,就引入了 分页 的思想;

在这里插入图片描述

 

​ 页表的作用:实现从页号到物理块号的地址映射;
 
​ 注意很关键的一点,进程分成n块,页表对应n个页表项;

在这里插入图片描述

 


3.5 基本分段存储管理

​ 按照程序 自身逻辑关系 划分为 若干个段 ,每段从0开始编制;

​ 程序员用段名来编程,编译程负责序会把段名转换为段号;

在这里插入图片描述

 

​ 段号也可以 隐含 段号;

​ 因为各段的长度不一,所以段表里添加了记录段长的字段;

在这里插入图片描述

 

对比

在这里插入图片描述

 


3.6 段页式管理

1. 分页、分段的优缺点分析

在这里插入图片描述

 

2. 分段 + 分页 = 段页式管理

​ 进程按 逻辑分段,各段按物理分页;

在这里插入图片描述

 


3.7 虚拟内存的基本概念

1. 传统存储管理方式的特征、缺点

  • 一次性
  • 驻留性

在这里插入图片描述

 

2. 虚拟内存的定义和特征

​ 虚拟内存的思想:部分装入 + 请求调入 + 置换功能(对用户透明)–> 虚拟大内存

​ 虚拟内存的特征:

  • 多次性
  • 对换性
  • 虚拟性

在这里插入图片描述

 

3. 如何实现虚拟内存技术

【补充】虚拟内存的实现需要一定的硬件支持:

  • 一定容量的 内存外存
  • 页表机制(或段表机制) ,作为主要的数据结构;
  • 中断机构 ,当用户程序要访问的部分尚未调入内存时,则会产生中断;
  • 地址变换机构 ,逻辑机构到物理地址的变换;
     

​ 虚拟内存的实现(三种方式)

  • 请求分页存储管理
  • 请求分段存储管理
  • 请求段页式存储管理

在这里插入图片描述

 


3.8 虚拟存储器

一、基本概念

虚拟存储器是指具有 请求调入和置换 的功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

 

二、页式虚拟存储器

页式管理是用一个页表,包括页号、每页在主存中的起始位置、装入位等,页表是虚拟页号和物理页号的映射表。
 
页式管理有操作系统进行,对程序员是透明的。

 

三、段式虚拟存储器

系统中通过一个段表指明各段在主存中的位置,段表中包括段名、段起点、装入位和段长等。
 
段表本身也是一个段,段一般是按程序模块分的。

 

四、段页式虚拟存储器

段页式管理是将存储空间按逻辑模块分成段,每段又分成若干个页,访存通过一个段表和若干个页表进行。
 
段的程度必须是页长的整数倍,段的起点必须是某一页的起点。

 


3.9 简述常见的页面置换算法

在这里插入图片描述

 


3.10 页面分配策略、抖动、工作集

 


3.11 内存映射文件

【问】简述内存映射文件的基本原理和优点

内存映射文件技术把进程的虚地址与某一个盘文件关联起来,使用进程对文件的存取转化为对关联存储区域的访问。

  • 方便程序员访问文件数据;
  • 方便多个进程共享同一文件;

 

第四章 文件管理

4.1 文件目录

一、文件控制块 FCB

文件控制块 (FCB) 是用来存放控制文件需要的各种信息的数据结构,以实现 按名存取

  • FCB的有序集合称为 文件目录 ,一个FCB就是一个文件目录项;
  • 为了创建一个新文件,系统将分配一个FCB并存放在文件目录中,称为 目录项
     
    PCB 包含内容:
  • 文件的基本信息 (文件名、物理地址 等);
  • 存取控制信息;
  • 使用信息;

 

二、索引结点

​除了文件名之外的文件描述信息,由 索引结点( i 结点) 保存;

  • 磁盘索引结点 - 在外存;
  • 内存索引结点 - 在内存;
     

文件目录中的目录项由 文件名指向该文件所对应的 i 结点 的指针 构成;

 


4.2 简述文件的逻辑结构

逻辑结构:指的是在用户看来,文件内部的数据应该是如何组织起来。
 
物理结构:指的是在操作系统看来,文件的数据是如何存放到外存中的。

文件的逻辑结构内容特点
顺序结构按顺序依次存放文件记录支持随机存取,增加或删除记录困难
索引结构建立一张索引表,每个记录一个表项索引表占据一定的存储空间
索引顺序结构将记录分组,每组对应一个索引表项
先顺序查找索引表,在顺序查找分组

 


4.3 简述文件的物理结构

文件的物理结构,主要指对非空闲磁盘块的管理,即文件是如何存为到外存的;

文件的物理结构内容优点缺点
连续分配方式每个文件在磁盘上占用一组连续的块支持顺序访问和随机访问
顺序访问时速度最快
不方便拓展,空间利用率低
会产生磁盘碎片
链接分配方式为文件分配离散的磁盘块
通过链接或者文件分配表实现
方便拓展,不会有碎片问题
空间利用率高
需要额外的辅助空间,
存放链接分配所需的数据结构
索引分配每个文件建立一张索引表,
记录逻辑块到物理块的映射关系
支持随机访问
易于文件的拓展
索引表占用一定的存储空间

 


4.4 简述文件的基本操作

1. 创建文件 - create系统调用

  • 在外存中找到文件所需的空闲空间;
  • 在对应路径下的目录文件中,创建该文件对应的目录项;
     

2. 删除文件 - delete系统调用-

  • 从目录文件中,找到对应的目录项;
  • 根据目录项中的信息,回收文件占用的磁盘空间;
  • 删除该目录项;
     

3. 打开文件 - open系统调用

  • 从目录文件中,找到对应的目录项;
  • 将目录项复制到内存中的 打开文件表 ,并将对应表目的编号返回给用户;
  • 用户通过编号来操作文件;
     

4. 关闭文件 - close系统调用

  • 删除进程的 打开文件表 的对应表项;
  • 回收对应的内存空间;
  • 系统 打开文件表 的计数器减一;
     

5. 读文件 - read系统调用

  • 指明文件名和要读文件块的位置;
  • 将读指针指向的外存,读入内存;
     

6. 写文件 - write系统调用

  • 指明文件名和要写的内容;
  • 将指定数据写入写指针指向的外存;

 


4.5 简述文件共享的两种方式

1. 硬链接

  • 硬链接是基于 索引结点 的共享方式;
  • 文件目录项只需要包含 文件名、索引结点指针
  • 索引结点中设置一个 连接计数变量 (值为0时才删除文件);
     

2. 软链接

  • 软链接是基于 符号链 的共享方式;
  • 类似于 Windows 中的 快捷方式 ,Link 型文件存放共享文件的路径;

 

比较

访问速度能否对目录进行链接能否跨文件系统
硬链接较快××
软链接较慢 (查询多级目录,多次IO)

 


4.6 文件保护

在这里插入图片描述

 


4.7 简述文件系统的层次结构

文件系统的层次结构功能
用户接口为文件的基础操作提供系统调用接口
文件目录系统文件目录的管理
存取控制模块文件保护
逻辑文件系统文件的逻辑结构,将文件记录号转为对应逻辑地址
物理文件系统文件的物理结构,将逻辑地址转为物理地址
设备管理模块磁盘管理、设备管理
辅助分配模块文件存储空间的管理,分配和回收

 


4.8 简述文件存储空间的管理方法

指的是对外存空闲磁盘块的管理

外存空闲空间管理方法内容特点
空闲表法设置一个空闲盘块表适用于连续分配
空闲链表法链接方式连接空闲块适用于离散分配
位示图法使用位示图记录空闲块连续、离散分配都适应
成组链接法设置超级块,记录空闲块的指针位置适应于大型文件系统

 

第五章 输入输出管理

5.1 简述IO设备管理的功能

一、缓冲管理

  • 为缓解 CPU 和 IO设备速度不匹配的矛盾,操作系统提供设置缓冲区的方法来进行处理。
     

二、设备分配

  • 根据用户的 IO请求,分配、回收相应的设备。
     

三、设备处理

  • 设备处理程序又称设备驱动程序。实现 CPU 和设备控制器之间的通信。
     

四、设备独立性和虚拟设备

  • 用户向系统申请和使用的设备与实际操作的设备无关。

 


5.2 简述I/O控制方式及其特点

IO 控制方式内容数据传输单位优点缺点
程序直接查询方式在等待I/O时,CPU需要不断轮询检查I/O状态信息实现简单CPU利用率低
长期处于忙等状态
中断驱动方式在等待I/O时,CPU可以切换到别的进程执行。
IO完成后设备控制器会发出中断信号
CPU与IO设备并行,提高效率频繁中断处理消耗CPU时间
DMA方式在等待I/O时,CPU可以切换到别的进程执行。
IO完成后DMA控制器发出中断信号
连续块进一步提高CPU与IO设备的并行性无法读取离散的块
通道控制方式在等待I/O时,CPU可以切换到别的进程执行。
通道执行对应的通道程序,完成后向CPU发出重点信号
一组块CPU、通道、IO设备并行,利用率高实现复杂,需要专门硬件支持

 


5.3 简述 IO 软件层次结构

IO 软件层次结构任务主要功能
用户层软件实现了与用户交互的接口
向上提供库函数方便对设备进行操作
Spooling 假脱机技术
设备独立性软件向上提供统一的系统调用接口
建立逻辑设备名到物理设备名的映射
IO调度、设备保护
设备分配与回收、缓冲区管理
设备驱动程序设置设备寄存器、检查设备状态
中断处理程序进行中断处理
硬件

 

【补充】简述设备的独立性及其优点

答:

设备独立性 是指用户在编程序时使用的设备与实际设备无关,即在用户程序中只需指明IO使用的设备类型即可;
 
​ 设备独立性有以下优点:

  • 方便用户编程;
  • 使程序运行不受具体机器环境的限制;
  • 便于程序移植。

 


5.4 简述 Spooling 技术及其特点

Spooling 技术 :将独占式的物理设备虚拟为共享的逻辑设备。由三部分组成:

  • 输入 (出) 井:在磁盘上开辟,输入井暂存IO设备输入数据,输出井暂存用户的输出数据。
  • 输入 ( 出) 缓冲区:在内存开辟,输入缓冲区暂存来自输入设备的数据,之后送给输入井;输出缓冲区暂存来自输出井的数据,之后送给输出设备。
  • 输入进程和输出进程:模拟脱机I/O时的外围控制机。
     

特点:

  • 提高了 IO 速度;
  • 将独占式设备改造为共享设备
  • 实现了虚拟设备功能;

 


5.5 简述磁盘调度算法目的以及常见的磁盘调度算法

磁盘调度算法 ,目标是减少 移动磁头所花的时间。
 
一次磁盘读/写操作需要的时间包括:

  • 寻道时间 TS ,找磁道
  • 延迟时间 TR ,找扇区
  • 传输时间 Tt ,传数据

 

一、先来先服务算法 FCFS

​ 根据进程请求访问磁盘的先后顺序进行调度。

优点:

  • 公平;
  • 当访问的磁道较集中,性能适中;

缺点:

  • 当访问的磁道较分散,会消耗较长的寻道时间。

 

二、最短寻找时间优先 SSTF

​ 优先处理与当前磁头最近的磁道。

优点:

  • 性能较好,平均寻道时间较短;

缺点:

  • 可能产生 饥饿 现象;

 

三、扫描算法 SCAN

​ 电梯算法:磁头移动到最外侧才往内移动,移动到最内侧才往外移动。

优点:

  • 性能较好,平均寻道时间较短;
  • 不会产生 饥饿 现象;

缺点:

  • ① 只有移动到最边才能改变磁头移动方向;
  • ② 对各磁道的响应频率不平均;

 

四、变移动变观察 LOOK

​ 当磁头移动方向上已经没有别的请求,立马改变磁头移动方向 (解决 SCAN 的缺点一)

 

五、C-SCAN

​ 磁头遇到最边的磁道请求时,立马返回到另一边的最边磁道 (解决 SCAN 的缺点一 + 缺点二)

 


5.6 磁盘管理

【问】简述磁盘初始化的步骤

Step 1:进行物理格式化,将磁盘的各个磁道划分为扇区。
 
Step 2:将磁盘分区,每个分区由若干个柱面组成。
 
Step 3:进行逻辑格式化,常见文件系统。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐