操作系统的运行机制

一、预备知识

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控制权交给其他应用程序

你可能感兴趣的:(操作系统,运维,服务器)