第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章 死锁

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章 现代操作系统技术与系统管理

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)