操作系统 第2部分_进程互斥及同步2.ppt

操作系统 第2部分_进程互斥及同步2

2.5 进程互斥与同步 ? 采用多道程序设计技术的操作系统,允许多个进程同时驻留内存并发执行。 ?如何协调多个进程对系统资源,如内存空间、外部设备等的竞争和共享? ?如何解决多个进程因为竞争资源而出现执行结果异常,甚至导致系统不稳定、失效等问题? ?例如,多个进程同时申请文件打印,如何有效分配打印机? 例如 银行的联网储蓄业务允许储户同时用储蓄卡和存折对同一帐户进行存取款操作,如果某储户同时(在ATM机和营业柜台)办理两笔存款业务(假设分别为1000和2000元) 从系统的角度看,有两个进程将同时对储户余额等数据进行修改。如果两个进程同时读出原余额(假设为5000元),两个进程分别将最新余额修改为6000(5000+1000)和7000(5000+2000)。 分析及措施 最后,储户余额可能是6000,或者7000,显然都不正确。 原因:两个进程同时修改同一数据,而没有进行有效控制。 正确的方法:如果有多个进程需要同时修改某一数据,系统必须控制,一次仅允许一个进程完成读数据,并修改数据两件事以后,才允许别的进程对同一数据的读和修改操作。 例 假设系统中有3个进程P1、P2、P3,其中P1和P2是计算进程,P3是打印进程,每当P1或P2计算出一个结果以后,将计算结果送到缓存区中,以便P3进程从中取出数据打印。 假设缓冲区被划分为0、1、2...n-1共n个单元。 有两个指针:i

文档评论(0)

1亿VIP精品文档

相关文档