chap6 UNIX进程通信 unix课件
94页1、第六讲 UNIX进程通信,1 基本概念,通信分为两类: 控制信息的传递: 低级通信 大批量数据的传递: 高级通信,1 基本概念,2基本的通信方式,(a)主从式通信: 通信的双方存在一种隶属关系,(b)会话式通信: 通信进程双方采用请求应答的方式进行通信,1 基本概念,2基本的通信方式,(c)消息或邮件通信: 通信双方处于一个平等地位,发的消息通过消息系统或邮件系统进行大批量数据传递。,1 基本概念,2基本的通信方式,(d)共享存储区通信:进程之间采用进程通信信息共享存储区的通信方式来完成进程间的通信。,2 UNIX系统进程通信方式,基本通信:早期的UNIX系统采用,简单的信息传递,协调进程之间的同步和互斥。 管道通信:大批量的数据传送,有名管道和无名管道。 IPC :采用消息方式进行进程间通信。,2 UNIX系统进程通信方式,1基本通信 锁文件通信: 通信双方在某个指定目录中查找是否有个双方约定的文件存在,并以此来决定通信的动作以及对应的逻辑。进程用对“锁文件创建与否”状态的判定和设置完成一个进程到另一个进程之间的通信。 (2) 记录锁定文件通信 即是通过对记录(文件中连续的字节组成特
2、定的数据)的锁定来实现进程通信。 (3)信号 使用软中断信号的通信方式。信号可以做预先的说明,用户使用时只需要根据信号的约定来完成进程之间的通信。,3 信号处理,基本概念,信号是UNIX操作系统用来通知进程发生了某种事件的一种手段 信号也称为软中断,它提供了一种处理异步事件的方法 信号也可以用于进程之间进行通信和实现进程同步处理,信号的定义: 信号是传送给进程的一种事件通知,UNIX系统为每一种可能的事件定义了一组信号,每一个信号有一个信号名,名字均以SIG打头,3 信号处理,很多种情况会产生信号,当用户在终端按下某些键时,产生终端生成的信号,例如: 按下Delete键或者Ctrl-c通常产生一个中断信号 SIGINT,这是停止正在运行的程序的一种常用手段,硬件例外会产生信号,例如: 零作为除数、非法存储器访问等。这种情况通常是由硬件而不是UNIX内核检测到的,但由内核向发生此错误的哪个进程发送相应的信号,比如发生非法存储器访问时,信号SIGSEGV将被内核发送到执行了该非法访问的进程。,如果发生了某种必须让进程知道的情况时也会生成信号。这里的情况不是硬件产生的,而是软条件,例如: 当
3、进程设置的定时器到期时将生成SIGALRM信号 当进程向一个管道写数据,而此管道已不存在读数据方时,生成SIGPIPE信号,某些系统调用将产生信号,例如 kill函数将允许进程发送任何信号给本进程,其他的进程或者进程组 raise函数能够发送任何一个信号给调用它的进程,3 信号处理,生成信号的事件可以归并为三大类,1.程序错误 例如零作除数、非法存储器访问等,2. 外部事件 例如用户按下Delete键、定时器到期等,3. 显式请求 进程主动调用kill函数或者raise函数,3 信号处理,同步信号和异步信号,信号的生成可以是同步的,也可以是异步的。,同步信号与程序中的某个具体操作相关并且在那个操作进行时同时产生。 多数程序错误生成的信号是同步的,例如除零错或内存访问错 由进程显示请求而生成的给自己的信号也是同步的,例如raise系统调用,异步信号是接收该信号的进程控制之外的事件生成的信号 一般外部事件总是异步的生成信号 作用于其他进程的kill系统调用也异步地生成信号 异步信号可以在进程运行任意时刻产生,进程无法预期信号到达的时刻,3 信号处理,对信号的处理,无论是同步还是异步信号,信
4、号发生时,系统对信号可以采用3种处理方式,忽略信号 大部分信号都可以被忽略,只有2个除外SIGSTOP和SIGKILL。这两个信号是为了给root用户提供杀掉或停止任何进程的一种手段。,调用默认动作 系统为每种信号规定了一个默认动作,如果用户进程没有为某个信号设置句柄,则该信号到达时,对该信号的处理由UNIX内核来完成。通常的默认动作有: core dump, 终止进程,忽略信号,进程挂起等几种。,捕获信号 需要告诉UNIX系统内核,当该信号出现时,调用专门提供的一个函数,类似于MFC中的事件函数的概念。这个函数称为信号句柄,或者简称为句柄,它专门对产生信号的事件作出处理。系统调用sigal为特定信号设置信号句柄,3 信号处理,UNIX系统中常用的信号,3 信号处理,UNIX系统中常用的信号,3 信号处理,指定和改变信号的动作,对于每一种信号,进程可以指定要么忽略它,要么采取默认动作,或者为它指定一个自定义的捕获函数;进程也可以在任何时候对一个信号重新指定其动作或者回到其原先的动作。,3 信号处理,系统调用 signal函数 void* signal(int sig, void(* f
《chap6 UNIX进程通信 unix课件》由会员油条分享,可在线阅读,更多相关《chap6 UNIX进程通信 unix课件》请在金锄头文库上搜索。
最新学校新冠肺炎疫情突发事件应急处置办法和流程
最新疫情防控期间学校用餐与食堂管理规定和师生一日流程图
最新Xx省xx区返学师生员工健康登记表
诊所简介
高中英语-第二单元-《the-United-Kingdom》课件-新必修5
新版新目标英语七年级下unit4--Don't-eat-in-class课件
新版PEP六年级英语unit6-how-do-you-feel-A-Let's-talk
安徽专版2018秋八年级英语上册Unit5Doyouwanttowatchagameshow第6课时习题课件新人教目标版
酸的和甜的教学课件.doc
Lesson-1-Where-do-we-go-from-here概要
Docker技术与实践
七年级英语下册-Unit-9-What-does-he-look-like(第3课时)(Grammar-Focus-3d)同步语法精讲精练课件-(新版
《I'm-going-to-do-the-high-jump》PPT课件3
高二英语外研版-必修5-Module-2-A-Job-Worth-Doing-Reading课件
英语片段教学-I-can-do-it
Adobe公司简介
安徽专版2018秋八年级英语上册Unit5Doyouwanttowatchagameshow第2课时习题课件新人教目标版
第二单元全课件Unit2-What-time-do-you-go-to-school-全课件
第18课-Windows的磁盘管理与安全
第12章--Windows-Server-2008路由及远程访问
2024-05-09 39页
2024-05-09 42页
2024-05-02 56页
2024-05-02 61页
2024-04-08 20页
2024-04-06 36页
2024-02-09 36页
2024-01-31 31页
2024-01-28 18页
2024-01-28 31页