a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 92|回复: 1

[软件设计师] 软件水平考试软件设计师:操作系统笔记二

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
6、进程的控制,就是对系统中所有进程从创建到消亡的全过程实施有效的控制。操作系统的内核为系统实现进程控制和存储管理提供了有效的控制机制。大多数操作系统内核均包含支撑功能和资源管理功能。9 \* y  r8 L1 ?: ^
支撑功能:中断处理、时钟管理、原语操作。原语是由若干条机器指令构成的,用于完成特定功能的一段程序。内核在执行某些基本操作时往往是通过原语操作实现的。原语在执行过程中不可分割。内核中包含的原语有进程控制、进程通信、资源管理等。
0 B, e2 X  u/ L/ l资源管理功能:进程管理、存储器管理、设备管理。
6 @# }. J1 N$ l1 [3 n! t# C/ i7、进程间通信4 m4 ?1 o& H$ N
进程间的同步:一般来说,一个进程相对于另一个进程的运行速度是不确定的,即进程% y, {" D- T! l4 ^* w  u# W  k
是在异步环境下运行。每个进程都以各自独立的不可预知的速度向前推进,但相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达了这些点后,除非另一进程已完成了某些操作,否则就不得不停下来等等这些操作结束。9 j8 T' a. a2 G8 C9 y8 M1 {( V% d
进程间的互斥:在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源(critialresource)。同步是进程间的直接制约问题,互斥是进程间的间接制约问题。临界区(critialsection)是对临界资源实施操作的那段程序。互斥临界区管理的原则为:有空即进、无空则等、有限等待、让权等待。
/ m$ P1 A2 Q5 |0 L  D& ^2 ?! l4 E, m8、整形信号量与PV操作
  Z) b+ R5 b! I0 w* y整形信号量是一个整形变量,根据控制对象的不同赋不同的值。信号量分为两类:
+ ?8 l! b! u* y. q5 r' w) c公用信号量:实现进程间的互斥,每个相关进程即可对它施行P操作也可以进行V操作,初值为1或资源的数目;$ e: Q1 z' R( c
私用信号量:实现进程间的同步,只有一个进程可以对它施行P操作,其它进程只能做V操作,初值为0或某个正整数。
5 {* Y  d. |: B2 n& _( m信号量S的物理意义:S>=0表示某资源的可用数,S<0则其绝对值表示阻塞队列中等待该资源的进程数。PV操作是实现进程同步与互斥的常用方法。PV操作是低级通信原语,其中P操作表示申请一个资源,V操作表示释放一个资源。P操作定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;否则若S<0,则该进程为阻塞状态,并将其插入阻塞队列。V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。利用PV操作实现进程的互斥:令信号量mutex的初值为1,当进入临界区时执行P操作,临界区时执行V操作。P(mutex)临界区V(mutex)- |2 W- E# d1 L6 Y& O( {: ]6 W
怎样利用PV操作实现进程的同步:可用一个信号量与消息联系起来,当信号量的值为0时表示希望的消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用V操作通知消息已准备好。最典型的是单缓冲区的生产者和消费者的同步问题。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要2个信号量,信号量的初值分别为0、1。# V1 K8 S# i+ Z$ X: Q
9、高级通信原语,因为PV操作不足以描述复杂的进程间的信息交换,所以引入高级通信原语。高级通信原语有这么几种:共享存储系统、消息传递系统、管道通信。进程通信有直接和间接两种方式。间接方式是以信箱以为媒介。$ ?" ~1 h( z( |3 {+ p8 x) r3 y% O
10、管程(monitor):另一种同步机制,采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及在其上实施操作的若干过程来进行。对共享资源的申请和释放可以通过过程在数据结构上的操作来实现。' z: a: W/ _3 t4 o# U4 ?" Z
11、进程调度,在某些系统中一个作业从提交到完成需要经历高、中、低三级的调度。, w1 K4 K6 m# F/ E+ S
高级调度(又称长调度、作业调度或接纳调度),它决定输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。7 f: {$ p' v. F+ m% D
中级调度(又称对换调度),它决定处于交换区中的哪个就绪进程可以调入主存,以便直接参与CPU的竞争。/ T# I- V; |: I5 s0 ]/ [  P. `
低级调度(又称进程调度),它决定处于主存中的哪个进程使用CPU。调度方式,是指当有更高优先级的进程来到时如何分配CPU。调度的方式分为可剥夺式和不可剥夺式两种。8 w, Z' i/ H8 S1 f4 `* w
常用的调度算法:先来先服务,主要用于宏观调度,有利于长作业,有利于CPU繁忙的作业;时间片轮转,主要用于微观调度,提高了并发性和响应时间,最终提高了资源利用率;优先级调度,分为静态和动态两种;多级反馈调度,是在时间片轮转和优先级算法的基础上改进得到。其特点是:照顾了短进程以提高系统吞吐量,照顾I/O型进程以获得较好的I/O设备利用率并缩短响应时间,不必估计进程的执行时间和动态调节优先级。
: _0 P. l* u7 U: @, y" ?3 P12、死锁:就是指两个以上的进程相互请求对方已经占有的资源时而导致无法继续运行下去的现象。
) T. Z( m! c7 z* ^# \2 J# J$ b+ P几种会产生死锁的情况:进程推进程顺序不当,同类资源分配不当,PV使用不当。" L5 e; h* V/ g# x$ W

  F& O% t7 G% ~! V. n进程资源有向图:由方框、圆圈和有向边3部分组成。其中资源用方框表示,进程用圆圈表示。在方框中每一个小圆圈代表一个资源。有向边分别代表请求资源和分配资源。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:24 | 显示全部楼层

软件水平考试软件设计师:操作系统笔记二

</p>死锁产生的原因:因为竞争资源或进程推进顺序非法。进程推进顺序仍是关于进程请求和释放资源的顺序。
9 s# U2 V; P9 y6 E$ e9 ~死锁产生的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
0 t, W+ F$ [' B! y+ |# `2 O( _: D互斥是说进程对所要求的资源有排它性控制。请求保持是说进程断续地请求资源,但后续的资源被阻塞。环路是指在发生死锁时在进程资源有向图中,每个进程都占有了下一个进程请求的一个或多个资源。' j* [3 E+ Z4 I, u- F. G
死锁的4种处理:鸵鸟策略;预防策略,即破坏死锁产生的4个必要条件之一;避免策略,即精心分配资源,主动回避死锁;检测与解除死锁。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 09:33 , Processed in 0.186020 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表