码迷,mamicode.com
首页 > 其他好文 > 详细

exception

时间:2018-02-12 13:53:52      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:gpo   不能   直接   post   处理程序   之间   write   i/o   进程   

异常的产生:
当处理器检测到有事件发生时,就会通过一个异常表 跳转到 内核程序(异常处理程序),来处理异常。

异常的处理:
系统为每个异常都分配了一个异常号。其中一些异常号是由处理器的设计者分配的,如:被0除,缺页,内存访问违例,断点,算术运算溢出等。其他的异常号是有操作系统内核设计者分配的,如:系统调用(syscall),外部I/O设备的引脚信号。
运行时,若处理器检测到事件发生,确定异常号,然后读取CPU中的异常基址寄存器,从而找到异常处理程序的地址。控制器将控制转到异常处理程序(内核模式)。
此过程由用户模式切换到内核模式。

异常类型:
中断(外部I/O产生的),系统调用(syscall n)(read ,write, fork, execve等),故障(被0除,缺页,内存访问限制等),中止(硬件错误)。

上下文切换:
为了执行多任务,内核中的调度器,进行进程调度。在不同的用户程序之间进行上下文切换。内核为每个用户进程维护了一个上下文。

内核态和用户态:
在内核模式下,内核进程可以执行任何指令,访问任意的内存地址空间。而用户模式下,进程不能直接引用地址空间中内核区内的代码和数据(即内存地址空间的顶部,保留给内核的部分,操作系统常驻内存的部分)。

exception

标签:gpo   不能   直接   post   处理程序   之间   write   i/o   进程   

原文地址:https://www.cnblogs.com/beaglebone/p/8443854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!