当前位置: 首页 > news >正文

用户态与内核态:权限与地盘的秘密

内核态、用户态本质就是:权限不一样、地盘不一样。

一句话总结

  • 用户态(User Mode):应用程序跑的地方,权限极低,不能乱搞硬件、不能乱改内存。
  • 内核态(Kernel Mode):操作系统内核跑的地方,最高权限,想干嘛干嘛(管 CPU、内存、网卡、磁盘…)

1. 为什么要分这两个态?

为了安全 + 稳定。如果随便一个 APP 都能直接操作硬件、改内存,那:

  • 一个程序崩溃 → 整机死机
  • 病毒随便读写硬盘、网卡
  • 多个程序互相踩内存

所以操作系统画了一条红线

  • 应用:只能在自己小圈子里玩
  • 内核:掌管一切,只信任自己

2. 权限差别(最核心)

用户态(受限模式)

  • 不能直接访问硬件(网卡、硬盘、键盘…)
  • 不能访问其他进程的内存
  • 不能修改系统配置
  • 崩溃了最多自己挂掉,不影响系统

内核态(最高特权模式)

  • 可以直接读写所有内存
  • 直接控制硬件(网卡收发包、写磁盘)
  • 管理进程、调度 CPU
  • 内核崩溃 =整个系统卡死 / 蓝屏

3. 内存上的划分(直观理解)

操作系统把虚拟内存切成两部分:

  • 低地址 → 用户态空间你的 QQ、浏览器、Nginx、Java 进程都在这
  • 高地址 → 内核态空间整个系统只有一份,所有进程共享但不能随便碰
┌─────────────┐ 高地址 │ 内核空间 │ ← 内核态才能访问 │ (共享) │ ├─────────────┤ │ │ │ 用户空间 │ ← 每个进程独立,互相看不见 │ │ └─────────────┘ 低地址

一个进程不能直接跨过这条线读写数据。


4. 什么时候切换?系统调用

应用想干 “越权” 的事,必须发请求让内核代劳,这个过程叫:

系统调用(syscall)比如:

  • 读文件
  • 发网络包
  • 分配大块内存
  • 打印到屏幕

流程:

  1. 用户态程序:read()/write()/recv()
  2. CPU 切换到内核态
  3. 内核帮你完成操作
  4. 切回用户态,把结果还给你

这个切换是有开销的,所以高性能网络会尽量减少切换。


5. 结合网络收包流程

把 “内核态 / 用户态” 标进去就一目了然:

网卡收到包 → 内核态处理(硬中断、软中断、协议栈) → 放到 socket 队列(依然在内核态) → 应用调用 recv() → 切换内核态 → 内核把数据从内核空间 → 拷贝到用户空间 → 切回用户态,应用拿到数据

关键点:

  • 收包全过程,前半段全在内核态
  • 应用真正拿到数据,才是用户态
  • 中间那次拷贝 + 状态切换,是传统网络性能的一大瓶颈

超简记忆版

  • 用户态:应用程序,小弟,权限小,安全
  • 内核态:操作系统内核,大哥,权限大,危险
  • 系统调用:小弟找大哥帮忙,必须切换身份
http://www.jsqmd.com/news/527880/

相关文章:

  • 分析2026年惠州好用的派瑞林真空镀膜设备优质供应商,哪家性价比高 - 工业推荐榜
  • 华为OD机考双机位C卷 - 斗地主之顺子 (Java)
  • uni-app前端H5页面底部内容被tabbar遮挡的问题解决
  • 5个强力方案:让老旧Mac用户的系统升级难题获得完美解决
  • Leather Dress Collection惊艳效果:Leather Short Dress短裙摆动轨迹与物理模拟真实度
  • 基于PHP、asp.net、java、Springboot、SSM、vue3的高校校园超市的设计与实现
  • Phi-3-Mini-128K快速上手:3步完成本地部署,支持代码解释与长文档问答
  • 分析惠州派瑞林镀膜材料可定制规格的厂家,性价比高的排名 - 工业品牌热点
  • AI代码生成插件continue用vscode源码编译步骤
  • Redis 通常应用于哪些场景?
  • 没有独立显卡也能跑!在Windows10上零基础部署微软OmniParser屏幕解析模型(保姆级避坑指南)
  • JavaScript基础课程二十一、前端框架入门(Vue3 组合式 API)
  • Ryujinx技术障碍攻关指南:从入门到精通
  • 2025-2026年十大麻将机品牌最新榜单推荐:智能娱乐空间升级解决方案与品牌盘点 - 品牌推荐
  • 实时手机检测-通用实战案例:电商质检/安防巡检中手机识别落地应用
  • 2026年选购派瑞林镀膜材料定制厂家,哪家更值得选 - 工业推荐榜
  • 小白友好!Clawdbot配置Qwen3-32B代理的完整操作流程
  • 告别网页翻译!本地部署translategemma-12b-it,图片文字一键翻译55种语言
  • 揭秘RuView:WiFi信号实现无摄像头人体姿态追踪的技术革命
  • 二叉树的实现以及相关算法思路总结
  • MinIO双端口配置全指南:解决Web控制台和Java客户端同时访问的难题
  • 2026年无尘车间推荐,上海靠谱施工单位排名出炉 - 工业品网
  • 3张RTX 4090显卡也能玩转Qwen-Image?手把手教你低成本部署阿里最强开源文生图模型
  • 哈希表为什么能快到离谱?一文讲透哈希冲突、链式哈希和底层原理
  • Qwen3-Embedding-4B应用案例:快速实现文档相似度匹配
  • Day10| 344.反转字符串541. 反转字符串II 剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
  • Local AI MusicGen真实案例:为30秒短视频自动生成匹配情绪BGM
  • 哈尔滨啤酒一元换购,再互动揭秘哈啤如何用扫码破解窜货顽疾? - 品牌智鉴榜
  • 基于PHP、asp.net、java、Springboot、SSM、vue3的购物商城系统的设计与实现
  • Nanbeige 4.1-3B Streamlit WebUI行业案例:农业科技问答助手