操作系统期末复习重点整理

目录

操作系统的特征

并发性

共享性

(并发和共享互为存在条件)

虚拟性

不确定性

进程的基本状态

运行状态

就绪状态

阻塞状态

创建状态

退出状态

临界资源与临界区

进程互斥的实验报告

临界资源

临界区

信号量和信号量的意义

信号量

信号量的意义

互斥实现的软件方法(低端算法)

单标志算法

双标志、先检查算法

双标志、先修改后检查算法

先修改、后检查、后检查者等待算法

信号量

通道

调度类型

高级调度(作业调度)

按照某种算法,从后备队列中选择一个作业,将其调入内存,并为其创建进程

外存—>内存(面向作业)

中级调度(内存调度)

按照某种算法,从挂起队列中选择一个进程,将其数据调回内存

外存—>内存(面向进程)

发生频率中等

低级调度(进程调度)

调度算法

先来先服务~

短作业优先~

时间片轮转~

优先权~

静态优先权

动态优先权

多级反馈队列~

死锁

死锁的预防

互斥

请求与保持

不可剥夺

环路

死锁的避免

安全状态

死锁的解除

重定位

作用

静态重定位

动态重定位

三种存储管理技术

请求页式存储管理的调入策略

何时调入

何处调入

I/O控制方法

程序直接控制方式

中断控制方式

DMA控制方式

通道控制方式

如何实现设备的独立性

缓冲的类型

单缓冲

双缓冲

循环缓冲

缓冲池

文件结构

树形目录

大题部分


内容仅供参考

  • 操作系统的特征

并发性

两个及其以上的事物在同一时间间隔发生。

(宏观上)多个程序同时向前推进

(微观上)程序之间交替执行

共享性

计算机的各种硬件资源供在其上运行的程序共同使用。

(并发和共享互为存在条件)

虚拟性

通过某种技术手段把一个物理实体变成多个逻辑上的对应物。

(虚拟性主要通过分时使用的方式实现的)

不确定性

操作系统的运行是在一个不确定的环境中进行的。

  • 进程的基本状态

  • 9cb09f9764114dcca6d236f9cd53acea.png

什么时候发生状态的转换,状态变迁的原因

运行状态

进程正在处理机上运行的状态。

就绪状态

进程已经获得了除了处理机之外的所有必要资源,只要获得处理机久可以运行的状态。

阻塞状态

进程由于等待输入输出操作或某个同步事件而暂停运行。

创建状态

进程还在创建过程中,还不能运行。

退出状态

从运行状态中移出,变成一个不可能再运行的进程,相应地使进程处于退出状态,并收回其占有资源。

  • 临界资源与临界区

进程互斥的实验报告

临界资源

在某段时间内只允许一个进程使用的资源

临界区

每个进程中访问临界资源的那段程序

  • 信号量和信号量的意义

信号量

包括一个整形值s和一个等待队列s.queue,信号量只能通过两个原语P、V操作来访问。

struct semaphore{

       int value;

struct PCB * queue;

}

信号量的意义

(1)在信号量机制中,信号量的初值s.value表示系统中某种资源的数目,因而又称为资源信号量。

(2)P操作意味着进程请求一个资源,因此描述为 s.value=s.value-1;当 s.value<0时,表示资源已经分配完毕,因而进程所申请的资源不能够满足,进程无法继续执行,所以进程执行 block(s.queue)自我阻塞,放弃处理机,并插入等待该信号量的等待队列。

(3)V操作意味着进程释放一个资源,因此描述为 s.value=s.value+1;当 s.value≤0时,表示在该信号量的等待队列中有等待该资源的进程被阻塞,故应调用wakeup(s.queue)原语将等待队列中的一个进程唤醒。

(4)当 s.value<0 时,|s.value|表示等待队列的进程数。

  • 互斥实现的软件方法(低端算法)

单标志算法

双标志、先检查算法

双标志、先修改后检查算法

先修改、后检查、后检查者等待算法

信号量

通道

  • 调度类型

高级调度(作业调度)

按照某种算法,从后备队列中选择一个作业,将其调入内存,并为其创建进程

外存—>内存(面向作业)

发生频率最低

中级调度(内存调度)

按照某种算法,从挂起队列中选择一个进程,将其数据调回内存

外存—>内存(面向进程)

发生频率中等

低级调度(进程调度)

按照某种算法,从就绪队列中选择一个进程,为其分配处理机资源

内存-->CPU

发生频率最高

  • 调度算法

计算相应时间

先来先服务~

按进程/作业到达的前后顺序进行。

短作业优先~

针对短作业/短进程优先调度。改进FCFS算法,减少作业/进程的平均周转时间。

时间片轮转~

将所有就绪进程按照先来先服务原则排成一个队列,通过控制时间片的长度来控制进程的执行。一个进程时间片用完,就发出一个中断,暂停当前执行,送去就绪队列的末尾,执行下一个进程。

优先权~

静态优先权

静态优先权是在进程创建时确定该进程的优先权,且该进程的优先权在其整个运行期间保持不变。

动态优先权

动态优先权指进程的优先权可以根据进程的不断推进而改变,以期得到更好的性能。

多级反馈队列~

设置多个就绪队列,每个队列的优先级都不同,各个队列中进程执行的时间片大小也不同,优先权越高队列的进程,其执行的时间片就越短。按FCFS原则进行调度。

  • 死锁

一组竞争系统资源或相互通信的进程之间的永久阻塞。

死锁的预防

从四个必要条件入手:

互斥

互斥条件不可以禁止

请求与保持

资源预先静态分配法(进程将延迟运行,资源严重浪费)

不可剥夺

自己释放,抢夺

环路

有序分配资源

死锁的避免

采用资源分配拒绝策略(动态资源分配)

安全状态

至少存在一个安全序列<P1,P2,…,Pn>,按照这个序列为进程分配所需的资源,直到满足最大需求,使得每个进程都可以顺序完成。若系统某时不存在这样一个安全序列,则称系统处于不安全状态

死锁的解除

1.解除死锁的方法
一旦检测到死锁,就需要解除死锁。下面是解除死锁的方法。
(1)撤销所有死锁进程。这是操作系统中最常用的方法,也是最容易实现的方法。
(2)把每个死锁的进程恢复到前面定义的某个检查点,并重新运行这些进程。要实现这
个方法需要系统有重新运行和重新启动机制。该方法的风险是有可能再次发生原来发生过的
死锁,但是操作系统的不确定性(随机性)使得不会总是发生同样的事情。
(3)有选择地撤销死锁进程,直到不存在死锁。选择撤销进程的顺序基于最小代价原则。
每次撤销一个进程后,要调用死锁检测算法检测是否仍然存在死锁。
(4)剥夺资源,直到不存在死锁。和(3)一样,也需要基于最小代价原则选择要剥夺的资
源。同样也需要在每次剥夺一个资源后调用死锁检测算法,检测系统是否仍然存在死锁。

2.最小代价原则
关于最小代价,可以从以下几个方面进行考虑。
(1)到目前为止消耗的处理机时间最少。
(2)到目前为止产生的输出最少。
(3)预计剩下的执行时间最长。
(4)到目前为止分配的资源总量最少。
(5)进程的优先级最低。
(6)撤销某进程对其他进程的影响最小。

  • 重定位

地址重定位完成的是相对地址(逻辑地址)转换成内存的绝对地址(物理地址)的工作。址重定位又称为地址映射。

作用

对紧凑后的用户进程的地址进行修改,因为紧凑会使内存中的位置发生改变。

静态重定位

在程序执行之前进行重定位。

动态重定位

在程序执行过程中进行重定位。(离散存储的基础,虚拟存储的前提)

  • 三种存储管理技术

页式存储中,内存被分成大小相等的块,称为页面。每个进程也被分成大小相等的块,称为页。进程在执行时,以页为单位逐个申请主存中的块空间。这种管理方式允许一个程序分散地装入到不相邻的内存分区。

页号

页内偏移

段式存储中,内存被分成大小不等的块,称为段。每个进程也被分成大小不等的块,称为段。进程在执行时,以段为单位逐个申请主存中的块空间。这种管理方式按照用户进程中的自然段划分逻辑空间。

段号

段内地址

段页式存储是页式存储和段式存储的结合。在段页式存储中,作业的地址空间首先被分成若干逻辑段,每段都有自己的段号,然后再将每一段划分成若干大小固定的页。这种管理方式既能反应程序的逻辑结构并有利于段的共享,又能有效地提高内存利用率。

段号

段内页号

页内偏移

  • 请求页式存储管理的调入策略

何时调入

确定何时将进程所需的页调人内存。

常用的方式有请调和预调两种。

(1)请调。当进程运行过程中发生缺页时,将所缺页面调入内存。这种调人策略实现简单,但容易产生较多缺页中断,造成对磁盘I/O次数增多,容易产生抖动现象。

(2)预调。预计进程要访问的页,提前将其调人内存的方法就是预调。由于从磁盘调人一页,系统开销比较大,因此一次调人多页比调人一页更高效。根据局部性原理,每次调人时,也将相邻的若干页调入内存。

预调策略主要用于进程首次调入时。预调策略也可以与请调策略联合使用,即在进程缺页时不仅调入进程所缺的页面,同时将相邻的几个页面一起调入。

何处调入

在请求页式存储管理系统中,把外存分成两部分,即文件区和对换区。文件区是用于存放文件的磁盘空间,对换区专门用于存放从内存换出的页面。一般来说,对换区的磁盘I/O速度要比文件区高,因为对换区的盘块比文件区的盘块大得多。当发生缺页时,对于从何处将缺页调入内存,有以下三种实现方法。
(1)从对换区调入。进程装入时,将其所有页面复制到对换区,以后在执行过程中总是从对换区调入。这种方法速度比较快,但要求系统对换区的空间比较大。
(2)只将修改过的页放在对换区。对于修改过的页,在将它们换出时换到对换区,以后需要时再从对换区调入。没有修改过的页都直接从文件区调入,因为这些页没有被修改,所以置换时也不必换出,以后再调人时仍然从文件区调人。这种方法适用于对换区空间较小的情况。
(3)首次从文件区调入,以后再次调入时从对换区调入。UNIX系统采用这种方式。凡是未运行过的页都应从文件区调人,运行后所有换出的页都换到对换区,下次调入时从对换区调人。

  • I/O控制方法

程序直接控制方式

中断控制方式

DMA控制方式

通道控制方式

  • 如何实现设备的独立性

为了实现设备的独立性,系统必须能够将用户程序中所使用的逻辑设备名转换成物理设备名,为此需要设置一张逻辑设备表(Logical Unit Table,LUT),该表的每一个表目包含逻辑设备名、物理设备名和设备驱动程序的入口地址。

逻辑设备名

物理设备名

驱动程序入口地址

/dev/tty

5

1034

/dev/print

3

2056

当进程使用逻辑设备名请求分配1/O设备时,系统为它分配相应的物理设备,并在LUT表上建立一表项,填上用户程序使用的逻辑设备名和系统分配的物理设备名,以及该设备驱动程序的人口地址。当以后进程再利用逻辑设备名请求1/0操作时,系统通过查找LUT表即可找到物理设备和相应设备的驱动程序。
LUT设置可采取以下两种方式。
(1)为整个系统设置一张LUT。由于系统中所有进程的设备分配情况都记录在同一张LUT中,因而不允许在LUT中具有相同的逻辑设备名,这就要求所有用户不使用相同的逻辑设备名。在多用户系统中,这通常难以做到,因而这种方式主要用于单用户系统。
(2)为每个用户设置一张LUT。当用户登录时,便为用户建立一个进程,同时也为之建立一张LUT,并将该表放入进程的PCB。

  • 缓冲的类型

单缓冲

双缓冲

循环缓冲

缓冲池

  • 文件结构

文件的组织形式

从用户观点出发,所看的文件组织形式称为文件的逻辑结构。

从实现观点出发,文件从外存上的存放组织形式为文件的物理结构。

  • 树形目录

优点:

(1)既可以方便用户查找文件,又可以把不同类型的文件或不同用途的文件分类。

(2)允许文件重名。不但不同用户可以使用相同的文件名,同一用户也可在不同的分目录下使用相同的文件名。
(3)利用多级分层结构关系,可以更方便地制定保护文件的存取权限,有利于文件保护。

  • 大题部分

P103 T4、5

P161 T4、6、7、8

  • 23
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值