- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;培训大纲;同步与互斥的概念;同步与互斥; 信号量说明:信号量就是操作系统中所用到的PV原语,广泛用于进程或线程间的同步与互斥。本质上是一个非负的整数计数器,被用来控制对公共资源的访问。
PV原语是对整数计数器信号量sem的操作。一次P操作使sem减一,而一次V操作使sem加一。进程或线程根据信号量的值来判断是否对公共资源具有访问权限
当信号量sem的值大于等于零时,该进程或线程具有公共资源的访问权限
相反,当信号量sem的值小于零时,该进程或线程就将阻塞直到信号量sem的值大于等于0为止
PV原语主要用于进程或线程间的同步和互斥两种典型情况。
如用于互斥,几个进程或线程往往只设置一个信号量sem
当信号量用于同步操作时,往往会设置多个信号量,并安排不同的初始值来实现他们之间的顺序执行
P操作和V操作是不可中断的程序段,称为原语.P,V原语中P是荷兰语Passeren,相当于英文的pass,V是荷兰语的Verhoog,相当于increment。;信号量的定义;信号量的物理含义;P操作;V操作;注意;培训大纲;进程号;进程复制fork();system()方式;进程执行exec;所有用户态进程的产生进程init;培训大纲;进程间通信概述;进程间通信概述;管道;管道通信;管道通信;半双工管道;半双工管道;半双工管道;命名管道(FIFO);创建命名管道;命名管道(FIFO);IPC结构;IPC结构;IPC结构;IPC结构;消息队列;消息队列;消息队列;消息队列;消息队列;信号量;信号量;信号量;信号量;信号量;信号量;具有依赖关系的作业调度问题;解法(1);解法(2);生产者—消费者问题;生产者—消费者问题示意图;共享内存
概述
一种最为高效的进程间通信的方式
进程可以直接读写内存。不需要任何数据的拷贝
内核专门留出一段内存区,使得多个进程间交换信息
此段内存区可以由需要访问的进程将其映射到自己的私有地址空间
共享内存的实现
实现分为两个步骤
创建共享内存:用到的函数shmget,即从内存中获得一段共享内存区域
映射共享内存:把这段创建的共享内存映射到具体的进程空间,使用的函数shmat
还有撤销映射的操作,函数为shmdt;共享内存;共享内存;函数格式;共享内存;共享内存;共享内存;信号通信
信号概述
信???是UNIX中使用的进程通信最古老的一种方法。
在软件层次上对中断机制的一种模拟,是一种异步通信方式
信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件
一个完整的信号生命周期可以分为3个重要阶段,这3个阶段由4个重要事件来刻画
信号产生
信号在进程中注册
信号在进程中注销
执行信号处理函数;信号概述;相邻两个事件的时间间隔构成信号生命周期的一个阶段
信号处理有多种方式,一般是由内核完成的,当然也可以有用户进程完成
不可靠信号的处理过程
发现该信号已经在进程中注册,则忽略该信号
故若前一个信号还未注销又产生了相同的信号就会产生信号丢失
可靠信号的处理过程
发现信号不管该信号是否已经在进程中注册,都会被再注册
所有可靠信号都支持排队,而不可靠信号则都不支持排队
;信号;下面是几个常见的信号。
1).SIGHUP: 从终端上发出的结束信号;
2).SIGINT: 来自键盘的中断信号(Ctrl-C);
3).SIGQUIT:来自键盘的退出信号(Ctrl-\);
8).SIGFPE: 浮点异常信号(例如浮点运算溢出);
9).SIGKILL:该信号结束接收信号的进程;
11). SIGSEGV:对执行一个无效存储访问的进程产生一个SIGSEGV
14).SIGALRM:进程的定时器到期时,发送该信号;
15).SIGTERM:kill 命令发出的信号;
17).SIGCHLD:标识子进程停止或结束的信号;
19).SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号
…………;信号发送与捕捉
kill()和raise()
kill函数同kill系统命令一样,可以发送信号给进程或进程组。
注意:它不仅可以中止进程,也可以向进程发送其他信号
raise()与kill不同的是,它允许进程向自身发送信号
alarm()和pause()
alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它就向进程发送SIGALARM信号。
注意:一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替
pause()函数是用于将调用进程挂起直至扑捉到信号为止。可用于判断信号是否已到
信号的处理
特定的信号是与一定的进程相联系的
一个进程可以决定在该进程中需要对哪些信号进程什么样的处理;信号处理函数;同时一个进程还
您可能关注的文档
- CC上海国际金融大厦投资规划.pptx
- CATIA电气线束简介.pptx
- CDFI上岗证考试学习资料.pptx
- CDMA通信原理介绍.pptx
- CEM2008混凝图企业管理系统培训.pptx
- CEO的战略管理与决策分析.pptx
- CEO管理运营之道做自己人生的CEO47492786.pptx
- CEO管理运营之道经典实用课件之七十七高伟.pptx
- CEO管理运营之道经典实用课件之八十一西点执行力1.pptx
- ch09新产品开发与产品生命周期.pptx
- 汇率“指挥棒”,造纸业进口的变奏曲.docx
- 解锁土壤密码:用地类型视角下的风险评估与分级之路.docx
- 二年级数学上册应用题专项练习题(每日一练,共11份).docx
- 二年级数学上册应用题专项练习题(每日一练,共11份).pdf
- 安徽省马鞍山含山2026届化学高一第一学期期末监测模拟试题含解析.doc
- 2026届广东省汕头市潮阳新世界中英文学校化学高一第一学期期中综合测试试题含解析.doc
- 2026届广西玉林市化学高一第一学期期中质量检测试题含解析.doc
- 解码中国对外直接投资版图:布局与驱动因素全解析.docx
- 差分隐私树形结构设计-洞察及研究.docx
- “商车费改”:撬动车险市场变革的杠杆.docx
文档评论(0)