操作系统课程设计

资源大小: 50KB
资源类型:其他文档
发布人: xxgcdzjs   等级:6    
发布日期: 3个月前
Tag: 操作系统课程设计 计算机类
资源分: 0
下载人数: 814

软件说明:

设计1 进程管理
1. 设计目的
加深对进程概念的理解,明确进程和程序的区别;进一步认识并发执行的实质;实现Linux中进程通信的两种方式:软中断和管道通信。
2. 设计内容
1) 进程的创建和控制
编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。每个进程在屏幕上显示一个字符,记录屏幕上的显示结果,并分析原因。修改以编写的程序,将每个进程输出一个字符改为每个进程输出一句话。
2) 进程的软中断通信
使用系统调用fork()创建两个子进程,使用系统调用
signal()让父进程捕捉用alarm函数设置时钟的时间段终止时产生的信号,当捕捉到该信号后,父进程使用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出子进程被杀死信息后终止,父进程等待两个子进程终止后,输出父进程被杀死信息后终止程序。记录屏幕上的显示结果,并分析原因。
3) 进程的管道通信
使用系统调用pipe()建立一个管道;两个子进程分别向管道写信息,父进程则从管道读出来自子进程的信息,显示在屏幕上。
记录屏幕上的显示结果,并分析原因。
3. 系统调用函数说明、参数值及定义
1. Fork()
创建一个新进程进程
int fork()
其中返回int取值意义如下:
正确返回:在父进程中返回子进程的进程号,在子进程中返回0
错误返回:-1
2.Lockf(int files,int function,long size)
用作锁定文件的某些段或者整个文件。
file:文件描述符;function:锁定和解锁,1表示锁定,0表示解锁;size:是锁定或解锁的字节数,若用0,表示从文件的当前位置到文件尾。
3.Signal(int sig, (*func) function)
进程控制软中断信号的处理。signal()会依照参数sig指定的信号编号来设置该信号的处理函数。
sig: SIGALRM: alarm()函数设置的时钟的时间段终止时产生的信号.
其它信号略
function:信号处理的一个函数地址。
4. kill(int pid,int sig)
向一个进程或一个进程组发信号,可以用来送参数sig指定的信号给参数pid指定的进程。
pid: pid>0 将信号传给进程号为pid的进程
其它略
signumber: 送给进程号为pid进程指定信号量
5. alarm(unsigned int seconds)
设置一个指定时间的计时器
seconds: 设置时间秒数
6. int pipe(int filedes[2])
filedes为整数数组名,在调用这个函数后,系统为通道分配的两个文件描述符将通过这个数组返回到用户进程中, filedes[1]是文件输出描述符, filedes[0]是文件输入描述符
7. int wait(int *status)
暂停目前进程的执行,直到有信号到来或子进程的结束。子进程的结束状态指会由参数status返回,如果不在意结束状态时,则参数status可以设置成NULL

共有评论
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|版权声明|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright©2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo