内核态和用户态

内核态和用户态,第1张

内核态和用户态是 *** 作系统的两种运行级别,内简携核态权限拦者伏高,用户态权限低。

用户程序从用户态切换到内核态:系统调用(软中断),异常,中断。

系统调用是系统开放给用户程序的接口。

库函数是对系统调用的封装。

shell也对系统调用进行了封装。

系嫌镇统调用,库函数,shell是用户程序主动访问内核程序的三种方式。

参考: Linux | 为什么用户态和内核态的切换耗费时间? - JH_Zhai的博客 - CSDN博客

访管指令是一条可以在用户态(又称目态)下执行的指令。在用户程序中,因要求 *** 作系统提供服务而有意识地使用访管中断,从而产生一个中断事件(自愿中断),将 *** 作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向 *** 作系统请求服务羡拆。

为什么要在 *** 作系统中引入访管指令呢?这是因为用户程序只能在用户态(目郑卖态)下喊派逗运行,如果用户程序想要完成在用户态下无法完成的工作,该怎么办?解决这个问题要靠访管指令。 访管指令本身不是特权指令 ,其基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断。

当处于用户态的用户程序使用访管指令时,系统根据访管指令的 *** 作数执行访管中断处理程序,访管中断处理程序将按系统调用的 *** 作数和参数转到相应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。

注:访管指令是非特权指令,是程序员主动获得使用特权指令的手段。

用户态 = 目态

和心态 = 管态

*** 作系统中的状态分为管态和目态。特权指令:一类只能在核心态下运行而不能在用户态下运行的特殊指令。不同的 *** 作系统特权指令会有所差异,但是一般来说主要是和硬件相迟吵春关的一些指令。访管指令:本身是一条特殊的指令,但不是特权指令。基本功能:"自愿进管",能引起访管码耐异常。

用户程序只在用户态下运行,有时需碰尘要访问系统核心功能,这时通过系统调用接口使用系统调用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12462713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存