大一计算机ppt4.3实训内容,计算机操作系统许曰滨版第四章.pptx

计算机操作系统许曰滨版第四章

计算机操作系统原理;主要内容;4.1 基本概念;进程之间的关联由于共享资源引起的错误;;4.1.1 临界资源和临界区;4.1.2 互斥管理准则;互斥与同步的关系;4.2 互斥的解决:软件方法;Dekker Algorithm;;;;; 第四次尝试 这是一个“礼让为先”的算法,每个进程设置好自己的flag标志,表明希望进入临界区。但也准备重置flag,以表示谦让。算法如下:

Process P (1) Process P (2)Begin begin…… ……Flag[1] = true; Flag[2] = true;While (Flag[2]) do While (Flag[1]) do {flag[1]=false; {flag[2]=false; flag[1]=true}; flag[2]=true};Critical section; Critical section;Flag[1] = false; Flag[2] = false;…… ……end. end.;正确的Dekker算法;Peterson算法;4.3 硬件方法;4.3.1 交换指令;4.3.2 测试与设置指令;;4.4 信号量机制(PV原语);;4.4.1 整型信号量;;;4.4.2 记录型信号量;;;;;;;;;;;;;;;;卡车计数问题;卡车计数问题;生产者-消费者问题;P(Mutex);P(Mutex)?无法进行,mutex=0;Mutex=1;P(Mutex);一个生产者和一个消费者共享一个Buffer;一个生产者与一个消费者共享一块Buffer的例子;一个生产者与一个消费者共享n块Buffer的例子;一个生产者与一个消费者共享n块Buffer的例子;经典生产者-消费者问题;;生产者进程的同步控制程序描述为下述过程: Var mutex, Sin, Sout:Semaphore:=1,n,0; Var in, out: Integer: =0,0; Parbegin Process Producer( ) Begin While (true) Begin Produce_an_Item()_in_NextP1; //计算一个数据 P(Sin); P(mutex); Buffer[in]=NextP1;//临界区 in=(in+1) MOD n; V(mutex); V(Sout);; EndEnd

Process Consumer( ) Begin While (true) Begin P(Sout); P(mutex); NextP2=Buffer[out]; // 临界区 out=(out+1) MOD n; V(mutex); V(Sin); Consume_an_Item()_in_NextP2; // 消费一个数据 EndEndParend.;58;59;思考1:三个进程仍然各司其职,但改用一块Buffer。进程间同步还是互斥?应该设几个信号量?;练习2:三组进程Producer、ConsumerOdd、ConsumerEven互斥使用一个包含N个单元的缓冲区。;Parbegin Process produceri (i=1,2,..) Begin Repeat Produce(x); P( ) ; P( );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值