第三章 进程的同步与通信

原创 2007年09月29日 18:57:00

第三章 进程的同步与通信

3.1   进程同步的概念

3.2   信号量机制

3.3   经典进程同步问题

3.4   管程机制

3.5   进程通信

 3.1     进程同步的概念

进程之间的关系:

资源共享关系:

相互合作关系:

1.  临界资源

临界资源的定义:

2.  临界区:

⑴临界区的定义

⑵临界区进入和退出的方法:

⑶同步机制应该遵循的准则:

  空闲让进、忙则等待、有限等待、让权等待

3.  利用软件方法解决进程互斥问题

4.  利用硬件方法解决进程互斥问题

⑴利用Test-and-Set指令实现互斥

   TS指令:

   TS(lock)

   Int   *lock;

   { int t;

    t=*lock;

    *lock=1;

    return(t);

   }

   入口:while(TS(&lock));

   出口:lock=0;

⑵利用Swap指令实现互斥

  Swap指令:

  Swap(a,b)

   Int  *a,*b;

  {

int  t;

t=*a;

a=b;

*b=t;

      }

      入口:key=1;

            do

            {swap(&lock,&key);

              }while(key==0);

           }

      出口:lock=0;

 

3.2     信号量机制

1.  整型信号量机制:

⑴整形信号量:

⑵利用信号量互斥:

⑶利用信号量描述前驱关系:

2.  记录型信号量机制:

3.  信号量集机制:

⑴AND信号量集机制:

⑵一般信号量集机制:
 

3.3     经典进程同步问题

1.        生产者消费者问题。

2.        读者写者问题。

3.        哲学家进餐问题。
 

3.4     管程机制

1.管程的引入:

2.管程的基本概念:

  ⑴管程的定义:

  ⑵条件变量

3.利用管程解决生产者----消费者问题

4.  利用管程解决哲学家进餐问题

5.  利用管程解决读者写者问题:(孙钟秀)

 

3.5     进程通信

进程通信的定义:进程间的信息交换。

进程通信:

低级进程通信:少量的信息交换,没有专门的通信机制,如信号量机制

             缺点:效率低,通信对用户不透明

高级进程通信:大量的信息交换,有专门的通信机制

 

1.  进程的通信类型:

⑴共享存储器系统

①基于共享数据结构的通信方式:

②基于共享存储区的通信方式:

  ⑵消息传递系统:

   message为传递单位

    直接通信方式和间接通信方式(信箱方式)

  ⑶管道通信

2.  直接通信和间接通信方式

 ⑴直接通信方式:

 ⑵间接通信方式:

3.  消息传递系统的几个问题:

 ⑴通信链路

 ⑵消息的格式

 ⑶进程的同步方式

  ①发送进程阻塞,接收进程阻塞;

  ②发送进程不阻塞,接收进程阻塞;

  ③发送进程和接收进程均不阻塞;

4.消息缓冲队列机制

 ⑴消息缓冲队列机制中的数据结构:

 ⑵发送原语

 ⑶接收原语 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

进程间通信第三章(System V IPC)

1.概述 System V IPC的三种类型: System V消息队列 Syste V信号量

linux进程间通信与同步

  • 2013-09-09 16:47
  • 193KB
  • 下载

nginx源码分析--进程间通信机制 & 同步机制

Nginx源码分析—进程间通信机制 从nginx的进程模型可以知道,master进程和worker进程需要通信,nginx中通信的方式有套接字、共享内存、信号。对于master进程,从外部接受信号,...

进程同步与通信

  • 2013-11-18 23:06
  • 484KB
  • 下载

Windows线程同步机制的区别与比较及进程通信方法

原文:http://blog.csdn.net/eulb/article/details/2177500 多线程同步机制 (Windows)   线程的同步机制: 1、   E...

进程的同步与通信

  • 2013-01-12 19:18
  • 216KB
  • 下载

进程通信与同步

  • 2012-02-10 22:15
  • 3.13MB
  • 下载

多进程间通信方式和多线程同步机制总结

多进程之间通信方式:           文件映射:本地之间           共享内存:本地之间  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)