You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

操作系统中M-mode与S-mode分别指什么?二者有什么区别?

基本概念说明

你提到的S-Mode、M-Mode是RISC-V指令集架构专属的特权运行模式,不属于x86等主流架构通用的内核/用户模式划分范畴,这也是你搜索常规操作系统资料找不到对应说明的核心原因。

两种模式的具体含义
  • M-Mode(机器模式):是RISC-V架构中权限最高的特权模式,也是所有RISC-V处理器必须强制实现的唯一模式。运行在该模式下的代码不受任何权限限制,可以直接访问所有硬件寄存器、内存地址和外设资源,一般用来运行最底层的固件代码,比如上电引导程序、底层硬件抽象固件(如OpenSBI)、硬件异常的第一级处理程序。
  • S-Mode(监管者模式):是RISC-V架构中专为操作系统内核设计的次高权限模式,属于可选实现的模式,仅在需要运行通用操作系统的RISC-V处理器上才会提供。该模式下的代码权限受到严格限制,无法直接访问未被授权的硬件资源,必须通过M-Mode开放的调用接口才能执行特权操作,常规的RISC-V架构Linux、BSD等操作系统内核都运行在该模式下,对应你之前搜索到的“内核模式”的定位。
两种模式的核心区别
  • 权限等级不同:M-Mode是RISC-V架构的最高权限级,没有任何资源访问限制;S-Mode权限低于M-Mode,所有特权操作都需要经过M-Mode授权才能执行。
  • 实现要求不同:M-Mode是所有RISC-V处理器必须实现的基础模式,没有M-Mode的RISC-V处理器无法正常启动运行;S-Mode是可选扩展,面向嵌入式场景的低功耗RISC-V处理器一般不会实现该模式。
  • 运行代码定位不同:M-Mode运行和硬件强绑定的底层固件,和上层操作系统无关;S-Mode运行通用操作系统内核,属于上层系统软件的范畴。
  • 异常处理优先级不同:所有硬件中断、处理器异常都会优先进入M-Mode处理,M-Mode可以选择自行处理,也可以配置路由规则将对应的中断/异常转发给S-Mode处理。

内容的提问来源于stack exchange,提问作者user13233805

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 21:54:03