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

发布者:梅花居士最新更新时间:2022-08-22 来源: csdn关键字:OK6410A  开发板  11 手机看文章 扫描二维码
随时随地手机看文章

信号

异步通信机制

不可靠/可靠


信号处理方式

忽略 // 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);

关键字:OK6410A  开发板  11 引用地址:OK6410A 开发板 (八) 61 linux-5.11 OK6410A 进程通信机制1 信号

上一篇:OK6410A 开发板 (八) 62 linux-5.11 OK6410A linux应用空间常见的异常情景及分析
下一篇:OK6410A 开发板 (八) 60 linux-5.11 OK6410A 异常相关初始化

推荐阅读最新更新时间:2024-11-06 15:30

德勤:2019年中国半导体收入将达1100亿美元
中国正在大力投资芯片制造设施和人才,以争取半导体独立。全球对人工智能(AI)专用芯片的需求不断增长,使得AI正处于中国经济未来的中心。 德勤预测,2019年中国制造的半导体产品收入将从2018年的850亿美元增长25%至1100亿美元,以满足国内对芯片组不断增长的需求,部分原因是人工智能的商业化程度不断提高。 德勤进一步预测,2019年,中国芯片代工厂将开始生产专门用于支持AI和机器学习(ML)任务的半导体。 随着中国成为半导体的主要消费国(每年消费半导体总量超过50%,包括国内和最终出口),其增长推动了整个行业的发展。然而,中国制造商只能满足自身需求的30%左右。在宏观经济转型和人工智能价值不断增长的情况下,中国政府和领先的数字
[半导体设计/制造]
小米11或国内首发骁龙875处理器
据最新消息,小米已经在为其下一代旗舰手机小米 11 做准备,这款机器将会搭载骁龙 875 处理器,而且还将获得限时的独占期。 该信息来自爆料者@数码闲聊站,近日他在微博帖子中透露了该信息。小米 11 将是国内首款采用骁龙 875 处理器的手机,而三星的 Galaxy S21 系列将是全球首款采用该芯片的产品。 这并不令人意外,但目前没有有关独占期将持续多长时间的信息,猜测最多为期一个月。 骁龙 875 将于 12 月正式发布。处理器将提供 1 + 3 + 4 的 8 个内核组合。它将是 5nm 芯片,还将集成骁龙 X60 5G 调制解调器。 除了骁龙 875,目前关于小米 11 的细节还很少。
[手机便携]
小米<font color='red'>11</font>或国内首发骁龙875处理器
基于TMS320C6x11系列DSP的图像获取方案
本设计方案旨在利用上述 的有利条件,提出一套基于TMS320C6x11系列DSP的图像获取方案,利用模拟视频信号的统一性,实现随意更换带有标准模拟视频信号输出接口的图像设备而无需在图像处理系统的硬件和软件上作修改。同时,本方案还需提供一个相对通用的数字视频接口,可以适应TMS320C6xll系列DSP的接口。本设计的主要技术要求有:   ①支持标准的模拟视频输入接口,可以对标准的模拟视频信号解码得到数字图像数据;   ②在不降低图像幅面的前提下,图像采集速度快,满足一定的实时性要求;   ③占用CPU时间少,使得图像采集过程在后台自主完成;   ④数字图像接口通用性好,可以在TMS320C6u1l系列乎台上通用互换。  
[嵌入式]
基于TMS320C6x<font color='red'>11</font>系列DSP的图像获取方案
水仙XQB30-11全自动洗衣机原理图
水仙XQB30-11 全自动洗衣机 原理图:
[模拟电子]
水仙XQB30-<font color='red'>11</font>全自动洗衣机原理图
4C充电1100次电池报废!博主称电动车超级快充就是车企在赌
8月11日消息,有汽车博主发文称,电动车的超级快充就是车企在赌。 赌消费者不可能每次充电都用超快充,赌现在4C、5C充电桩(超快充)不多,大量用户需要使用1C~2C充电或者0.1C家充。 博主以中汽研和天津大学的一个充电研究为例证,结果显示,1C充电+1C放电1500圈后电池内阻衰减并不多;2C充电+1C放电衰减略多,但还能用。 4C充电+1C放电经过1100圈循环后已经退出测试,因为电池报废了;6C充电+1C放电充电在700圈循环后报废。 此外,博主还介绍,超快充电池包发热量大,500kW的充电功率,会有10%的能量以电芯发热散发出来,为了避免高温,充电时需用空调系统降温。 但目前车辆即便使用最顶级的45CC
[汽车电子]
4C充电<font color='red'>11</font>00次电池报废!博主称电动车超级快充就是车企在赌
AMD新款芯片组11月量产进入最后测试阶段
8月4日消息,据台湾媒体报道,今年第四季半导体市况是好是坏,目前市场上仍是众说纷纭,但是对台积电、日月光、矽品等业者来说,第四季却有机会淡季不淡。原因是AMD新款北桥芯片组RD890、RS880D等,将自11月正式在台积电以45纳米制程量产,12月下旬订单就会流向封测厂,以利AMD能在明年1月正式推出LEO、Pisces等新款桌面计算机平台。    AMD今年度推出的桌面计算机Dragon平台受到市场好评,一来是搭载的45纳米4核心Deneb处理器具较高性价比,二来是搭载的RD790芯片组、RV770绘图芯片因整合度高,绘图运算能力相对较佳。不过,因为现有芯片组推出时间已达2年,绘图芯片也由RV670过渡到RV770世代,
[半导体设计/制造]
基于MSP430F1611中AD采样不准确与分压电阻问题的详细解答
Q: 学生正在做电源题目,AD检测电源输出电压时发现一系列问题,请各位老师帮忙解答一下,谢谢啦。 一、4个疑问 1. MSP430F1611的AD是什么类型的? (SAR型、开关电容、Flash、双积分型、etc) 2. MSP430F1611分压电阻接多少合适?(输出直流电压为10~20V) 3.AD输入端接跟随器误差能降低一些,但效果不明显,且用AD817做的更随器,要高于1.1V才能更随,有没有一款运放芯片,能在0.5V以上开始跟随呢? 4.有没有什么方法不用分压电阻测量高于AD基准电压的输出电压值? 二、AD采样问题的发现 1.发现分压电阻不是线性的 背景:分压电阻300K、100K,接不同负载输出具有压降,负载变
[单片机]
基于MSP430F16<font color='red'>11</font>中AD采样不准确与分压电阻问题的详细解答
SIA称11月全球半导体销售增长2.3%
  据美国半导体产业协会报告,11月全球半导体销售迅猛。与去年同期相比,增长了2.3%,达到231亿美元。   世界范围的销售收入从2007年10月的229亿美元增长了 0.7%。年初至今的销售额为2310亿美元,与2006年同期2250亿美元销售额相比,增长了2.8%。   “早期迹象表明,有较高半导体含量的消费产品(如液晶电视、PMP和MP3播放器),在假期销售旺季时随着数码相机都销售良好,”美国半导体产业协会总裁George Scalie说。“这些产品都实现了单位销售量的健康增长。手机单位销售量在2007年将继续超过20%,为第五个连续增长年。与此同时,个人电脑单位销售将超过10%。”   Scalise说能源价格的提升
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved