单片机
返回首页

OK6410A 开发板 (八) 61 linux-5.11 OK6410A 进程通信机制1 信号

2022-08-22 来源:csdn

信号

异步通信机制

不可靠/可靠


信号处理方式

忽略 // SIGILL 和 SIGSTOP 不可忽略

捕捉 // SIGILL 和 SIGSTOP 不可捕获

默认

// 信号处理对每一个信号有default(不是上面的默认)处理方式

// 而用户可以修改

// 也就是说如果一个信号如果默认为忽略,但是我可以将其改为 捕捉



常见信号默认用途

ctrl-c SIGINT 终止

除0 SIGFPE 终止

无效内存引用 SIGSEGV 终止

网络带外数据到来 SIGURG 忽略

写一个读终止的管道 SIGPIPE 终止

进程定时器超时 SIGALAM 终止


信号的发送

对一个进程发送一个信号的本质是 把信号挂载到目标进程的信号 pending 队列上去

信号的接收 (不管信号处理方式如何,信号肯定会被接收)

信号真正得到执行的时机是进程执行完异常,返回到用户态的时刻

内核进程是不响应信号的(因为它不会返回到用户态),除非它刻意的去查询


代码分析参考

send

__send_signal() -> complete_signal() -> signal_wake_up() -> signal_wake_up_state()

signal_wake_up_state

if (!wake_up_state(t, state | TASK_INTERRUPTIBLE)) kick_process(t);


用户进程的receive

__irq_usr

ret_to_user_from_irq

slow_work_pending

do_work_pending

do_signal

do_signal

如果是 system call 被信号中断,判断是否需要重启 system call

get_signal() // (2) 从线程的信号 pending 队列中取出信号, // 

dequeue_signal 从信号pending队列中,取出优先级最好的信号

ka = &sighand->action[signr-1]; 从信号处理数组sighand中,取出信号对应的处理函数

ka->sa.sa_handler == SIG_IGN : continue // 忽略

ka->sa.sa_handler != SIG_DFL : break ; // break 返回之后 调用 handle_signal//捕获第一步

其他 // 默认

一部分 sig_kernel_ignore // SIGCONT SIGCHLD SIGWINCH SIGURG

一部分 sig_kernel_stop // SIGSTOP SIGTSTP SIGTTIN SIGTTOU

一部分 sig_kernel_coredump->do_coredump // SIGQUIT SIGILL SIGTRAP SIGABRT SIGFPE SIGSEGV SIGBUS SIGSYS SIGXCPU SIGXFSZ

一部分 do_group_exit

handle_signal() // 有对应的用户自定义处理函数,则执行用户态处理函数 // 捕获第二步

compat_setup_frame // 构造返回堆栈,将返回地址替换为 用户注册的信号处理函数

user_fastforward_single_step // 切换到用户态

重启被中断的system call



用户信号执行完毕如何返回?


内核线程 的 receive

    if (signal_pending(current))

    {

        // 自定义信号处理函数

    }

    flush_signals(current);

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章