学习中心。
专业。年级: 年春/秋季
学号。学生。
题目: 三进程同步与互斥生产者-消费者问题1.谈谈你对本课程学习过程中的心得体会与建议?
通过这些实验,让我们对身边的计算机网络有了更为客观、形象、具体的认识。而不是仅仅限于书本上的文字表达,或者是思维中模糊的想象。这门实验课程,不仅是对理论课程的巩固,更是对理论课程的扩充。
2. 《操作系统》课程设计, 从以下5个题目中任选其一作答。
题目三:进程同步与互斥生产者-消费者问题。
设计思路:生产者—消费者问题是一种同步问题的抽象描述。
计算机系统中的每个进程都可以消费或生产某类资源。当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。
而当某个进程释放资源时,则它就相当一个生产者。
流程(原理)图:
1、生产者。
2、消费者。
基本内容:通过一个有界缓冲区(用数组来实现,类似循环队列)把生产者和消费者联系起来。假定生产者和消费者的优先级是相同的,只要缓冲区未满,生产者就可以生产产品并将产品送入缓冲区。
类似地,只要缓冲区未空,消费者就可以从缓冲区中去走产品并消费它。应该禁止生产者向满的缓冲区送入产品,同时也应该禁止消费者从空的缓冲区中取出产品,这一机制有生产者线程和消费者线程之间的互斥关系来实现。为解决生产者/消费者问题,应该设置两个资源信号量,其中一个表示空缓冲区的数目,用g_hfullsemaphore表示,其初始值为有界缓冲区的大小size_of_buffer;另一个表示缓冲区中产品的数目,用g_hemptysemaphore表示,其初始值为0。
另外,由于有界缓冲区是一个临界资源,必须互斥使用,所以还需要再设置一个互斥信号量g_hmutex,起初值为1。
大工19秋《操作系统》大作业题目及要求
学习中心。专业。年级 年春 秋季 学号。学生。题目。1.谈谈你对本课程学习过程中的心得体会与建议?2.操作系统 课程设计,从以下5个题目中任选其一作答。操作系统 课程设计。注意 从以下5个题目中任选其一作答。总则 不限制编程语言,可以选用c c 等 具体工具平台及语言可以自己根据自己的习惯选用,不必...
大工18春操作系统大作业题目及要求
学习中心。专业。年级 年春 秋季 学号。学生。题目。1.谈谈你对本课程学习过程中的心得体会与建议?2.操作系统 课程设计,从以下5个题目中任选其一作答。操作系统 课程设计。注意 从以下5个题目中任选其一作答。总则 不限制编程语言,可以选用c c 等 具体工具平台及语言可以自己根据自己的习惯选用,不必...
大工18秋《操作系统》大作业题目及要求
学习中心。专业。年级 年春 秋季 学号。学生。题目。1.谈谈你对本课程学习过程中的心得体会与建议?2.操作系统 课程设计,从以下5个题目中任选其一作答。操作系统 课程设计。注意 从以下5个题目中任选其一作答。总则 不限制编程语言,可以选用c c 等 具体工具平台及语言可以自己根据自己的习惯选用,不必...