学习笔记9

第6章 信号和信号处理

摘要

本章讲述了信号和信号处理,介绍了信号和中断的统一处理;将信号和思维进程中断,将进程从正常执行转移到信号处理;解释了信号来源

信号和中断

“中断”是从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。

与发送给CPU的信号一样,信号是发送给进程的请求,将进程从正常执行转移到中断处理。

Unix/Linux中的信号处理

查看信号相关命令信息

  kill -l  

  man 7 signal

信号产生——>信号处理——>捕捉信号

信号的来源:

  来自硬件中断的信号

  来自异常的信号

  来自其他进程的信号

 

  每个进程PROC都有一个32位向量,用来记录发送给进程的信号。在位向量中,用来记录发送给进程的信号。在位向量中,每一位(0位除外)代表一个信号编号。此外,它还有一个MASK位向量,用来屏蔽相应的信号。

信号处理函数

每个进程PROC都有一个信号处理数组int sig[32]。sig[32]数组的每个条目都指定了如何处理相应的信号,其中0表示DEFault(默认),1表示IGnore(忽略),其他非零值表示用户模式下预先安装的信号捕捉(处理)函数。

信号与异常

 

Linux中的IPC

IPC是指用于进程间通信的机制。在Linux中,IPC包含一下组成部分。

  管道与FIFO

  信号

  System V IPC

  POSIX消息队列

  线程同步机制

  套接字

 

声明

最简单的声明是变量

  float f;

我们可以在申明符中加()

指针数组      数组指针      指针函数              函数指针

int *daytab[13]     int (*daytab1)[13]     int *comp()             int (*comp1)()

                    函数返回值是指针(不能是局部变量) 函数名就是函数指针

苏格拉底

posted @ 2023-11-10 18:09  周意凯  阅读(5)  评论(0编辑  收藏  举报