全国计算机等级考试三级数据库考点分析之操作系统[2]

文章作者 100test 发表时间 2007:04:30 08:25:52
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

  考点9进程的同步与互斥

1.临界资源和临界区

临界资源是指一次只允许一个进程使用的资源:一个进程中访问临界资源的那段程序代码称为临界区。它们不允许两个及以上的进程同时访问或修改。

2.进程的同步

进程的同步运行是指进程之间的一种直接的协同工作关系,这些进程通过相互合作来完成一项任务。

3.进程的互斤

进程间一种间接的相互作用构成进程互斥。进程互斥的目的就是使某一进程可以在某一时间内独占一些资源•.

考点10进程通信

1.信号量和P, V操作

解决进程的同步与互斥,既可用硬件实现,也可用软件实现。

(1)在系统中信号量(S)是一个整数。当S}-- 0时,表示可供并发进程使用的资源实体数;当S<0时,代表等待使用临界区的进程数。

(2)只能通过P、V操作原语来改变P,V操作信号量的数值。P操作表示在当前进程申请的各种资源,V操作代表当前进程释放所占用的资源。P操作和V操作都是低级进程通信原语。

(3)利用P、V操作可以解决并发进程间的互斥问题。

(4)利用P、V操作也可以解决并发进程间的同步问题。

2.高级通信机构

对进程间大量信息的交换常采用消息通信的方法,高级通信原语不仅可保证相互制约的进程的正确关系,同时还实现了进程之间的信息交换。该方法不仅能实现进程间的通信,而且能实现进程间数据的传送。下面分别介绍3种高级进程通信。

(1)消息缓冲通信。消息缓冲通信的基本思想:系统管理一组消息缓冲区,在每一个缓冲区可以存放一个信息。发送进程在发送消息前,在内存中设置一个发送区,装人欲发送的消息,在申请到一个消息缓冲区以后,将发送区里的消息发送到缓冲区中。

(2)管道通信。管道通信实质上是利用外存来进行数据通信,传输数据量大,但速度较慢。发送进程从管道的一端写人数据,接收进程在需要的时候从管道的另一端读出数据。

(3)信箱通信。信箱通信指进程并不把消息直接发送给对方,而是将通信的消息以信件的方式放在信箱内。

考点11进程调度

进程调度即处理机调度在多道程序系统中,进程数目往往大于处理机数目,这会使进程相互争夺处理机,必须按照一定的策略将C 1t分配给这些进程中的某一进程

1.进程调度的功能

记录系统中所有进程的状态、优先数及资源使用情况,CPU空闲时按一定算法确定将CPU分配给哪个进程和分配多长时价。

2.进程调度方式

进程调度方式是指有优先数更高的进程进人就绪队列时,如何分配CPU,一般包括剥夺方式和非剥夺方式两种调度方式

3.进程调度算法

(1)先来先服务算法FCFS。该算法按照进程进入就绪队列的先后顺序来选择二即每当进行进程调度时.总是把就绪队列的队首进程投人运行二

(2)时间片轮转算法。这主要是分时系统中使用的一种调度算法。其基本思想是:将CPU的处理时间划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片。当时间片结束时,就强迫运行进程让出CPU,该进程进人就绪队列,等待下一次调度。同时,进程调度又去选择就绪队列中的另一个进程,分配给它一个时间片,以投人运行。

影响时间片大小设置的主要因素有:系统响应时间、就绪进程数目(终端数目)和一计一算机处理能力。

(3)最高优先级算法进程调度每次将处理机分配给具有最高优先级的就绪进程,进程的优先级由进程优先数决定

进程优先数的设置可以是静态的,也可以是动态的。

最高优先数算法又可与不同的C1U方式结合起来,形成可剥夺式最高优先数算法和不可剥夺式最高优先数算法。

考点12死锁

1.死锁的概念

死锁是指在多道程序系统中,两个或两个以上的进程无限期地等待永远不会发生的事件,得不到所需资源因而不能运行的状态处于死锁状态的进程称为死锁进程。

死锁产生的原因:一是系统资源不足;二是多道程序运行时,进程的推进顺序不合理。

2.产生死锁的必要条件

(1)互斥条件。进程互斥使用资源,任一时刻一个资源只为一个进程独占,其他进程若请求一个已被占用的资源,只能等占用者释放后才能使用

(2)不可剥夺条件(不可抢rt1-)。进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放

(3)部分分配(占有等待)。进程每次申请它所需要的一部分资源,在申请新的资源的同时,继续占用已分配到的资源。

(4)循环等待:存在一个进程环路,环路中每一个进程已获得的资源同时被下一个进程所请求。

3.资源分配图

死锁问题可用一个有向图来表示。资源分配图就是描述进程、资源及它们之间关系的有向图。当进程请求资源时,系统检查并发进程组是否构成资源的请求环路。存在环路,可能存在死锁;不存在环路,一定没有死锁。

4.死锁预防

只要破坏死锁产生的4个必要条件之一,就可有效避免死锁的产生,主要有以下几种方法:

(1)破坏互斥条件

(2)破坏不可剥夺条件。

(3)破坏部分分配条件二

(4)破坏循环等待条件

5.死锁解除

当发现死锁后,可采用以下两种方法来解除死锁:

(1)资源剥夺法。从一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态

(2)撤销进程法。按照某种策略逐个地撤销死锁进程,直到获得为解除死锁所需要的足够使用的资源为按照什么原则撤销进程,实用而又简便的方法就是撤销那些代价最小的进程,或者撤销进程的数量最少。

考点13线程

1.线程的概念

线程是进程中的一个实体,是CPU调度和分派的基本单位

2.线程的属性

(1)每个线程有一个唯一的标识符和一张线程描述表。

(2)不同的线程可以执行相同的程序。

(3)同一级的进程中的各个线程共享该进程的地址空间。

(4)线程是处理器的独立调度单位,多个线程是可以并发执行的。

(5)一个线程被创建以后便开始了它的生命周期,直到终止。

3.线程与进程的比较

线程与进程的主要区别表现在以下几个方面:

(1)调度。在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位只有进程,而在引线程的操作系统中,则把线程作为调度和分派的基本单位,把进程作为资源拥有的基本单位,使传统进程两个属性分开,从而使线程能轻装运行,这样可以显著地提高系统的并发程度。在同一进程中,线程的切换不会引起进程切换,在由一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。

(2)并发性在引人线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之也可以并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统的吞吐。在引入了线程的操作系统中,可以在一个文件服务进程中设置多个服务线程。当第一个线程等待时,件服务进程中的第二个线程可以继续运行;当第二个线程封锁时,第3个线程可以继续执行,从而显著地高了文件服务的质量及系统的吞吐量C

(3)拥有资源不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位。一般地说,线程自己不拥有系统资源(也有一点儿必不可少的资源),但它可以访问其隶属进程的资源,即一个进程的代码段、数据段及系统资源(如已打开的文件、1/0设备等),可供同一个进程的其他所有线共享

(4)系统开销。由于在创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、1/0设备等。因此操作系统所付出的开销将显著地大于在创建或撤销线程时的开销。类似地,在进行进程切换时,涉及到整个当前进程CPU环境的保存及新近被调度运行的进程的CPU环境的设置。而线程切换只需保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。



相关文章


全国计算机等级考试三级数据库考点分析之操作系统[3]
全国计算机等级考试三级数据库考点分析之操作系统[4]
全国计算机等级考试三级数据库考点分析之操作系统[2]
全国计算机等级考试三级数据库考点分析之操作系统[1]
专家权威解答计算机等级考试四级究竟有什么用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛