如果p *** 作可以被中断,会产生什么后果

如果p *** 作可以被中断,会产生什么后果,第1张

后果如下:

1、睡眠或者放弃CPU,这样做的后果是灾难性的,因为内核在进入中断之前会关闭进程调度,一旦睡眠或者放弃CPU,这时内核无法调度别的进程来执行,系统就会死掉。

2、尝试获得信号量,如果获得不到信号量,代码就会睡眠,会产生和上面相同的情况。

3、执行耗时的任务,中断处理应该尽可能快,因为内核要响应大量服务和请求,中断上下文占用CPU时间太长会严重影响系统功能。

4、访问用户空间的虚拟地址,因为中断上下文是和特定进程无关的,它是内核代表硬件运行在内核空间,所以在终端上下文无法访。

汇编语言:

ORG 0000H 复位入口

SJMP START

ORG 0003H INT0中断入口

JNB P3.2, $ 低电平原地转移

RETI 高电平时结束中断

START:

SETB IT0 设为下降沿触发中断

MOV IE, #10000001B 开放外部中断0

SJMP $ 等待

END


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7872404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存