问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么运行时程序要分成内核态和用户态

发布网友 发布时间:2022-12-23 04:01

我来回答

1个回答

热心网友 时间:2024-10-23 20:07

        当我们在写程序是,凡是涉及到IO读写、内存分配等硬件资源的操作时,往往不能直接操作,而是通过一种叫 系统调用 的过程,让程序陷入到内核态运行,然后内核态的CPU执行有关硬件资源操作指令,得到相关的硬件资源后在返回到用户态继续执行,之间还要进行一系列的数据传输。如此麻烦,让用户程序直接访问硬件资源不是更好吗?

        假设没有这种内核态和用户态之分,程序随随便便就能访问硬件资源,比如说分配内存,程序能随意的读写所有的内存空间,如果程序员一不小心将不适当的内容写到了不该写的地方,就很可能导致系统崩溃。用户程序是不可信的,不管程序员是有意的还是无意的,都很容易将系统干到崩溃。

        正因为如此,Intel就发明了ring0-ring3这些访问控制级别来保护硬件资源,ring0的就是我们所说的内核级别,要想使用硬件资源就必须获取相应的权限(设置PSW寄存器,这个操作只能由操作系统设置)。操作系统对内核级别的指令进行封装,统一管理硬件资源,然后向用户程序提供系统服务,用户程序进行系统调用后,操作系统执行一系列的检查验证,确保这次调用是安全的,再进行相应的资源访问操作。 内核态能有效保护硬件资源的安全。

        另外,用户程序是通过内部 中断 来进行系统调用的,触发内部中断的指令是 INT N ,触发中断后CPU根据中断号到中断向量表中查找中断服务程序入口,中断服务程序的处理过程一般是,设置PSW状态字(设置了之后才能执行一切指令),保存用户态上下文,调用过程执行,执行完成恢复用户程序上下文。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 用户态与内核态 内核态和用户态 ...我想送他个电脑包和内胆包,我查的这一款屏幕14寸,不知道内胆买14寸... 14寸的电脑包能装下14寸的内胆包吗? (内胆包里是装有14寸电脑的) 一个可以在两个手机上切换登陆吗?会封号吗? ...种类的多少、属性、洗涤方法、基本价位以及香云纱与真丝和香云丝的... 两部手机频繁切换两个会被封号吗? 王者荣耀哪一款皮肤最贵? 英文收款委托书 英文版委托书 兖矿本部资源枯竭了吗 兖矿鄂尔多斯煤矿叫什么啊名字 华为手机能登两个吗 蒲公英,大青叶,话梅可以一起泡水喝吗 ios绑定微信没有银行卡 做菜什么时候放盐最好 做菜啥时候放盐最好 微波蛋糕预拌粉的介绍 同往同来一同走是什么属相,同来同来一同走.八字中特未为晚是什么... 手机号被别人注册过怎么解除? 绞股蓝的化学成分和药理作用有哪些 小度可以下载钉钉上课吗? 梦见站在高处,男子梦见自己站在天台 驾校过期没学完可以退钱吗? 华为平板映射功能在哪 有没有类似DNF的游戏,要64MB显存,248MB内存玩起来不卡的 京剧趣谈中马鞭为什么能成为舞台道具的原因 隐居在陶隐岭的名人 二十四节气养生的介绍 洒基离淤泥河有多远 老王坡淤泥河为什么没有水 昆明到贵州六盘水盘县淤泥乡淤泥河多少公里 澄江到贵州六盘水盘县淤泥乡淤泥河多少公里 win10的应用商店在哪里啊? 想问非专业人员可以考注册会计师吗 沈阳电视台主持人17点是谁 有没有好一点的动漫画册,推荐一下 求一本动漫画册名字,进来详细 纸上的印章怎么消除 中国公有制的主体地位主要体现在那些方面? 有人说,我国是社会主义国家,只有公有制经济。你认为这种观点对吗?