首页 > 其他 > 详细

exception

时间:2018-02-12 12:46:36      阅读:238      评论:0      收藏:0      [点我收藏+]

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

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

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

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

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

exception

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!