Skip to content

内核态与用户态的区别

内核态和用户态是操作系统在计算机下的两个状态:

  1. 计算机进入内核态,cpu交由操作系统控制,一般会进行系统资源的调用,比如进程线程的切换,网络io,文件读写等等,需要用到计算机资源的情况
  2. 计算机进入用户态,cpu交由用户程序控制,这个状态下的权限比较少,只能进行内存的读写,进行运算的功能等,不使用到计算机硬件资源的操作。

内核态是为了保护计算机防止用户程序权限过高,影响计算机的正常运行,将计算机的管理权交给操作系统,让操作系统主导与控制各种计算机资源

设计内核态和用户态的原因是什么:

  1. 安全:防止用户程序随意控制计算机资源,保护操作系统和其他应用程序的安全
  2. 稳定性:在使用操作系统的情况下,如果用户程序崩溃,计算机资源被操作系统管理,不会影响到其他应用的运行,如果没有内核态设计,任意一个用户程序崩溃它维护的计算机资源出现问题,会影响计算机整体运行。

内存结构图

image-20250315094623244