复习操作系统:DAY01--用户态和内核态

指令:

首先我们知道程序的运行就是,CPU在执行程序指令的的过程。而这些指令,可以分为两种,一种是特权指令、另一种是非特权指令。

  • 非特权指令就是一些逻辑指令,比如:加减运算、乘除运算等

  • 特权指令则是一些与系统相关的指令,比如:内存清零等

在CPU设计和生产的时候就已经划分了特权指令和非特权指令,因此在CPU执行指令的时候就已经能够判断指令的类别

CPU用户态和内核态:

用户态指的就是CPU处于处理用户程序的时期,在该时期内CPU只能够执行非特权指令,不能够执行特权指令

内核态则是指CPU处于处理系统程序的时期,在该时期内CPU既能够执行非特权指令,又能够执行特权指令

判断CPU是处于用户态还是内核态主要是根据程序状态字寄存器(PSW)来判断的,该寄存器通过二进制,0,1来判断CPU的状态。

CPU用户态和内核态之间的状态的转变:

内核态------》用户态:在执行用户态程序前,CPU会执行一条修改PSW状态的指令,将CPU状态转变为用户态(开机完后打开软件)

用户态------》内核态:发生中断,由硬件自动完成。

中断分为内中断和外中断:

  • 异常(内中断):

    • 当前的用户程序需要进行一些内核的操作,因此执行了一条陷入指令(非特权指令),主动的将CPU转变为内核态。也就是系统调用。

    • 故障,缺页故障,由错误条件引起的,可能被内核程序修复。内核程序修复完后会把CPU使用权还给应用程序

    • 终止,由致命错误引起的,内核程序无法进行修复,因此无法将CPU使用权交给应用程序。例如:整数除0、非法使用特权指令

  • 中断(外中断):

    • 与当前的程序指令无关,这种中断是来自CPU的外部。例如:时钟中断(CPU时间片),IO中断。每个指令的末尾都会检测是否有外中断请求需要进行处理。

中断机制的基本原理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值