《操作系统原理及应用(Linux)》第2章 进程管理精品.ppt

《操作系统原理及应用(Linux)》第2章 进程管理精品.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统原理及应用(Linux)》第2章 进程管理精品

1.直接通信方式 这种通信是固定在一对进程之间。用来发送和接收消息。两条原语的形式如下: send(B,message); 发送一个消息给接收进程B; receive(A,message); 接收进程A发来的消息; 通常情况下,接收进程可与多个发送进程通信,因此,它不可能事先指定发送进程。对于这样的应用,在接收进程接收消息的原语中的源进程参数,是完成通信后的返回值,接收原语可表示为: receive(id,message); 其中,id为接收消息进程的标识符。 2.间接通信方式 间接通信方式又称为信箱通信方式。信箱是一种数据结构,逻辑上可分为两部分:信箱头和信箱体。信箱头包含箱体的结构信息,信箱体由多个格子构成,它实际上就是一个有界缓冲池。信箱通信一般是进程之间的双向通信。如图2-15所示。 信箱体 send receive receive send 进程B 信箱头 图2-15 进程的信箱通信方式 进程A 3.消息缓冲队列通信机制 (1)消息缓冲队列通信机制中所用的主要数据结构是消息缓冲区。在设置消息缓冲队列时,还应添加用于对消息队列进行操作和实现同步的信号量,并将它们存入进程的PCB中。 当一个发送进程要发送消息时,便形成一个消息,并发送给指定的接收进程。接收进程将所有的消息缓冲区链成一个队列,其队列首由接收进程PCB中的队列队首指针mq来指出。 (2)发送原语 (3)接收原语 接收进程调用接收原语,从自己的消息缓冲队列中,选取第一个消息缓冲区,并将其中的数据复制到指定的消息接收区内。 发送进程在发送消息之前,应先在自己的内存空间设置一发送区,然后调用发送原语,把消息发送给接收进程。 4.Linux系统关于消息传递的相关系统调用 (1)msgget(key,flag): 功能:获得一个消息的描述符,该描述符指定一个消息队列以便用于其他系统调用。 (2) msgsnd(id,msgp ,size,flag); 功能:发送一消息。 (3)msgrcv(id,msgp ,size ,type ,flag) 功能:接受一消息。 (4)msgctl(id,cmd,buf): 功能:查询一个消息描述符的状态,设置它的状态及删除一个消息描述符。 2.6.3 管道通信系统 所谓管道,是指用于连接一个读进程和一个写进程,以实现他们之间通信的一个共享文件,又名pipe文件。 为了协调双方的通信,管道机制必须提供以下三方面的协调能力: (1)互斥,即当一个进程正在对pipe执行读/写操作时,其它(另一)进程必须等待。 (2)同步,指当读写进程使用pipe时,需要同步使用。 (3)确定对方是否存在,只有确定了对方已存在时,才能进行通信。 第2章 进程管理 * 2.6.4 信号通信机制 1.信号的基本概念 每个信号都对应一个正整数常量,即信号编号。 信号机制具有以下三方面的功能: (1)发送信号。发送信号的程序用系统调用kill( )实现; (2)预置对信号的处理方式。接收信号的程序用signal( )来实现预置处理方式; (3)收受信号的进程按事先的规定完成对相应事件的处理。 第2章 进程管理 * 2.信号的发送 信号的发送,是指由发送进程把信号送到指定进程的信号域的某一位上。 进程用kill( )向一个进程或一组进程发送一个信号。 3.信号的处理 对软中断信号的处理分三种情况进行: (1)如果进程收到的软中断是一个已决定要忽略的信号(function=1),进程不做任何处理便立即返回; (2)进程收到软中断后便退出(function=0); (3)执行用户设置的软中断处理程序。 4.相关的Linux系统调用 (1)kill( ) 功能:向一个或一组进程发送一个软中断信号。 (2)signal( ) 功能:预置对信号的处理方式,允许调用进程控制软中断信号。 第2章 进程管理 * 2.7 线程 线程是比进程更小的能独立运行的基本单位。 2.7.1 线程的基本概念 线程(thead)是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。在引入线程的操作系统中,可以在一个进程内部进行线程切换,现场保护工作量小。 线程与进程的比较: (1)进程是资源分配的基本单位。同一进程的所有线程共享该进程的所有资源。 (2)线程是分配处理机的基本单位,它与资源分配无关。 (3)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (4)线程在执行过程中,需要协作同步。 第2章 进程管理 * 2.7.2 线程的状态与转换操作

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档