![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实验报告
文章平均质量分 71
木杉_BRETT
国防科大电子信息硕士在读
展开
-
管道通信
OS实验-管道通信 管道通信相关概念 所谓“管道”,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件。其中,向管道(共享文件)提供输入的发送进程(即写进程), 以字符流形式将大量的数据送入管道;而接受管道输出的接收进程(即读进程),则从管道中接收(读)数据。由于发送进程和接收进程是利用管道进行通信的,故又称为管道通信。 管道通信首创于UNIX系统,由于它能有效地传送大量数据,因而又被引入到许多其它操作系统中。 为实现管道通信,需要管道机原创 2021-04-13 11:10:43 · 1838 阅读 · 1 评论 -
消费者/生产者问题
OS实验-消费者/生产者问题(含代码实现) 问题描述 有一群生产者进程(线程)在生产产品,并将这些产品提供给消费者进程(线程)去消费。为使生产者进程(线程)与消费者进程(线程)能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池:生产者进程(线程)将它所生产的产品放入一个缓冲区中;消费者进程(线程)可从一个缓冲区中取走产品去消费。 它们之间必须保持同步原则:不允许消费者进程(线程)到一个空缓冲区去取产品;也不允许生产者进程(线程)向一个已装满产品且尚未被取走的缓冲区中投原创 2021-04-06 18:06:35 · 477 阅读 · 7 评论 -
哲学家就餐问题
OS实验-哲学家就餐问题(含代码实现) 问题描述 五个哲学家共有五只筷子,平时,一个哲学家进行思考,饥饿时便试图取其左右最靠近它的筷子,只有他拿到两只筷子时才能进餐。进餐毕,放下筷子继续思考。吃饭程序是:先取左边筷子,再取右边筷子,再吃饭,再放筷子。 实现方式 ——最多只允许四个“哲学家”同时进入临界区。 因为如果最多四个哲学家进入临界区,则一定有人可以吃饭,以此来解决死锁的问题。 在代码实现时,以循环队列的方式为每个筷子(需要互斥访问)设一把锁(信号量,初值为1)—原创 2021-03-31 19:12:29 · 745 阅读 · 6 评论