操作系统期末白给复习

白给目录总览

    • 第一章 操作系统概述
      • 计算机系统概述
      • 操作系统的定义
      • 多道程序设计的概念和目的
      • 操作系统的分类及其特点
      • 操作系统的作用、功能、特性
    • 第二章 操作系统的运行环境
      • 了解系统的硬件环境
      • 绝对地址、相对地址和逻辑地址空间
      • 掌握重定位及相关概念
      • 了解系统和用户的接口
    • 第三章 进程管理
      • 引入进程的目的
      • 进程的定义和特点
      • 进程和程序的区别
      • 进程的状态及其变化
      • 进程的物理特性及存在标志
      • 掌握进程的队列组织
      • 掌握进程的创建和撤消原语,了解进程控制的其它原语
    • 第四章 多线程
      • 线程定义
      • 线程的性质
      • 进程和线程的关系
    • 第五章 互斥与同步
      • 多道程序系统的三大特征
      • 同步、互斥概念
      • 临界资源、临界段概念
      • 临界段使用原则
      • 信号量S定义
      • 信号量S与P、V操作的物理含义
      • PV操作解决生产者消费者问题
      • Linux系统进程之间几种主要通信方式
    • 第六章 死锁
      • 死锁定义和产生根本原因
      • 死锁的含义及四个必要条件
      • 死锁的预防方法(2种)
      • 死锁的避免:银行家算法
      • 死锁检测与恢复(资源分配图化简判断系统是否存在死锁)
    • 第七章 实存储器管理技术
      • 主存管理的主要功能
      • 固定分区概念和碎片问题
      • 可变分区概念、数据基组织形式
      • 可变分区管理算法(4种)
      • 基于动态重定位的可变分区分配算法
      • 简单分页(页表结构、地址转化)
      • 简单分段(和分页的区别)
      • 碎片问题(内部碎片、外部碎片、表格碎片)
    • 第八章 虚拟存储管理
      • 程序的局部性原理及其主要内容?
      • 虚存思想及虚存容量问题
      • 虚拟分页(页表、快表的作用和区别)
      • 页面淘汰算法(4种、异常现象)
      • 请求式分页系统中直接映象地址转换存在的问题及解决办法
      • 分段思想
      • 段页式技术
      • 主存利用率不高的表现形式及解决办法?
    • 第九章 设备管理
      • 设备管理技术(4种)
      • 设备分类
      • 简述I/O子系统的层次结构及各层的主要功能
      • 独立于设备的软件层、设备驱动程序的功能
      • 磁盘系统分类
      • 磁盘查找算法
      • 磁盘完成一次读写操作的时间分为哪几部分?
      • 虚拟设备
    • 第十章 文件系统
      • 文件和文件系统定义
      • 文件逻辑组织
      • 文件的物理组织方式
      • 树型式目录
      • 分体式目录
      • 磁盘空间管理机构
    • 处理机的调度(补充)
      • 调度的三个层次
      • 作业调度程序的主要功能
      • 引起进程调度的事件(原因)
      • 掌握常用的调度算法,并能计算平均周转时间及带权周转时间
    • 综合计算题
      • 分页系统的地址转换
      • 置换算法、缺页率计算
      • 死锁避免---银行家算法
      • 信息量机制解决进程间的互斥和同步
      • 磁盘调度算法
      • 调度算法计算平均周转时间
      • 结合所学的专业谈谈操作系统的作用、功能、特点等的理解。

第一章 操作系统概述

计算机系统概述

组成:计算机系统由计算机的硬件部分和计算机的软件部分组成。冯诺依曼结构:由输入设备,输出设备,运算器,控制器和存储器5部分组成。

通道实际上是一个专用的输入输出(I/O处理器)

软件系统,分为两类,即系统软件和应用软件。

操作系统的定义

定义: 操作系统是一种系统软件,是控制和管理系统资源,方便用户使用计算机程序的集合。

多道程序设计的概念和目的

定义: 把一个以上的作业放入主存中,并且同时处于运行状态。
目的:提高CPU的利用率,充分发挥并行性。

操作系统的分类及其特点

根据cpu时间的分配给进程方式的不同,分为:

  1. 批处理操作系统,其特点是资源利用率高,系统吞吐量大。
  2. 分时操作系统,其特点是强交互性和及时性。具有的特征有多路性,交互性,独占性,及时性。
  3. 实时操作系统,其特点是高可靠性和高及时性

操作系统的作用、功能、特性

作用:

  1. 管理系统资源(中央处理器,主存储器,输入输出设备和数据文件)。
  2. 使用户能安全方便地共享系统资源,并对资源使用进行合理调度。
  3. 提供输入输出的遍利,简化用户的输入输出工作。
  4. 规定用户接口,发现并处理各种错误。

功能:

  1. 控制和管理系统资源
  2. 方便用户使用计算机

特点: 并发性共享性,虚拟性,异步性。(并发和共享为基本特点)

第二章 操作系统的运行环境

了解系统的硬件环境

绝对地址、相对地址和逻辑地址空间

绝对地址:存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址。
相对地址:相对于某个基准量编址时所使用的地址。
逻辑地址空间:一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。

掌握重定位及相关概念

定义:将程序中的相对地址转换为绝对地址。
两种方法:

  1. 静态重定位,在逻辑地址转换为物理地址的过程中,地址变换是在进程装入时一次完成的,以后不再改变。
  2. 动态重定位,重定位不是在程序装入过程中进行的,而是在处理机每次访问主存时,由动态地址变换机构(寄存器硬件)自动把相对地址转换为绝对地址。

了解系统和用户的接口

第三章 进程管理

引入进程的目的

引入进程是为了使内存中的多道程序能够正确地并发执行。

进程的定义和特点

定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
特点

  1. 并行性
  2. 制约性
  3. 动态性

进程和程序的区别

  1. 进程属于动态概念,程序属于静态概念。
  2. 进程的存在是暂时的,程序的存在是永久的。
  3. 进程是程序的执行,由程序、数据和进程控制块(PCB)组成。
  4. 一个程序可能对应多个进程。
  5. 一个进程可以包含多个程序。

进程的状态及其变化

状态:

  1. 运行状态(Running),一个进程正在处理器上运行时的状态。
  2. 就绪状态(Ready),一个进程获得除处理器外的一切所需资源,一旦得到处理器即可运行。
  3. 等待状态(也称阻塞状态,Blocked),一个进程正在等待某一事件发生而暂时停止运行。
  4. 新建状态(New),一个进程正在被创建。
  5. 结束状态(Exit),一个进程正在从系统中消失的状态,即进程结束或者其他原因所导致。

变化:

  1. 就绪-运行,就绪状态的进程被进程调度程序选中后,分配到处理器中运行,于是进程状态由就绪转为运行。
  2. 运行-阻塞,运行状态的进程在运行过程中等待某一事件发生后,才能继续运行,于是进程由运行转为阻塞。
  3. 运行-就绪,运行状态的进程在运行过程中,因分配给它的处理器时间量(时间片)用完不得已让出处理器,于是进程由运行转为就绪。
  4. 阻塞-就绪,阻塞状态的进程,若其等待的事件以及发生,进程由阻塞转为就绪。
  5. 创建-就绪,进程初创建始化后,一切就绪,准备运行时转变为就绪状态。

具体如下图所示:
操作系统期末白给复习_第1张图片

进程的物理特性及存在标志

进程的特性:

  1. 动态性
  2. 并发性
  3. 独立性
  4. 异步性

进程控制块(PCB) 是进程存在的具体的物理标志和体现。

掌握进程的队列组织

系统按进程优先级数设立几个就绪进程队列,同一优先级进程在同一队列中。系统首先取最高优先级的队列队首进程占用处理机,当时间片到来时往往重新计算优先级再将进程放回相应就绪队列中。当要等待时间时,将其挂到相应的事件等待队列中。如果某个事件发生,系统从相应等待队列中选取队首进程,并重新计算优先级,挂到就绪队列中。

掌握进程的创建和撤消原语,了解进程控制的其它原语

挂起命令:由进程自己或其它进程发出。
解挂命令:只能由其它进程发出。

第四章 多线程

线程定义

定义: 线程是进程内的一个相对独立的、可调度的执行单元。

线程的性质

性质:

  1. 线程是进程内一个相对独立的可执行单元
  2. 线程是操作系统中的基本调度单元
  3. 线程是被调度的基本单元,而进程不是调度的单元
  4. 线程可以创建其他线程。
  5. 进程是被分配并拥有资源的基本单元,同一进程内的多个线程共享该进程的资源。但线程并不拥有资源,只是使用它们。
  6. 由于共享资源(包括数据和文件),所以线程间需要通信和同步机制
  7. 线程有生命周期,在生命期中有状态的变化。

进程和线程的关系

每个进程都有相应的线程,在执行程序时,实际上是执行相应的一系列线程。进程是资源分配的最小单位,线程是程序执行的最小单位。

第五章 互斥与同步

多道程序系统的三大特征

  1. 多道:计算机主存中同时存放几道相互独立的程序。
  2. 宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们都开始运行,但是都未运行完毕。
  3. 微观上串行:从微观上看,主存中的多道程序轮流或分时地占有处理机,交替运行。

同步、互斥概念

同步,是进程间的直接制约关系,是指多个进程间互相通信、互相等待,其运行必须严格按照规定的先后次序来运行。
异步 ,是进程间的间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。
同步是一种更为复杂的互斥,而互斥是一种特殊的同步。也就是说互斥是两个任务之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!因此互斥具有唯一性和排它性,但互斥并不限制任务的运行顺序,即任务是无序的,而同步的任务之间则有顺序关系。

临界资源、临界段概念

临界资源: 一次仅允许一个进程使用的共享资源。
临界段: 进程中访问共享变量的代码段。

临界段使用原则

  1. 在共享同一个临界资源的所有进程中,每次只允许一个进程处于它的临界区中。
  2. 若有多个进程同时要求进入临界区,则应在有限的时间内让其中一个进入临界区,而不应该相互阻塞,以至于各进程都进不去临界区。
  3. 进程只能在临界区内逗留有限的时间。
  4. 要进入临界区的进程不应无期限地等待在临界区外。
  5. 临界区外运行的进程不可以阻止其他进程进入临界区。
  6. 解决临界区问题时,不要假定进程执行的相对速度以及可用的处理器数目。

信号量S定义

一个信号量被定义为一个整型变量,具有以下三个操作:

  1. 可以被初始化为一个非负数。
  2. wait操作(也称P操作),用来申请资源。信号量值减1后,若该值为负,则执行wait操作的进程要进行等待。
  3. signal操作(也称V操作),用来释放资源。信号量值加1后,若该值为非正,则执行signal操作的进程唤醒等待进程(唤醒动作只用于阻塞等待情况)。

信号量S与P、V操作的物理含义

信号量S表示某类可用的临界资源。对于不同的临界资源,则用不同的信号量表示。
当S.val>0时 ,S值表示某类资源的可用资源数,即该类资源可以分配。

当S.val<0时 ,S的绝对值表示在该信号量上等待的进程数,即该类资源没有可分配的资源数量,因此请求的进程将被阻塞在相应的信号量S的等待队列中。

每执行一次P操作,意味着请求的进程分配到一个资源;每执行一次V操作,意味着请求的进程释放一个资源。

PV操作解决生产者消费者问题

Linux系统进程之间几种主要通信方式

  1. 管道
  2. 消息
  3. 共享主存
  4. 信号量
  5. 信号或称软中断

第六章 死锁

死锁定义和产生根本原因

定义: 系统中的一组进程,由于竞争系统资源或由于彼此通信而永远阻塞,我们称这些进程处于死锁状态。
根本原因: 进程推进顺序不当或资源分配不妥而造成的。

死锁的含义及四个必要条件

四个必要条件:

  1. 互斥条件
  2. 不可抢占条件
  3. 请求又保持条件
  4. 循环等待条件

若其中1个条件不满足,则死锁无效。

死锁的预防方法(2种)

  1. 预先静态分配法。
  2. 有序资源使用法。

死锁的避免:银行家算法

安全序列: 某一时刻,系统能按某种进程顺序,如{p1,p2…pn},为每个进程分配其所需的资源,直至最大需求,使得每个进程均可顺利完成,则称此事系统的状态为安全状态,称这样一个进程序列为安全序列。
注意:

  1. 系统在某一时刻的安全状态可能不唯一,但这不影响对系统安全性的判断。
  2. 安全状态是非死锁状态,而不安全状态并不一定是死锁状态。即系统处于安全状态一定可以避免死锁,而系统处于不安全状态则仅仅可能进入死锁状态。

例:
操作系统期末白给复习_第2张图片

死锁检测与恢复(资源分配图化简判断系统是否存在死锁)

  1. 在资源分配图中,找出一个既非等待又非孤立的进程节点 P i P_i Pi,由于 P i P_i Pi可获得它所需要的全部资源,最终运行结束完毕,释放所有它占有的全部资源,故可消去 P i P_i Pi所有的申请边和分配边,使之成为孤立节点。
  2. P i P_i Pi所释放的资源分配给申请它们的进程,即再资源分配图中将这些进程对资源的申请边改为分配边。
  3. 重复 (1),(2)两步,直到找不到符合条件的进程节点。

经过简化后,若能消去资源分配图中的所有边,使所有进程都成为孤立节点,则称该图是可完全化简的,否则称为不可完全化简图。
例如:
操作系统期末白给复习_第3张图片

首先a图,R1资源无空闲资源,R2资源还有1个空闲资源。P1进程占用2个R1资源,还需要请求一个R2资源,而P2进程占用1个R1资源和1个R2资源,还需要请求一个R1资源。
然后b图,因为R1已无空闲资源,因此P2进程等待。而R2还存在空闲资源,刚好能满足P1的请求,因此消去P1进程,使其成为孤立点。那么释放了2个R1资源。
最后c图,同理消去P2进程,最终所有点都成为了孤立点,则该图是可完全化简图。不存在死锁的情况。

第七章 实存储器管理技术

主存管理的主要功能

  1. 主存分配
  2. 地址转换和重定位
  3. 存储保护和主存共享
  4. 存储扩充
  5. 提高主存利用率

固定分区概念和碎片问题

概念: 把主存分成若干个固定大小的存储区(又称存储块)。
优势: 实现简单,只需要极少的操作系统开销,无外部碎片。
缺点: 有内部碎片,主存利用率不高。

碎片问题: 存在于已分配的分区之间的一些不能充分利用的空白区。

可变分区概念、数据基组织形式

概念: 在进程进入主存时,按进程的大小建立分区,分给进程使用。
存在外部碎片,没有内部碎片。
组织形式:

  1. 存储分块表
  2. 分开设置两个存储管理表
  3. 空闲存储块链
  4. 位图法

可变分区管理算法(4种)

  1. 首次适应算法(First Fit: FF):将空白区按存贮顺序链成一个队列,用一指针指向队首分配时将找到的第一个满足要求的空白区分配给它。

  2. 循环首次适应(Next fit: NF):将空白区组成环状队列,按循环顺序寻找空白区。(与FF区别,头指针从低地址开始向高地址循环移动)。

  3. 最佳适应算法(Best fit: BF):将空白区按大小排成队列,寻找时总是以最小的空白区开始,找到第一个合适的分区。

  4. 最坏适应算法(Worst fit: WF):挑选最大的且大于或等于作业大小的分区分给要求的进程。

基于动态重定位的可变分区分配算法

简单分页(页表结构、地址转化)

地址空间分成大小相同的部分——页
存贮空间分成大小相同的部分——块(页架)
页大小=块大小
逻辑地址的表示(p, d)
P = INT [A/L];d = A mod L
其中A:虚地址 L:页大小 P:页号 d:页内位移

简单分段(和分页的区别)

(1) 页:作业空间单位,大小固定,用存贮器的物理划分实现一级存贮。
段:大小不定,逻辑的信息单位,实现地址空间的逻辑划分。
(2)分页:用户不关心(由机器结构决定)
分段:用户或编辑程序确定(段的最大长度由W字段的位数决定)
(3)页:单一连续空间。
段:二维空间(不同各段,段号,段内位移)
(4)页:单段式
段:多段

碎片问题(内部碎片、外部碎片、表格碎片)

外部碎片:指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。 外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
多道可变连续分配只有外部碎片。

内部碎片:已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间; 内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
单道连续分配只有内部碎片。
多道固定连续分配既有内部碎片,又有外部碎片。

表格碎片:实际上不是碎片,是一种当分页的页面过大时的系统开销。

第八章 虚拟存储管理

程序的局部性原理及其主要内容?

原理: 进程对主存的访问远不是均匀的,而是表现出高度的局部性。
主要内容:

  1. 时间局部性:某个位置最近被访问了,那么往往很快又要被再次访问。
  2. 空间局部性:一旦某个位置最近被访问了,那么它附近的位置就也要被访问了。

虚存思想及虚存容量问题

虚拟分页(页表、快表的作用和区别)

页表定义: 一种特殊的数据结构,记录着页面和页框的对应关系。
页表作用: 内存非连续分区分配的基础,实现从逻辑地址转化为物理地址。

快表定义: 将一部分常用页表表目放入一个具有并行查询能力的高速缓冲存储器中去。
快表作用: 提高地址转换速度。

页面淘汰算法(4种、异常现象)

异常现象:

  1. 边界错误
  2. 有效性错误
  3. 保护错误

最常用4种置换算法:

  1. 最佳置换算法(OPT):从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。
  2. 最近未使用算法(NUR,也称CLCOK算法):每页设置一个访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列;当某个页面被访问时,其访问位置1。淘汰时,检查其访问位,如果是0,就换出;若为1,则重新将它置0;再按FIFO算法检查下一个页面,到队列中的最后一个页面时,若其访问位仍为1,则再返回到队首再去检查第一个页面。
  3. 先进先出算法(FIFO):当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大。
  4. 最近最少使用算法(LRU):当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。

请求式分页系统中直接映象地址转换存在的问题及解决办法

  1. 如果进程占的空间很大,那么页表可能会非常大。——多级页表
  2. 地址映射由于需要两次读取内存而使速度降低。——快表

分段思想

以段为单位,每一段分配一块连续的主存分区,一个进程的各段所分到的主存分区不要求是相邻连续的分区。

段页式技术

主存利用率不高的表现形式及解决办法?

  1. 页面庞大造成系统开销过大,形成表格碎片:利用多级页表

  2. 显示碎片:分为内部碎片和外部碎片,可用分页管理缓解

  3. 隐式碎片:利用虚存管理

第九章 设备管理

设备管理技术(4种)

  1. 编程I/O方式-程序直接控制(忙等待问题)
  2. 中断控制I/O方式
  3. 直接存储访问(DMA)
  4. 通道方式

设备分类

按照传输单位分为两类:

  1. 块设备
  2. 字符设备

简述I/O子系统的层次结构及各层的主要功能

  1. 独立于设备的软件层:为用户提供一个对所有设备都一致的接口。
  2. 设备驱动接口层:主要存放所控制管理的设备驱动程序和访问控制软件,它接收上一层的请求,并将上层的逻辑I/O的调用转换为对具体设备驱动程序的调用。
  3. 设备驱动程序层:具体负责与设备的所有交互操作。
  4. 设备(硬件)层:I/O设备,实现真正的输入输出。

独立于设备的软件层、设备驱动程序的功能

独立于设备的软件层:为用户程序提供一个对所有设备都一致的接口。设备命名。设备保护。提供与设备无关的块尺寸。缓冲技术。块设备的存储分配。独占设备的分配与释放。报告错误信息。

设备驱动程序层: 具体负责与设备的所有交互操作。

磁盘系统分类

两种基本类型:

  1. 固定头磁盘
  2. 移动头磁盘

磁盘查找算法

常用3种磁盘查找算法:

  1. 先来先服务(FCFS),进程按先来后到顺序访问。优点:访问请求不很多时可接受,且算法较简单、较公平。缺点:(1)访问请求均匀分布整个盘面,而不具有某种集中倾向时,导致随机访问模式——无法对访问优化!(2)访问请求较多时,降低了设备服务的吞吐量,增加了响应时间;(3)响应时间变化幅度较小!
  2. 最短查找时间(SSTF),选择队列中柱面号最接近磁头当前所在的柱面的访问要求,作为下一个服务对象。优点:较好的吞吐量(比FCFS),较低的平均响应时间。缺点:(1)对用户请求的响应机会不均等:对中间磁道的访问请求得到最好的服务,对内、外两侧磁道的服务随偏离中心磁道的距离而越远越差(2)响应时间变化幅度很大:服务请求很多时可能造成对内,外边缘磁道的请求将会无限期地被迟延。
  3. 扫描策略(SCAN),也称电梯算法,按磁臂前进方向最近于磁头当前所在柱面的访问请求作为下一个服务对象,直到没有更内侧的服务请求,磁臂改变移动方向。优点:吞吐量比较大,平均响应时间较小。缺点:两侧磁道访问频率仍低于中间磁道——响应时间变化幅度仍有不同,但优于SSTF。

磁盘完成一次读写操作的时间分为哪几部分?

3部分组成:

  1. 寻道时间
  2. 旋转延迟时间
  3. 数据传送时间

虚拟设备

人们常用共享设备来模拟独占设备的动作,使独占型设备成为共享设备,从而提高设备利用率和系统效率,这种技术被称为虚拟设备技术,实现这一技术的硬件和软件系统被称为SPOOLing系统,或称假脱机系统。

第十章 文件系统

文件和文件系统定义

文件:具有符号名的数据项的集合。
文件系统:负责存取和管理辅助存储器上文件信息的机构。

文件逻辑组织

  1. 无结构的流式文件:相关的有序字符的集合。文件的长度即为所含字符数,流式文件不分成记录,而是直接由字符流组成。
  2. 有结构的记录式文件:这种文件在逻辑上是被看成一组连续顺序的记录的集合。每个记录由彼此相关的域构成,以逻辑记录为单位进行存取,是有结构的。

文件的物理组织方式

  1. 顺序结构:一个逻辑文件的信息依次存于若干连续的物理块中。

  2. 串联结构(或链接结构):一个逻辑文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理。

  3. 索引结构:一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构–索引表,并将这些块的块号存放在一个索引表中。

树型式目录

按层次分:一级目录、二级目录、多级目录(树型目录结构)
多级目录:系统中有一个根目录(或根目录文件),在这个目录中可登记一般文件,也可以登记目录文件,在每个目录文件中可以登记一般文件,也可以登记目录文件。

分体式目录

特点:目录中只包含文件名和一个指向文件属性的指针。
优点:查找目录时命中率高;查找速度快。

磁盘空间管理机构

  1. 连续分配:文件被存放在辅存的连续存储区中。优点:查找速度快,简单;缺点:文件长度不能动态增长和收缩(事先要知道文件长度)碎片问题。(外部碎片和内部碎片均存在)

  2. 链接分配:非连续分配辅存空间。优点:解决了碎片问题(外部碎片)。缺点:查找时间长;链接开销大。

  3. 索引分配:系统在文件分配表FAT中为每一个文件分配一个表目,指出该文件的索引表所在物理块。

  4. 小FAT表(i节点):每个文件有一个i节点。i节点中包含文件属性和一张该文件自身的FAT表。

处理机的调度(补充)

调度的三个层次

  1. 低级调度,又称进程调度,其主要功能是按照某种原则将处理机分配给就绪进程。执行低级调度功能的程序称为进程调度程序,由它实现处理机在进程间的转换。它必须常驻主存,是操作系统内核的主要部分。
  2. 中级调度,又称内存调度,它决定哪些进程被允许参与竞争处理机资源。中级调度主要只是起到短期调整系统负荷的作用,以平顺系统的操作。其所使用的方法是通过“挂起” 和“解除挂起” 一些进程,来达到平顺系统操作的目的。
  3. 高级调度,又称作业调度,其主要功能是按照某种原则从磁盘某些盘区的作业队列中选取作业进入主存,并为作业做好运行前的准备工作和作业完成后的善后工作。

作业调度程序的主要功能

具体:根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。

简略:根据系统内所有资源的使用情况, 按照某种调度算法选择一个后备作业进入系统, 并为其创造一个进程,为选中的作业分配资源,作好作业执行前的准备。

引起进程调度的事件(原因)

  1. 当某个事件发生时,导致CPU处于空闲状态。
  2. 当某个事件发生时,就绪队列有变化。(按可抢占的优先级调度)

掌握常用的调度算法,并能计算平均周转时间及带权周转时间

调度算法目标:

  1. 在单位时间内运行尽可能多的作业。——选择短作业(吞吐量)
  2. 使处理机保持忙碌的状态。——优先选择CPU型进程
  3. 使 I / O 设备得以充分利用。——优先选择I/O型进程
  4. 对所有作业公平合理。 ——FCFS 对所有进程公平

6种常用调度算法:
(1) FCFS(first come first service) 先来先服务,最简单的调度方法。其基本原则是按照作业到达系统或进程进入就绪队列的先后次序来选择。FCFS 策略是属于不可抢占策略。
(2) HPF (Highest Priority First)优先级调度算法,即按照进程的优先级大小来调度,使高优先级进程得到优先的处理的高度策略。优先级调度方法又可分为:

  1. 非抢占的优先级调度法:即一旦某个高优先级的进程占有了处理机,就一直运行下去,直到由于其自身的原因而主动让出处理机时(任务完成或等待事件)才让另一高优先级进程运行。
  2. 可抢占的优先级调度法:任何时刻都严格按照高优先级进程在处理机上运行的原则进行进程的调度

(3)轮转法 (Round Robin),最简单又最公平的进程调度算法,因此也是使用得最多的算法之一。(分时系统)
(4) SJF最短作业优先的调度算法,要求运行时间最短的作业作为下一次服务的对象。
(5) SRTF最短剩余时间优先调度算法,是把最短作业优称算法使用于分时环境中的变型,其基本思想是让运行到作业完成时所需的运行时间最短的进程优先得到处理,其中包括新进入系统的进程。
(6) 响应比高者优先(HRN)算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。其响应比=作业周转时间/作业处理时间。

总结:

  1. FCFS,SJF,HRRN三种算法主要关心对用户的公平性、平均周转时间、平均等待时间等评价系统整体性能的指标,并不关心相应时间,也不区分任务的紧急程度,交互性糟糕。因此,这三种方式适用于早期的批处理系统。
  2. 时间片轮转调度算法(RR),优先级调度算法,多级反馈队列调度算法注重响应时间,公平性等,因此,这三种算法适用于交互式系统。

如何计算平均周转时间及带权周转时间:

  1. 周转时间:作业到达后到作业完成的时间
    两种计算周转时间的方式:
    a. 周转时间=完成时间-提交时间
    b. 周转时间=执行时间+等待时间
    平均周转时间 : (作业周转时间之和) / 作业数。
  2. 带权周转时间:作业的周转时间和运行时间的比值。其值说明作业从一开始到执行完毕的相对等待时间。
    因为周转时间=执行时间+等待时间,所以:
    带权周转时间 = (执行时间+等待时间) / 执行时间 = 1+(等待时间)/执行时间。
    平均带权周转时间 : (作业带权周转时间之和) / 作业数。
    操作系统期末白给复习_第4张图片

综合计算题

分页系统的地址转换

置换算法、缺页率计算

死锁避免—银行家算法

信息量机制解决进程间的互斥和同步

磁盘调度算法

调度算法计算平均周转时间

结合所学的专业谈谈操作系统的作用、功能、特点等的理解。

你可能感兴趣的:(操作系统)