2.6 进 程 通 信 2.6.1 进程通信的类型 1. 共享存储器系统(Shared-Memory System) 基于共享数据结构的通信方式。 (2) 基于共享存储区的通信方式。 2. 消息传递系统(Message passing system) 不论是单机系统、多机系统,还是计算机网络,消息传递机制都是用得最广泛的一种进程间通信的机制。在消息传递系统中,进程间的数据交换,是以格式化的消息(message)为单位的;在计算机网络中,又把message称为报文。程序员直接利用系统提供的一组通信命令(原语)进行通信。操作系统隐藏了通信的实现细节,大大减化了通信程序编制的复杂性,而获得广泛的应用。消息传递系统的通信方式属于高级通信方式。又因其实现方式的不同而进一步分成直接通信方式和间接通信方式两种。 4. 信号量集 Swait(S1, t1, d1, …, Sn, tn, dn) if Si≥t1 and … and Sn≥tn then for i∶=1 to n do Si∶=Si-di; endfor else Place the executing process in the waiting queue of the first Si with Si<ti and set its program counter to the beginning of the Swait Operation. endif signal(S1, d1, …, Sn, dn) for i∶=1 to n do Si ∶=Si+di; Remove all the process waiting in the queue associated with Si into the ready queue endfor; 一般“信号量集”的几种特殊情况: (1) Swait(S, d, d)。 此时在信号量集中只有一个信号量S, 但允许它每次申请d个资源,当现有资源数少于d时,不予分配。 (2) Swait(S, 1, 1)。 此时的信号量集已蜕化为一般的记录型信号量(S>1时)或互斥信号量(S=1时)。 (3) Swait(S, 1, 0)。这是一种很特殊且很有用的信号量操作。当S≥1时,允许多个进程进入某特定区;当S变为0后,将阻止任何进程进入特定区。换言之,它相当于一个可控开关。 2.3.3 信号量的应用 1. 利用信号量实现进程互斥 利用信号量实现进程互斥的进程可描述如下: Var mutex:semaphore∶ =1; begin parbegin process 1: begin repeat wait(mutex); critical section signal(mutex); remainder seetion until false; end process 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend 2. 利用信号量实现前趋关系 图 2-10 前趋图举例 Var a,b,c,d,e,f,g; semaphore∶=0,0,0,0,0,0,0; begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wait(c); S4; signal(f); end;
您可能关注的文档
最近下载
- 人教版一年级上册第七单元认识钟表练习题.doc VIP
- (高清版)B/T 8878-2023 针织内衣.pdf VIP
- 高危孕产妇管理课件.ppt VIP
- 8.英皇考级(视奏八级).pdf VIP
- 2023年希望杯数学培训100题——五年级(含答案) .docx VIP
- 精品解析:四川省成都市第七中学2025-2026学年高一上学期12月阶段性测试数学试题(原卷版).docx VIP
- CJJ28-2014 城镇供热管网工程施工及验收规范.docx VIP
- 中山市2022-2023学年七年级上学期期末历史试题.docx VIP
- 北师版数学五年级上学期期末真题1(北师大版含答案) .pdf VIP
- 2025年成都市青羊区树德实验中学八年级(上)期末考试物理试题 .pdf VIP
原创力文档

文档评论(0)