美文网首页就该这么学并发
10. 谁再和我提内核/用户态, 我跟谁…………

10. 谁再和我提内核/用户态, 我跟谁…………

作者: 码哥说 | 来源:发表于2020-08-17 09:44 被阅读0次

前言

谁再和我提内核/用户态, 我跟谁……

image

记不清哪天了,

咸鱼刚入职场,

依稀记得某天的下午时光,

公司内的一群大牛, 聚在一起 image

尽讨论一些高大上的技术话题, 或底层原理, 或架构……

时不时传来一些专业术语“用户态”,“内核态”…………

咸鱼在边上默默听着, 也不敢插嘴, image

只能仰望大佬, 同时暗下决心, 今天一定要把这两个概念搞懂!

那么, 用户态和内核态代表究竟是个啥?

用户态和内核态

简而言之, 内核态和用户态就是linux的权限划分.

  • 内核态(Kernel Mode)
运行操作系统程序, 操作硬件
  • 用户态(User Mode)
运行用户程序

为什么要进行这样的划分呢?

其实本质是为了保证系统不会崩溃!

你总不希望系统跑你的程序时,

因为你的程序有bug, 导致操作系统崩溃吧!

特权级别及指令划分

这两种运行级别有不同的特权, 可以运行不同的指令集

特权级别一般分为四种

  • R0

  • R1

  • R2

  • R3

从R0到R3特权能力依次降低

  • R3相当于用户态
当程序运行在R3级特权上时, 就可以称之为运行在用户态.
  • R0相当于内核态
当程序运行在0级特权级上时,就可以称之为运行在内核态.

不同级别能够运行不同的指令集合

  • 特权指令
只能由操作系统使用、用户程序不能使用的指令.
  • 非特权指令
用户程序可以使用的指令.

状态的切换

用户态和内核态可以互相切换.

运行在用户态下的程序不能直接访问操作系统内核数据结构和程序.

当我们在系统中执行一个程序时, 大部分时间是运行在用户态下的,

在其需要操作系统帮助完成某些它没有权力和能力完成的工作时,

就会切换到内核态.

用户态--->内核态

可以通过三种途径

  • 系统调用(访管指令)(用户进程主动发起)
为了安全, 应用程序无法直接调用硬件的功能,
  • 异常(被动)
  当CPU在执行运行在用户态下的程序时,
  • 外围设备的中断(被动)
  当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,

内核态--->用户态

  • 设置程序状态字PSW

两种状态的区别

这两种状态的主要差别是

  • 处于用户态执行时,进程所能访问的内存空间和对象受到限制,其所处于占有的处理机是可被抢占的

  • 处于核心态执行中的进程,则能访问所有的内存空间和对象,且所占有的处理机是不允许被抢占的.

谁再和你提内核/用户态, 请把怼飞他!

image

欢迎关注我

技术公众号 “CTO技术”

相关文章

  • 10. 谁再和我提内核/用户态, 我跟谁…………

    前言 谁再和我提内核/用户态, 我跟谁…… 记不清哪天了, 咸鱼刚入职场, 依稀记得某天的下午时光, 公司内的一群...

  • 内核态和用户态、

    内核态和用户态的区别 内核态切换用户态耗时的原因

  • 内核态和用户态

    内核态和用户态是操作系统的两种运行级别,内核态权限高,用户态权限低。 用户程序从用户态切换到内核态:系统调用(软中...

  • 用户态与内核态

    内核态与用户态 正如标题,本文主要讨论用户态与内核态。文章主要从什么是用户态与内核态,这两个名词是对谁而言的;并且...

  • 【笔记】Linux内核简介

    用户态与内核态 用户态下,程序不能访问内核地址空间(数据和代码),内核态下则没有此限制。 激活内核例程的方法: 系...

  • 用户线程和内核线程

    1.内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好...

  • 内核态与用户态

    含义: 当程序运行在内核空间时为内核态,当程序运行在用户空间时为用户态。用户态只能访问用户空间下的地址,而内核态可...

  • 进程内存布局

    ARM64内核的内存布局 进程有用户态和内核态,同样进程的地址空间包括用户地址空间和内核地址空间,用户态访问用户地...

  • 0拷贝

    传统 IO 传统 IO 执行的话需要 4 次上下文切换(用户态 -> 内核态 -> 用户态 -> 内核态 -> 用...

  • 用户态与内核态

    什么是用户态、内核态一般的操作系统对执行权限进行分级,分别为用保护态和内核态。用户态相较于内核态有较低的执行权限,...

网友评论

    本文标题:10. 谁再和我提内核/用户态, 我跟谁…………

    本文链接:https://www.haomeiwen.com/subject/szorrktx.html