操作系统重点难点学习指导.doc

第一章 操作系统引论

本章的学习目的是要建立起 OS 的基本概念。学生应对以下几个重点、难点问题作认真的学习,切实掌握 OS 的一些基本概念。

一、 OS 的引入和发展

由于 OS 随着计算机技术和应用需求的不断发展,由简单变为复杂,由低级变为高级,故在学习“ OS 的引入和发展时,应对下述几个问题有较清晰的认识:

(1) 早期无 OS 的计算机系统中,存在着所谓的人机矛盾“ CPU-I/O 设备速度不匹配的矛盾。它们对计算机资源的利用率有何严重的影响? 

 (2) 单道批处理系统中引入了哪些技术,它们是如何解决上述两对矛盾的?

  (3) 单道批处理系统还存在哪些不足之处,而多道批处理系统又是通过哪些技术措施来解决这些不足的? 

  (4) 多道批处理系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的作用下,由批处理系统发展为分时系统的?实现分时系统的关键技术是什么? 

 (5) 上述几种系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的作用下由分时系统发展为实时系统的?在学习时还应注意分析和比较分时系统与实时系统的特征。

二、 OS 的基本特征和功能 

在多道程序的环境下, OS 具有四大特征和五大功能。在学习该问题时,应对下述四个方面的内容有较深入的理解:

(1) OS 的特征。 OS 具有并发、资源共享、虚拟和异步性四大特征,在学习时应对每种特征的具体含义和形成原因有较清晰的认识。 

  (2) OS 四大特征之间的关系。这四大特征之中,最重要的是并发特征,其他三个特征都是以并发为前提的。在学习时必须弄清楚并发和资源共享之间的关系,并理解它们是如何导致虚拟和异步性特征的产生。 

  (3) OS 的功能。 OS 具有处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口等五大功能。在学习时应了解各个功能的主要任务,并必须深入了解处理机管理功能和 OS 的并发和共享特征之间的关系。

(4) OS 五大功能的必要性。为了保证多道程序能有条不紊地、高效地运行,并能方便用户对计算机系统的使用, OS 必须具备上述五大功能。在学习时请思考:如果缺少了其中的某个功能(如处理机管理或内存管理功能),将会对系统的运行产生什么样的影响。 

三、分层式结构和微内核结构

在 OS 结构中,分层式结构是最为成熟的一种 OS 结构,被广泛应用了 20 多年。而 20 世纪 90 年代兴起的微内核结构是最具有发展前途的 OS 结构。在学习问题时,应对下述内容有较深刻的了解:

(1) 分层式结构。该结构是指将 OS 按某些原则分为若干个层次,并规定了层次间的单向调用关系。在学习时应对分层结构是为了解决什么样的问题,它又是如何解决该问题的等内容有较深入的了解。 

  (2) 分层的原则。在学习时应知道一个 OS 应设置哪些层次的主要依据,并清楚通常应把哪些功能放在最低层,哪些功能放在最高层。

  (3) 客户 / 服务器技术。该技术是把 OS 分为两个部分:一部分是用于提供各种服务的服务器,另一部分是用于处理 OS 最基本功能(含通信功能)的内核。在学习时必须清楚,为什么要将 OS 一分为二,由此会带来什么好处。

  (4) 面向对象技术。该技术是基于“抽象”和“隐蔽”原则来控制 OS 的复杂度的。它利用封装的数据结构和一组对它进行操作的过程,来表示系统中的某个对象,以达到隐蔽系统内部数据结构和操作的顺序细节的目的。在学习时应了解什么是对象、面向对象技术会给 OS 带来什么好处。

  (5) 微内核结构。它是指将客户 / 服务器技术、面向对象技术用于基于内核技术的 OS 中所形成的 OS 结构。在学习时应对该结构用于解决什么样的问题、又是如何解决该问题的,以及该结构有何优点有较深刻的了解。

第二章 进程管理 

本章的学习目的是使学生建立起进程的概念。进程是 OS 中最重要的基本概念,本章是全书中最 重要的一章。读者应对以下几个重点、难点问题深入的学习,切实掌握好进程和进程同步的基本概念。

一、 进程的基本概念

进程既是 OS 中的一个重要概念,又是系统进行资源分配和独立运行的基本单位。学习 OS ,首先必须理解和掌握好进程的概念,为此,读者应认真学习和掌握下述几个方面的内容: 

(1) 为什么要引入进程。引入进程是为了使内存中的多道程序能够正确地并发执行。在学习时应清楚地理解为什么程序不能与其他程序并发执行,而由 PCB、程序段和数据段三部分组成地进程实体却能与其他进程一起并发执行。 

  (2) 进程具有哪些基本特征。进程具有动态性、并发性、独立性、异步性和结构特征。在学习时应较好地理解每个特征的含义和形成原因,并且要特别注意比较进程和程序这两个概念的异同之处。 

  (3) 进程有哪些基本状态。进程具有就绪、执行和阻塞三种基本状态。在学习时必须了解在一个进程的生命周期中,它是如何随着自身的执行和外界条件的变化不断地在各种状态之间进行转换的。 

  (4) 进程控制块。为了描述和控制进程, OS必须为每个进程建立一个进程控制块PCB。在学习时应了解PCB具有哪些作用,为此,在PCB中必须包含哪些内容。  

二、 进程同步的基本概念

进程同步既是 OS中的一个重要概念,又是保证系统中诸进程间能协调运行的关键,故应对它有较深入的理解,并能熟练地运用。为此,应对下述与进程同步有关的几个基本概念有较好的理解和掌握:

(1) 临界资源 :临界资源是指一次仅允许一个进程访问的资源。在学习时,应了解这种资源应采取什么样的共享方式。 

  (2) 临界区 :进程中访问临界资源的那段代码称为临界区。显然,为了实现进程互斥地访问临界资源,诸进程不能同时进入自己的临界区。在学习时,应了解用什么样的机制(称同步机制)来实现进程互斥地进入自己的临界区。 

  (3) 同步机制应遵循的准则。用于实现进程同步的机制有多种,但它们都要遵循“空闲让进”、“忙则等待”、“有限等待”、和“让权等待”四个准则。读者必须清楚,为什么要同时满足这四条准则,如违背了其中的基本准则,其后果是什么。 

三、 信号量机制及其应用

信号量机制是一种卓有成效的进程同步机制,它已被广泛地应用于各种类型的 OS中。因此,在学习时,必须对下述几个与信号量有关的内容有较深刻的理解和掌握:

(1) 信号量的含义。信号量是一个用来实现同步的整型或记录型变量,除了初始化外,对它只能执行 wait和signal这两种原子操作。在学习时,应了解对信号量的wait和signal操作分别是如何实现的,整型信号量存在着什么不足之处,记录型信号量是如何解决整型信号量的不足的。 

  (2) 信号量的物理意义。一个信号量 S通常对应于一类临界资源,在学习时,读者必须理解S.value的值在物理上有什么特殊的含义,而每次wait和signal操作又分别意味着什么,故必须分别对S.value进行什么操作。 

  (3) 用信号量实现互斥。为了实现进程对临界资源的互斥访问,需为每类临界资源设置一初值为 1的互斥信号量mutex。在学习时,应清楚在进入临界区前或退出临界区后应对mutex分别执行什么操作,为什么对mutex的wait和signal操作必须成对出现,如少了其中的wait操作或signal操作,会对互斥算法产生什么样的影响。 

  (4) 用信号量实现前趋关系。为实现前趋关系 Pi→Pj,可为它们设置一个初值为0的信号量S。在学习时,应清楚对S的wait操作和signal操作应分别安排在什么位置,同时必须注意wait(S)操作和signal(S)操作也必须成对出现。

四、 经典进程的同步问题

我们以生产者-消费者为例,来说明学习此重点问题时应了解和掌握什么。

(1) 该问题用于解决什么问题。生产者-消费者问题是用于解决一群生产者和消费者之间的进程互斥和进程同步问题。在学习时首先应了解哪些资源属于临界资源,并为它们设置了哪些信号量,信号量的初值应如何设置;其次,应了解哪些地方需要同步,并需为它们设置哪些信号量,信号量的初值又应如何设置等。 

  (2) 如何实现进程互斥。为实现对缓冲池的互斥访问,应为它设置一互斥信号量 mutex ,读者应在生产者进程和消费者进程中都能找到成对的用于实现互斥的 wait(mutex) 和 signal(mutex) 操作。 

  (3) 如何实现进程同步。为实现进程同步,应为缓冲池设置表示缓冲区空和满的 empty 和 full 信号量,读者应在相互合作的进程中找到成对的 wait(empty) 和 signal(empty) 操作,成对的 wait(full) 和 signal(full) 操作。 

  (4) 对程序的阅读方式。由于生产者-消费者问题属于并发执行程序,因此在阅读时可存取交替阅读的方式。我们可以先从任一程序(如生产者)开始阅读,当它因 wait 操作失败而阻塞时,该程序便不能继续往下运行,此时,可去阅读消费者程序;而当消费者唤醒阻塞的生产者,或者消费者因 wait 失败而受阻时,则又可返回道生产者程序继续阅读。 

五、 消息传递通信机制

<
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值