目录
按照某种算法,从后备队列中选择一个作业,将其调入内存,并为其创建进程
内容仅供参考
-
操作系统的特征
并发性
两个及其以上的事物在同一时间间隔发生。
(宏观上)多个程序同时向前推进
(微观上)程序之间交替执行
共享性
计算机的各种硬件资源供在其上运行的程序共同使用。
(并发和共享互为存在条件)
虚拟性
通过某种技术手段把一个物理实体变成多个逻辑上的对应物。
(虚拟性主要通过分时使用的方式实现的)
不确定性
操作系统的运行是在一个不确定的环境中进行的。
-
进程的基本状态
什么时候发生状态的转换,状态变迁的原因
运行状态
进程正在处理机上运行的状态。
就绪状态
进程已经获得了除了处理机之外的所有必要资源,只要获得处理机久可以运行的状态。
阻塞状态
进程由于等待输入输出操作或某个同步事件而暂停运行。
创建状态
进程还在创建过程中,还不能运行。
退出状态
从运行状态中移出,变成一个不可能再运行的进程,相应地使进程处于退出状态,并收回其占有资源。
-
临界资源与临界区
进程互斥的实验报告
临界资源
在某段时间内只允许一个进程使用的资源
临界区
每个进程中访问临界资源的那段程序
-
信号量和信号量的意义
信号量
包括一个整形值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