- 10
- 0
- 约 20页
- 2017-06-11 发布于湖北
- 举报
实验六 软中断信号及处理 实验目的 加深对进程概念的理解,明确进程和程序的区别、进一步认识并发执行的实质 了解并熟悉Linux系统中利用软中断信号实现进程通信的基本概念及方法 熟悉Linux提供的有关系统调用函数/库函数,并能使用这些函数 实验准备及预习 阅读讲义《附件7-软中断信号及处理》,了解Linux系统中利用软中断信号实现进程通信的基本概念及方法 熟悉Linux提供的有关系统调用函数/库函数:alarm()、kill()、signal()、sleep()、pause() Linux的低级通信 Linux的低级通信主要用来传递进程间的控制信号,主要是文件锁和软中断信号机制 软中断信号的目的是通知对方发生了异步事件 信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达 信号是在软件层次上对中断机制的一种模拟 与硬中断处理程序不一致的是 收到硬中断信号后中断处理程序立即被启动,软中断处理程序必须等到接收进程运行时才启动 进程可向自己发送软中断信号,以便在某些意外情况下,进程能转入规定好的处理程序。例如,大部分陷阱都是由当前进程自己向自己发送一个软中断信号而立即转入相应处理的 信号事件的发生有两个来源 硬件来源,比如我们按下了键盘或者其它硬件故障 软件来源,最常用发送信号的系统函数是kill, raise, alarm和setitimer以及sigqueue函数,软件来源还包括一些非法运算等操作 Linux中有30个软中断信号和31个实时软中断信号 常见软中断信号 SIGHUP 从终端上发出的结束信号 SIGINT 来自键盘的中断信号 SIGQUIT 来自键盘的退出信号 SIGFPE 浮点异常信号 SIGALRM 时钟定时信号 信号处理的一般方法 忽略该信号 执行系统默认动作 捕捉信号 为了给用户进程也提供相应的同步、互斥以及软中断通信功能,Linux系统提供了几种相应的系统调用或库函数 文件锁函数lockf(fd, function, size)可用于互斥 用于同步的系统调用是wait()或sleep(n),其中wait()用于父子进程之间的同步,而sleep则使得当前进程睡眠n秒后自动唤醒自己 系统调用kill( pid, sig )和signal( sig, func )被用来传递和接收中断信号 例:signal( SIGINT, SIG_IGN ),表示当前进程忽略键盘中断信号的影响 发送信号 常用于发送信号的系统函数是kill、raise和alarm kill()函数 功能:传送信号给指定的进程 语法格式: #includesys/types.h #includesignal.h int kill(pid_t pid,int sig); 函数说明:kill()可以用来送参数 sig 指定的信号给参数 pid 指定的进程,参数 pid一般0(将信号传给进程识别码为 pid 的进程) 返回值:执行成功则返回0;如果有错误则返回-1 #includesys/types.h? #includesys/stat.h? #includesignal.h? #includeunistd.h? #includestdio.h? #includestdlib.h?? int?main()? {?pid_t?pid;? ????pid=fork();? ????if(pid0)??{? ????????????perror(fork()?error\n);? }? ????if(pid==0) {?/*子进程*/??? ????? printf(child?process?wait?for?signal!\n);? ????? pause(); /*挂起进程直至捕捉到一个信号*/ } else {?/*父进程*/? ???? sleep(3);? ???? kill(pid,SIGKILL); /*向子进程发送SIGKILL信号*/? ???? printf(parent?send?signal to kill child!\n);? ???? waitpid(pid,NULL,0); /*等待pid退出*/? ??? printf(child?process?exit!\n);? ??? exit(0);? ?? }? }? alarm() 语法格式: #include unistd.h unsigned int alarm(unsigned int seconds) ; 返回:0或以前设置的闹钟时间的余留秒数 参数:seconds的值是秒数,经过了指定的seconds秒后会产生信号SIGALRM 说明: 设置一个时间
您可能关注的文档
- 混凝土搅拌站技术交底教案.doc
- 混凝土及钢筋混凝土工程量计算教案.doc
- 婚礼筹备及采购清单教案.doc
- 半导体物理学纲要2014资料.ppt
- 操作系统第三章2资料.ppt
- 场景设计透视资料.ppt
- 第8章_接口技术试卷.ppt
- 惠州一中2008年高考适应性测试模拟教案.doc
- 操作系统第三章3资料.ppt
- 会员管理系统_详细设计说明书()教案.doc
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
最近下载
- 青岛版五四制一年级上册数学期末试题.pdf VIP
- 城市公园管理与维护规范.docx VIP
- 精品解析:2022-2023学年山东省青岛市城阳区青岛版四年级上册期末质量抽测数学试卷(原卷版).docx VIP
- 浙江省杭州市拱墅区2024-2025学年四年级上学期期末考试数学试题.docx VIP
- 5《和大家在一起》第二课时 (教学设计) 一年级道德与法治下册(统编版2025).pdf VIP
- 农业社会化服务体系.ppt VIP
- 5《和大家在一起》第一课时 (教学设计) 一年级道德与法治下册(统编版2025).docx VIP
- 2023年四川高级政工师题库 .pdf VIP
- 中国地理《中国的河流-长江》.ppt VIP
- 上海市闵行区2024-2025学年高一上学期期末考试生物试卷含答案.docx VIP
原创力文档

文档评论(0)