linux 时钟中断可以在用户空间处理?怎么理解?

forstk 2014-10-31 03:24:31
中断不都是在内核态处理吗?怎么在用户空间处理?是hal吗?内核中有些user_mode()函数判断当时模式,如果是用户空间,属于哪个进程呢?
...全文
154 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2014-10-31
  • 打赏
  • 举报
回复
你用定时器不行吗
袁保康 2014-10-31
  • 打赏
  • 举报
回复
这得给你说说CPU硬件上对用户空间和内核空间的实现,以ARM为例子: 一、ARM体系的CPU有以下7种工作模式: 1、用户模式(usr):正常的程序执行状态 2、快速中断模式(fiq): 3、中断模式(irq): 4、管理模式(svc):操作系统使用的保护模式 5、系统模式(sys):运行具有特权的操作系统任务 6、数据访问终止模式(abt):数据或指令预取终止时进入该模式 7、未定义指令终止模式(und):未定义的指令执行时进入该模式 from: http://blog.csdn.net/luoamforever/article/details/5484892 软件上的用户空间,在硬件上的实现就是 用户模式。内核是牢牢地将 用户空间 锁定在 CPU的 用户模式下。 其它都是在内核中处理的。发生中断CPU进入了 中断模式(CPU),这个可是非 用户模式(CPU),那么就不可能直接在 用户空间(软件上)下处理。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧