操作系统的运行机制

一、预备知识

1.程序是如何运行的?

程序运行的过程就是CPU执行一条一条机器指令的过程

2.程序的分类

程序分为应用程序和内核程序

应用程序只能执行非特权指令,运行在用户态

内核程序可以执行特权指令,也可以执行非特权指令,运行在内核态

 

N个内核程序组成了操作系统内核,简称内核。内核是操作系统最重要的部分,是最接近硬件的部分。操作系统内核是系统资源的管理者,可以让CPU执行特权指令。

 

3.CPU的状态

CPU被划分为两种状态:用户态和内核态

在CPU生产和设计的时候就划分了特权指令和非特权指令,那么CPU如何区分这些指令是来自应用程序还是内核程序?CPU会被划分为两种状态——用户态和内核态,内核程序在运行时CPU会处于内核态,应用程序在运行时CPU会处于用户态。

 

二、用户态与内核态的转换

内核态转用户态:CPU执行一条特权指令,修改PSW的标志位为用户态。这个行为意味着操作系统主动让出CPU的使用权

 用户态转内核态:由非法事件触发中断信号,CPU检测到中断信号,计算机硬件自动进行状态转换。触发中断信号意味着操作系统将强制夺回CPU的使用权

 

三、运行机制

计算机开机,操作系统内核程序先运行,CPU处于内核态

开机完成,用户启动某应用程序,操作系统内核程序在合适时间内主动让出CPU,CPU转换为用户态,让应用程序上CPU执行

 

某黑客在该应用程序中植入了一条特权指令

 

CPU执行该特权指令时,发现自身却处于用户态,此非法行为引发中断信号

 

CPU检测到中断信号后,立即转变为内核态,并停止执行该当前应用程序,转而去执行处理中断信号的内核程序(中断使得操作系统夺回CPU控制权)

 

操作系统内核对引发中断信号的时间进行处理,处理结束后再将CPU控制权交给其他应用程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周丕才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值