用户态与核心态浅析
Posted 嗯嗯你说的对
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户态与核心态浅析相关的知识,希望对你有一定的参考价值。
cpu有两种操作模式,一种是用户态(又称目态),一种是核心态(也叫内核态,管态)
应用程序运行在用户态,操作系统内核程序运行在核心态
1.用户态
当cpu处于用户态时,cpu只能执行非特权指令,它不能直接访问计算机的软硬件资源,仅限于访问用户的地址空间,目的是防止用户程序对系统造成破坏
2.核心态
当cpu处于核心态时,cpu可以执行除访管指令之外的所有指令(访管指令:后面会讲),包括非特权指令和特权指令(特权指令:不允许用户直接使用的指令,例如:I/O指令、置中断指令等)
3.用户态和核心态的切换
1)用户程序系统调用造成的切换
介绍
用户通过操作系统运行上层程序,而这个上层程序的运行需要操作系统的底层管理程序提供支持(即系统调用),系统则通过硬件中断机制进入核心态。注意,中断程序可以在用户态执行,而中断处理程序在核心态执行
过程
用户程序执行陷入指令(也称访管指令或trap指令)来发起系统调用----->产生中断事件----->cpu检测到该中断事件----->cpu打断当前应用程序------>cpu模式位置零----->cpu转到相应的中断处理程序去执行----->执行完毕----->cpu模式位置1----->从系统调用返回
2)异常造成的切换
介绍
异常也称内中断,分为故障、自陷、终止,其中,故障和自陷属于软件中断,终止和外部中断属于硬件中断。
过程
与系统调用过程类似
操作系统王道考研 p5 中断和异常
以上是关于用户态与核心态浅析的主要内容,如果未能解决你的问题,请参考以下文章