操作系统实验一 Linux基本环境及进程管理(11)

心溺深海 分享 2021-06-02 下载文档

操作系统实验一 Linux基本环境及进程管理

}

}

三、运行结果

执行命令ls -l ,列出当前目录下所有文件和子目录;

ls completed!

四、分析原因

程序在调用fork( )建立一个子进程后,马上调用wait( ),使父进程在子进程结束之前,一直处于睡眠状态。子进程用exec( )装入命令ls ,exec( )后,子进程的代码被ls的代码取代,这时子进程的PC指向ls的第1条语句,开始执行ls的命令代码。

注意在这里wait( )给我们提供了一种实现进程同步的简单方法。

五、思考

(1)可执行文件加载时进行了哪些处理?

(2)什么是进程同步?wait( )是如何实现进程同步的?

4.编制一段程序,使其实现进程的软中断通信。

要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键);当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:

Child process 1 is killed by parent!

Child process 2 is killed by parent!

父进程等待两个子进程终止后,输出如下的信息后终止:

Parent process is killed!

实验指导

一、信号

1 、信号的基本概念

每个信号都对应一个正整数常量 ( 称为 signal number, 即信号编号。定义在系统头文件 <signal.h> 中 ) , 代表同一用户的诸进程之间传送事先约定的信息的类型,用于通知某进程发生了某异常事件。每个进程在运行时,都要通过信号机制来检查是否有信号到达。若有, 便中断正在执行的程序,转向与该信号相对应的处理程序,以完成对该事件的处理;处理结束后再返回到原来的断点继续执行。实质上,信号机制是对中断机制的一 种模拟,故在早期的 UNIX 版本中又把它称为软中断。

操作系统实验一 Linux基本环境及进程管理(11).doc 将本文的Word文档下载到电脑

下一篇:FDA与ISO食品微生物检验方法

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7 元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx