第7章 中断和信号机构
7.1 中断处理(P211)
7.1.1 中断的一般处理过程
1. 中断的概念
中断:CPU对系统发生的某个事件作出的一种反应。
中断源:引起中断的事件。
中断请求:中断源向CPU提出进行处理的请求。
断点:被打断程序的暂停点。
2. 中断的类型(P212)
中断:由CPU以外的事件引起的中断,如I/O。
异常:来自CPU的内部事件或程序执行中的事件引起的过程。
3. 中断的一般处理过程
(1)中断响应:由硬件实施。
a.中止当前程序的执行;
b.保存原程序的断点信息(程序计数器PC和程序状态字PS);
c.转到相应的处理程序。
(2)中断处理:由软件实施。
保存被中断程序的现场,分析中断原因,
转入相应处理程序进行处理,恢复被中断程序现场。
7.1.2 系统调用的(P215)
1.系统调用的接口
当处理机执行到trap指令时,处理机状态就从用户态变为核心态。
指令格式:trap xx 参数1 参数2 ……
xx:系统调用编号。如 3 read, 4 write。
7.2 UNIX 信号机构(P218)
* UNIX 信号机构包括三个部分:
a.信号的分类、产生和传送;
b.对各种信号预先规定处理方式;
c.信号的检测和处理。
自测题(P222)
2.中断响应主要做哪些工作?由谁来做?(P212、P287)
3.一般中断处理的主要步骤是什么?(P213、P287)
8.1 死锁的概念(P223)
8.1.1 什么是死锁
汽车过窄桥时的冲突
已占用的资源Rl | 进程A——> | 未使用的资源 | <-----进程B | 已占用的资源Rr |
* 死锁:多个进程循环等待它方占有的资源而无限期地僵持下去。
8.1.2 产生死锁的必要条件(P225)
* 计算机系统中同时具备下面四个必要条件时发生死锁。
1.互斥条件:某个资源在一段时间内只能由一个进程占有。
2.不可抢占条件:资源申请者不能夺取已被占有的资源。
3.占有且申请条件:进程已经占有资源,但又申请新的资源。
4.循环等待条件:P1等待P2所占有的资源,P2等待P3所占有的资源,
Pn等待P1所占有的资源。
8.2 死锁的预防(P226)
* 死锁的预防:要求进程申请资源时遵循某种协议。
(1)打破互斥条件:允许进程同时访问某些资源。
(2)打破不可抢占条件。
(3)打破已占有且申请条件。
(4)打破循环等待条件,实行资源有序分配策略。
进程占用了小号资源,才能申请大号资源,就不会产生环路。
8.3 死锁的避免(P227)
* 静态策略:死锁的预防。
* 动态策略:死锁的避免
8.3.1 安全序列
* 安全序列:系统中的所有进程能够按照某一种次序分配资源,
并且依次地运行完毕的进程序列{P1,P2,...,Pn}。
进程所需资源<=系统可用资源+已占用资源。
8.3.2 银行家算法(P228)
客户 |
要借 |
已借 |
还需 |
C1 C2 C3 余额 合计 |
9 3 8
20 |
2 2 4 2 10 |
7 1 4 |
客户 |
要借 |
已借 |
还需 |
C1 C3 余额 |
9 8
|
2 4 4 |
7 4 |
客户 |
要借 |
已借 |
还需 |
C1 余额 |
9
|
2 8 |
7 |
{C2,C3,C1}是安全序列
8.4 死锁的检测与恢复
8.4.1 死锁的检测(P230)
* 死锁的检测:
当进程进行资源请求时检查并发进程组是否构成资源的请求
和占用环路。
8.4.1 死锁的恢复(P233)
* 重新启动;撤消进程、剥夺资源;进程回退策略。
自测题 (P234)
2.计算机系统中产生死锁的根本原因是什么?(P288)
3.发生死锁的四个必要条件是什么?(P288)
5.死锁预防的基本思想是什么?(P288)
6.死锁避免的基本思想是什么??(P288)
9.1 操作系统“代”的划分(P235)
* 操作系统有三代
1.无序模块结构:
模块之间直接相互调用,不分层次,形成网状调用模式。
2.层次结构:
把系统程序按照功能分成若干基本模块,
再根据其作用和相互关联分别划归不同的层次。
3.微内核结构:
核心态下运行的内核采用层次结构并构成了基本操作系统。
用户态下运行的以客户/服务器方式活动的进程层。
客户:用户进程。
服务器:操作系统中提供服务的进程。
9.2 微内核概述(P237)
* 把操作系统的内核分为微内核与服务器两个层次。
微内核提供各种操作系统的公共基础,
由服务器提供各种操作系统的子系统以及用户界面。
9.2.1 微内核概念
* 微内核:
操作系统的小核心,
它将各种操作系统共同需要的核心功能提炼出来,
形成微内核的基本功能。
用户态 | 文件服务器 | 内存服务器 | 网络服务器 | |||
| | | | | | ||||
核心态 | 微内核 | |||||
| | ||||||
硬件 |
微内核操作系统模型
9.2.2 进程与线程(P239)
在微内核系统中:
1.进程:只是资源分配的单位,而不再是调度运行的单位。
2.线程:进程中执行运算的最小单位。
3.线程组成
thread结构:线程标识符、调度状态信息、
核心堆栈指针、用户堆栈指针和私有存储区。
5.进程和线程的关系(P240)
一个进程可以有多个线程;
资源分配给进程,同一进程的所有线程共享该进程的所有资源;
处理机分配给进程,而处理机上运行线程;
线程在执行过程中,需要协作同步。
9.3 网络操作系统概述(P242)
* 计算机网络的三部分:
通信子网:提供数据传输的交换功能。
资源子网:实现网络资源的共享。
通信协议:通信双方事先约定好的和必须遵守的规则。
9.3.2 网络操作系统(P243)
* 网络操作系统NOS(Network Operating System):
网络用户与网络系统之间的接口。
使网络上各计算机能方便有效地共享网络资源,
为网络用户提供所需的各种服务的软件和通信协议的集合。
1.网络操作系统的任务(P244)
网络通信、资源管理、网络服务(E-mail,FTP)、网络管理。
2.网络操作系统的分类
(1)客户/服务器(Client/Server)模式;
客户机:向服务器请求服务和数据的计算机。
服务器:提供服务和数据的计算机。
(2)对等模式(peer-to-peer)。
9.5 系统管理员的职责(P247)
保证系统平稳地操作和执行各种需要特权的任务。
(1)设置整个计算机系统;
(2)备份和恢复重要文件或文件系统;
(3)处理计算机可用资源有限的问题;
(4)排除系统通信阻塞问题;
(5)升级和维护操作系统;
(6)为用户提供常规支持。
自测题 (P250)
2.什么是微内核?微内核结构的主要特点是什么?(P288)
3.在客户/服务器结构的操作系统中,
客户与服务器的含义分别是什么?(P289)
5.什么叫线程?它与进程有什么关系?(P289)
7.什么是网络操作系统?网络操作系统的功能是什么?(P289)