信号处理的流程如下-UNIX(V6)内核阅读

时间:2024-05-12 12:28:08
【文件属性】:

文件名称:信号处理的流程如下-UNIX(V6)内核阅读

文件大小:325KB

文件格式:PPT

更新时间:2024-05-12 12:28:08

UNIX(V6)内核阅读

信号处理的流程如下: 清p-sig 终止 本进程? Y N SIGOIT等? Y N 构成进程内存 图象文件core (core( )) 终止本进程 (exit( )) SIGINS 或SIGTRC? Y N 将u-signal中相应 元素清0 检查用户栈,如需 要则扩充该栈 (grow( )) 将核心栈中RPS,R7 送入用户栈栈顶 修改核心栈中sp(-4) 将用户编制的相应 信号处理程序入口 地址送入核心栈R7 修改核心栈中 RPS(清陷入位) 返回 psig( ) main( ) { int i,j; int func( ); signal(15,func); if ( i=fork( )) { printf(“parent: signal 15 will be sent to child.\n”); kill(i,15); /若发现子进程睡眠则唤醒它/ wait( ); printf(“Parent: finished.\n”); } else { sleep(1000);/在此检测是否收到信号,若是,处理; 若否,低优先权睡眠/ printf(“child: A signal from my parent is received.\n”); exit( ); } } func( ) { printf(“It is signal 15 processing function.\n”); } 信号机构应用举例 信号机构应用举例


网友评论