操作系统 进程同步和通信

操作系统 进程同步和通信

死锁:进程间争夺资源而相互等待,以至于进程无法运行

并发执行的实现

并发编程方法

要想让任务中的并发成分能够并发执行,通常有如下三种方法:

  • 编写顺序程序,系统来识别顺序程序的并发成分,利用操作系统支持的进程机制分发这些任务
  • 由程序员识别并发成分,利用并发程序设计语言编写设计并发的程序,在编译时由编译系统安排创建相应的一组进程
  • 程序员识别并发,利用操作系统的进程机制提供的系统调用的并行库函数生成进程并运行并发子任务。c语言不是并发编程语言,需要使用此方法。

并发执行的实现

并发执行的实现还 依赖操作系统的进程或线程机制。

操作系统提供进程或线程创建、结束和同步等系统调用,用来支持并发程序的执行。

UNIX中支持并发执行,与进程相关的几个系统调用:

  • fork(): 创建一个新的进程,该系统调用执行完成后,系统就创建了一个子进程,子进程进程映像的程序区、数据区和栈区按如下规则生成:该子进程继承父进程的程序空间,复制父进程的数据区和栈区。
  • exit(status):结束进程
  • wait(&status):等待子进程结束
  • waitpid(pid …):等待指定的进程结束

进程的同步与互斥

进程之间的制约关系:

  • 同步关系:直接制约关系,指为完成用户任务的伙伴进程间,因为
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值