1 / 5
文档名称:

操作系统实验报告.doc

格式:doc   大小:133KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统实验报告.doc

上传人:2830622664 2022/2/25 文件大小:133 KB

下载得到文件列表

操作系统实验报告.doc

相关文档

文档介绍

文档介绍:...wd...
...wd...
实现进程之间的互斥,观察并分析出现的现象。
运行结果:
加锁后的程序:
运行结果:
大致与未上锁的输出结果一样,也是随着执行时间不同,输出结果的顺序有所不同。
〔3〕①编写一段程序,使其现实进程的软中断通信。
要求:使用系统调用fork()创立两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号〔即按DEL键〕;当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出以下信息后终止:
Child Processll is Killed by Parent!
Child Processl2 is Killed by Parent!
父进程等待两个子进程终止后,输出如下的信息后终止
...wd...
...wd...
...wd...
Parent Process is Killed!
②在上面的程序中增加语句signal (SIGNAL, SIG-IGN) 和signal (SIGQUIT, SIG-IGN), 观察执行结果,并分析原因。
〔4〕进程的管道通信
编制一段程序,实现进程的管理通信。
使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道中写一句话:
Child 1 is sending a message!
Child 2 is sending a message!
而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。
要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。
...wd...
...wd...
...wd...
4、思考
〔1〕系统是怎样创立进程的?
Init程序以/etc/inittab为脚本文件来创立系统的新进程的。新进程还克以创立新进程。创立新进程是通过克隆老进程或当前进程来创立的。新进程的创立实用系统调用sys_fork()或sys_clone(),并且在内核模式下完成。在系统调用完毕时,系统从物理内存中分配一个心的task_struct()数据构造和进程堆栈,同时获得一个唯一的标示此进程的标识符。
通过FORK函数调用促使内核创立一个新的进程,该进程是调用进程的