2014年操作系统课程设计题目与要求(4)
操作系统课程设计指导
而父进程则循环从管道中读出信息,显示在屏幕上。
用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字节数一致,若不一致,则会出现什么问题。 3、要求
⑴仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。
⑵报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。
题目8 linux进程软中断实现进程间通信
1、目的
调用linux系统调用实现多进程的创建、进程间利用软中断进行通信。 2、内容 ⑴进程的创建
编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。
如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象? (2)进程的“软中断”通信
它可用于同一用户的进程之间通信。其方式是:一个进程通过系统调用
kill(pid,sig) 向同一用户的其它进程pid发送一个软中断信号:另一进程通过系统调用signal(sig,func)捕捉到信号sig后,执行予先约定的动作func,从而实现这两个进程间的通信。
①发送信号kill(pid,sig),本进程将指定信号sig发送给指定进程pid,其中参数为pid进程号,pid与sig均为整数值。
16
操作系统课程设计指导
②接收信号signal(sig,func),本进程接收到其它进程发送给它的信号后,完成指定的功能func。func一般是函数。
在程序中系统调用sleep(second)用于进程的同步与互斥,自变量是暂停秒数。其功能是使现行进程暂停执行由自变量规定的秒数。
类似的系统调用有pause(),它的功能是暂停执行本进程,等待kill发来的信号,收到信号后再继续执行。
在特殊情况下,常用到如下语句signal(SIGINT,SIG_IGN)。它表示遇到了中断信号SIGINT(按Del键)。本进程不做任何动作,即勿略该中断信号对本进程的影响。 (3) 编写一个程序,实现进程的“软中断”通信。使用系统调用fork()创建2个子进程,再使用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键),在捕捉到中断信号后,父进程用系统调用kill()向2个子进程发信号,子进程捕捉到信号后分别输出下列信息后终止: Child process 1 is killed by parent ! Child process 3 is killed by parent !
父进程等待2个子进程都终止后,输出如下信息后终止: Parent process is killed ! 3、要求
⑴仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。
⑵报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。
题目9 linux进程锁实现进程间同步与互斥
1、目的
调用linux系统调用实现多进程的创建、进程间利用软中断进行通信。 2、内容
17
操作系统课程设计指导
⑴进程的创建
编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。
(2)系统调用locking进程的控制
利用系统调用locking(fd,mode,size),对指定文件的指定区域(由size指示)进行加锁或解锁,以实现进程的同步与互斥。其中fd是文件描述字;mode是锁定方式,=1表示加锁,=0表示解锁,size是指定文件fd的指定区域,用0表示从当前位置到文件尾。 常用程序段
fd = open( “a.out”,2 ); i = fork(); if( i==0 )
{ locking(fd,1,0); ???
locking(fd,0,0); }
(3) 编写一个程序,创建一个文件,文件名为lock.dat,同时父进程创建2个子进程,通过系统调用locking(),分别让2个子进程对文件加锁,再输出有关信息,然后解锁。 3、要求
⑴仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。
⑵报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。
18
操作系统课程设计指导
题目10 利用进程同步与互斥实现吃水果问题
1、目的
调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。 2、内容 ⑴进程的创建
编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。
(2)利用进程同步与互斥编程实现吃水果问题:
桌上有一盘子,桌上有一个空盘,允许存放一只水果,爸爸可向盘内放苹果,妈妈可向盘内放桔子,儿子专等吃盘内的桔子,女儿专等吃盘中的苹果。 3、要求
⑴仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。
⑵报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。
题目11 利用进程同步与互斥实现理发师问题
1、目的
调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。 2、内容 ⑴进程的创建
编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:
19
操作系统课程设计指导
父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。
(2)利用进程同步与互斥编程实现理发师问题: (1)一个理发店接待室有n张椅子,工作室有1张椅子; (2)没有顾客时,理发师睡觉;
(3)第一个顾客来到时,必须将理发师唤醒;
(4)顾客来时如果还有空座的话,他就坐在一个座位上等待; (5)如果顾客来时没有空座位了,他就离开,不理发了;
(6)当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。 3、要求
⑴仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。
⑵报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。
题目12 利用进程同步与互斥实现面包房算法
1、目的
调用linux系统调用实现多进程的创建、进程间同步与互斥解决具体问题。 2、内容 ⑴进程的创建
编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。
(2)利用进程同步与互斥编程实现面包房算法:
20
…… 此处隐藏:1457字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




