操作系统课程设计指导

操作系统课程设计指导

ID:15089089

大小:56.50 KB

页数:7页

时间:2018-08-01

操作系统课程设计指导_第1页
操作系统课程设计指导_第2页
操作系统课程设计指导_第3页
操作系统课程设计指导_第4页
操作系统课程设计指导_第5页
资源描述:

《操作系统课程设计指导》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统课程设计指导一、课程设计的目的操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。《操作系统课程设计》是《操作系统》理论课的必要补充,是复习和检验所学课程的重要手段,本课程设计的目的是综合应用学生所学知识,通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。二、课程设计的要求1.分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。2.画出程序的基本结

2、构框图和流程图。3.对程序的每一部分要有详细的设计分析说明。4.源代码格式要规范。5.设计合适的测试用例,对得到的运行结果要有分析。6.设计中遇到的问题,设计的心得体会。7.按期提交完整的程序代码、可执行程序和课程设计报告。三、课程设计题目选做3、4、6、8可以申请优秀。1、吃水果问题桌上有一盘子,可以存放一个水果。爸爸总是放苹果到盘子中,而妈妈总是放香蕉到盘子中;一个儿子专等吃盘中的香蕉,一个女儿专等吃盘中的苹果。请用P,V操作实现上述问题的解。分析:在本题中,爸爸、妈妈、儿子和女儿共用一个盘子

3、,盘子一次只能放一个水果。当盘子为空时,爸爸和妈妈都可以试着将一个水果放入盘中,但一次只能有一人成功放入水果。若放入盘子中的是香蕉,则允许儿子吃,女儿必须等待;若放入盘子中的是苹果,则允许女儿吃,儿子必须等待。在本题中,应设置3个信号量dish、apple、banaba,信号量dish表示盘子是否为空,其初值为1;信号量apple表示盘中是否有苹果,其初值为0;信号量banana表示盘中是否有香蕉,其初值为0。进程之间的同步描述如下:Semaphoredish=1;Semaphoreapple,b

4、anana=0;Main(){cobeginfather();mother();son();daughter();coend}Father()mather(){{while(true)while(true){{p(dish);p(dish);将苹果放入盘中;将香蕉放入盘中;v(apple);v(banana);}}}}Son()daughter(){{while(true)while(true){{p(banana);p(apple);从盘中取出香蕉;从盘中取出苹果;v(dish);v(dish)

5、;吃香蕉;吃苹果;}}}}2、司机与售票员问题设公共汽车上,司机和售票员的活动分别是:司机的活动:启动车辆;正常行车;到站停车。售票员的活动:关车门;售票;开车门。在汽车不断的到站、停站、行驶过程中,用信号量和P,V操作实现它们的同步。分析:在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客下车。因此司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开

6、车门的动作也必须与司机停车取得同步。在本题中,应设置两个信号量s1、s2,s1表示是否允许司机启动汽车,其初值为0;s2表示是否允许售票员开车门,其初值为0。这两个活动的同步用P,V原语描述如下:Semaphores1,s2=0;Main(){cobegindriver();busman();coend}Driver()busman(){{while(true)while(true){{p(s1);关车门;启动车辆;v(s1);正常行车;售票;到站停车;p(s2);v(s2);开车门;}上下乘客;

7、}}}3、文件打印问题有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用PV操作来保证文件的正确打印。分析:进程PA、PB、PC之间的关系为:PA与PB共用一个单缓冲区,而PB又与PC共用一个单缓冲区,其合作方式如图所示。当缓冲区1为空时,进程PA可以将一个记录读入其中;若缓冲区1中有数据且

8、缓冲区2为空,则进程PB可以将记录从缓冲区1复制到缓冲区2中;若缓冲区2中有数据,则进程PC可以打印记录。其他条件下,相应进程必须等待。为遵循这一同步规则,应设置4个信号量empty1,empty2,full1,full2,信号量empty1、empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;信号量full1、full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。同步描述如下:semaphoreempty1,empty2=1;semaphorefull1,f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。