操作系统综合设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉工程大学
计算机科学与工程学院综合设计报告
设计名称:操作系统综合设计
设计题目:进程同步与死锁
学生学号:
专业班级:
学生姓名:
学生成绩:
指导教师(职称):张立(讲师)
完成时间:14年2月17日至14年2 月28日武汉工程大学计算机科学与工程学院制
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个
学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个综合设计期间的表现、设计
完成情况、报告的质量及答辩等方面,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节。凡不参加答辩者,其成绩一律
按不及格处理。答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设
计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用
于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
答辩记录表
成绩评定表学生姓名:学号:班级:
目录
(以下章节名称为参考)
摘要...................................................................................................II Abstract................................................................................................ II 第一章课题背景(或绪论、概述).. (1)
1.1 XXXX (1)
1.2 XXXX (x)
第二章设计简介及设计方案论述 (x)
2.1 XXXX (x)
2.2 XXXX (x)
2.3 XXXX (x)
第三章详细设计 (x)
3.1 XXXX (x)
3.1 XXXX (x)
第四章设计结果及分析 (x)
4.1 XXXX (x)
4.2 XXXX (x)
4.3 XXXX (x)
总结 (x)
致谢 (x)
参考文献 (x)
附录主要程序代码 (x)
摘要
生产者—消费者问题是一种同步问题的描述。该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据,通过Windows的消息机制实现线程之间的同步。并发程序共享系统资,在竞争时可能会产生死锁,即每个进程都无限等待的另一个进程占有的资源。为了避免这种情况的产生,银行家算法是一种最具有代表性的避免死锁的算法,它允许系统动态的申请资源,但在分配资源前,计算安全性,安全则分配否则反之。通过数组之间计算判断情况以及给出安全序列,判断进程申请资源的安全性,判断是否给该进程分配申请的资源。
关键词:生产着与消费者;同步;死锁;银行家算法
Abstract
Producer - consumer problem is to describe a synchronization problem. The problem described two threads share a fixed size buffer , ie the so-called problem of "producer" and "consumer" in the actual operation will occur. The main role of the producer is to produce a certain amount of data into the buffer, and then repeat the process. At the same time , consumers are consuming data buffer . The key to this problem is to ensure that the producers will not join data when the buffer is full , the consumer does not consume the data in the buffer is hollow , through the Windows message mechanism to achieve synchronization between threads . Concurrent program to share system resources , while competition may produce a deadlock , another process that is waiting for each process occupies an infinite resource . To avoid this situation , the banker's algorithm is one of the most representative algorithms to avoid deadlock , which allows the system to dynamically request resources , but before the allocation of resources , computing security , security is assigned otherwise contrary . By calculation to determine the situation between the array and the security given sequence , determine the process to apply security resources to determine whether the resources allocated to the application process .
Keywords:Production of consumer; synchronization; deadlock; banker's algorithm