教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

2014年操作系统课程设计题目与要求(4)

来源:网络收集 时间:2026-03-31
导读: 操作系统课程设计指导 而父进程则循环从管道中读出信息,显示在屏幕上。 用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字

操作系统课程设计指导

而父进程则循环从管道中读出信息,显示在屏幕上。

用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字节数一致,若不一致,则会出现什么问题。 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字,全部文档内容请下载后查看。喜欢就下载吧 ……
2014年操作系统课程设计题目与要求(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/434677.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)