实验1:熟悉- Linux系统课件.pptVIP

  • 1
  • 0
  • 约4.17千字
  • 约 48页
  • 2019-05-23 发布于湖北
  • 举报
内容及要求 调试、运行给出的程序,从操作系统原理的角度验证程序的正确性; 发现并修改程序中的原理性错误或不完善的地方; 鼓励在程序中增加新的功能。完成基本功能的,得基本分;添加新功能的加分; 在程序中适当地加入注释; 认真进行预习,阅读原程序,发现其中的原理性错误,完成预习报告; 实验完成后,要认真总结,完成实验报告。 程序说明 所给程序模拟两个进程,即生产者(producer)进程和消费者(Consumer)进程工作; 生产者每次产生一个数据,送入缓冲区中; 消费者每次从缓冲区中取走一个数据。 共享缓冲区 生产指针 消费指针 Producer Consumer 满 空 指针移动方向 程序说明 缓冲区可以容纳8个数据; 因为缓冲区是有限的,因此当其满了时生产者进程应该等待;当消费者取走一个数据后,应唤醒正在等待的生产者进程; 当缓冲区空时,消费者进程应该等待;当生产者向缓冲区放入了一个数据时,应唤醒正在等待的消费者进程。 这就是生产者和消费者之间的同步 程序说明(续) 每次写入和读出数据时,都将读和写指针加一。当指针到达缓冲区尾,重新将指针退回起点; 为简单起见,每次产生的数据为0-99的整数,从0开始,顺序递增; 两个进程的调度是通过运行者使用键盘来实现的。 程序使用的数据结构 进程控制块:包括进程名,进程状态和执行次数。 缓冲区:一个整数数组 缓冲区说明块:

文档评论(0)

1亿VIP精品文档

相关文档