【操作系统】第二章 进程的描述和控制

进程的基本概念

进程的定义与特征

进程控制块

进程的状态

进程调度队列

进程控制

进程创建

进程终止

进程阻塞与唤醒

进程的挂机与激活

进程同步

互斥、同步

临界区

信号量机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

信号量的应用

互斥

在这里插入图片描述

同步

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

经典进程的同步问题

生产者-消费者问题

读者-写者问题

哲学家进餐问题

进程通信

线程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

习题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

正确答案: 
互斥信号量 s1=1, s2=1;
(因为只有一个get、copy和put进程,故可不定义互斥信号量)
     同步信号量4个:
  full1=0, empty1=1; 为一对
  full2=0, empty2=1; 为一对
get process:
 while (1) {
       read data;
       wait (empty1);
       wait (s1)
           put data into buffer1
        //因为是单缓,故无in指针,可写为
       // buffer1=x;
       signal (s1)
       signal (full1)
}
Copy process:
while (1) {
       wait (full1)
        wait (s1)
            copy data from buffer1
          //单缓,无out指针,可写y=buffer1
        signal (s1)
       signal (empty1)
       wait (empty2)
       wait (s2)
            put data into buffer2
         // buffer2=y
        signal(s2)
        signal (full2)
     }
Put process:
while(1) {
       wait (full2)
       wait (s2)
            get data from buffer2
         // z=buffer2
       signal (s2)
       signal (empty2)
             print data on printer
}

在这里插入图片描述

正确答案: 
互斥信号量mutex=1;
每次放纸时只能放入一包A3或A4纸,每次取纸时只能取一包A3或A4纸,放纸和取纸不能同时进行。
三个资源信号量
full3是A3“满”数目,初值为0, full4是A4“满”数目,初值为0, empty是文件柜“空”数目,初值为10:
         full3 + full4 + empty == 10
只要文件柜未满empty>0,A3和A4纸均可放入;
只要A3未空full3>0,便可取走A3纸;
只要A4未空full4>0,便可取走A4纸
Semaphone empty=10, full3=0, full4=0, mutex=1;
放纸进程:
while(1){
    wait (empty);
   if (放A3纸){
     wait (mutex);        
      放A3纸;
      signal (mutex);
      signal (full3);}
  else {
     wait (mutex);        
      放A4纸;
      signal (mutex);
      signal (full4);}
  离开;
}  
取纸进程:
while(1){
  if (取A3纸){
      wait(full3);
      wait (mutex);        
      取A3纸;
      signal (mutex);
  }
  else{
      wait(full4);
      wait (mutex);        
      取A3纸;
      signal (mutex);
  }
  signal(empty);
  离开;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值