所用教材为:操作系统教程(第5版) 费翔林 骆斌编著
处理器状态
内核态和用户态
管理状态(核心状态、特态或管态)
用户状态(目标状态、常态或目态)
处理器状态机器转换
会导致处理器从用户态向内核态转换的情况:
(1)程序请求操作系统服务,执行系统调用
(2)程序运行时产生中断事件(如I/O操作完成),运行程序被中断,转向中断处理程序处理
(3)程序运行时产生异常事件(如发生程序性中断,或目态执行特权指令),运行程序被打断,转向异常处理程序工作。
可以说中断和异常是用户态向内核态转换的仅有途径
实现内核态向用户态的转换
计算机通常提供一条称作加载程序状态字的特权指令,以实现从内核态返回用户态,操作系统将控制权转交给应用进程。
中断
需要中断的场景
(1)请求系统服务
(2)实现并行工作
(3)处理突发事件
(4)满足实时要求
中断的定义
中断是指在程序执行过程中遇到急需处理的事件时,暂时中止现行程序在CPU上的运行,转而执行相应的事件处理程序,待处理完成后再返回断点或调度其他程序执行的过程。
中断的重要性
中断是现代操作系统实现并行性的基础之一。。
引入中断机制,操作系统让应用程序在放弃控制权或从应用程序获得控制权时将具有更大的灵活性
中断源分类
外中断
又称中断或异步中断,指来自处理器之外的中断信号
内中断
又称异常或同步中断,是指来自处理器内部的中断信号
可被细分为:
(1)访管中断,由执行系统调用引起
(2)硬件故障中断,如电源失效,奇偶校验错误,总线超时等
(3)程序性异常,如非法操作,地址越界,页面障碍,调试指令,除数为0,浮点溢出等
中断和异常的区别
(1)中断是由与当前运行程序无关的中断信号触发的,系统不能确定中断事件的发生时间,故中断与CPU是异步的ÿ