什么是linux系统用户态,浅谈操作系统的用户态和内核态

本文将为您描述浅谈操作系统的用户态和内核态,具体操作过程:浅谈操作系统的用户态和内核态

我们经常会听到程序的用户态和内核态,一个程序从用户态进入了内核态。。。

什么是用户态和内核态

内核态和用户态到底指的是什么呢?我们这就解开其神秘面纱

所谓的用户态、内核态,实际上是处理器(cpu)的一种状态,在 cpu 状态字里面用 1bit 表示

什么是用户态

也叫普通态,cpu 访问资源有限

用户态的几个特点

cpu 访问资源有限

程序可靠性、安全性要求低

程序编写维护比较简单

什么是内核态

也叫特权态,cpu 可以访问计算机的任何资源

内核态的特点?

cpu 可以访问任何资源

程序可靠性、安全性要求高

编写维护成本比较高

为什么需要有用户态和内核态

那么,经过上面的解释,应该都了解了什么是用户态和内核态。

BUT!有没有想过,操作系统为什么要搞出用户态和内核态?

如果都处于一个态下,有什么问题吗?

想象一下,如果一个国家的所有人都能获得国家的机密资料、控制国家资源,那这个国家也就离崩溃不远了。

操作系统也是如此,所以我们要限制不用的程序访问资源的权限。

操作系统是如何控制不同态的权限的

要控制权限,必须要对程序发出的每一条指令进行检查。而这种检查被称为 地址翻译,这里不详细展开。内核态程序通过绕过地址翻译执行特权指令,从而访问所有资源。

程序应该运行在用户态还是内核态?

用户态

能运行在用户态就运行在用户态

涉及用户数据和应用的操作

内核态

牵扯到计算机本体的操作

对时序要求比较高的操作

用户态和内核态是如何切换的?

通过 软中断

参考资料

/d/file/shujuku/yi410ooyhy4 用户态和内核态是如何切换,比较底层

/d/file/shujuku/vbllqqtjnhd 用户态和内核态是如何切换

/d/file/shujuku/iuhdrd3og5y.html 用户态和内核态是如何切换,讲的比较通俗

《操作系统之哲学原理第2版》- 邹恒明浅谈操作系统的用户态和内核态就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/czxt/Linux/35797.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值