中国教育在线 中国教育网 加入收藏 设为首页

全国软考:软件设计师重点难点辅导(6)

http://itpx.eol.cn  来源:  作者:  2010-10-22    

  一、进程相关的概念:

  进程、线程和管程

  这是三个看起来似乎比较容易混淆的概念,所以在复习的时候一定要牢记其定义和相互之间的区别。

  *进程

  进程是一个可并发执行的程序在一个数据集合上的运行过程。也就是说,它是运行中的程序,是程序的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小单位。

  *线程

  对于一些多线程程序来讲,其包含两条或两条以上并发运行的部分,每个部分就称作一个线程,每个线程都有独立的执行路径。线程是处理器分配资源的最小单位。

  *管程

  管程是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。

  操作系统中,多任务处理一般有两种方式:基于进程和基于线程。基于进程的多任务处理的特点是允许计算机同时运行两个或更多的程序。而基于线程的多任务处理是指一个程序可以同时执行两个或者多个任务的功能。

  多线程程序比多进程程序需要更少的管理费用。进程是重量级的任务,需要分配它们自己独立的地址空间。进程间的通信和相互转换需要很多的开销。而线程是轻量级的任务,它们共享相同的地址空间并且分享同一个进程。线程间的通信和转换开销要小很多。

  二、信号量处理:

  信号量和P-V操作

  为了解决进程同步的问题,提出了信号量机制。这一机制取得了很大的发展,从整型信号量到记录型信号量,再进而发展为“信号量集”机制。不过,在原理上和考试中,一般我们都只涉及整型信号量机制。

  对于互斥临界区的管理要求:

  n 有空则进

  n 无空等待

  n 两者择一

  n 有先等待

  在整型信号量机制中,信号量被定义为一个整型变量,除初始化外,仅能通过两个标准的原子操作wait(s)和signal(s)来访问。其通常被分别称作P、V操作。描述如下:

  P操作

  I. S-1→S

  II. 如果S<0,则该进程进入等待状态;否则继续进行

  V操作

  I. S+1→S

  II. 如果S≥0,则唤醒队列中的一个等待进程

  进程互斥的情况初值是1,而同步的初值是0

  进程同步的问题相对来说是比较复杂的,这其中一些比较经典的进程同步问题,如:

  *生产者—消费者问题

  *读者—写者问题

  *哲学家进餐问题

推荐给好友    我要收藏    我要纠错    分享到

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

内容推荐
eol.cn简介 | 联系方式 | 网站声明 | 京ICP证140769号 | 京ICP备12045350号 | 京公网安备 11010802020236号
版权所有 北京中教双元科技集团有限公司 EOL Corporation
Mail to: webmaster@eol.cn