回头看历史,早期的系统(比如 DOS)谁都能直接操作硬件,甚至能干掉操作系统本身,这种情况下你想让它“多任务”几乎是不可能的。后来为了防止这种“程序造反”,CPU 加了权限控制,也就是我们常说的“Ring”。



简单说,Ring 就像是一座四层的塔:

最底层 Ring 0 是系统内核的地盘,也就是 OS 的“特权模式”

最上面 Ring 3 是普通用户程序运行的地方,也就是“用户模式”

程序平时都只能待在 Ring 3,不允许越权去碰 Ring 0 的东西,比如你不能直接往硬盘写数据,不能直接关机,这些都得通过系统调用(syscall)来间接完成。

这样一来,出错的程序只会崩自己,系统不会跟着挂。这也是为啥现在手机、电脑就算开几十个应用也不怕出问题,大家都有“自己的小黑屋”,互不打扰。

这套机制后来还被用在虚拟机(VM)上。你可以理解成一个电脑里跑着另一个“虚拟电脑”。但问题是:原来的系统默认自己是老大,跑在 Ring 0 上,但现在它只是虚拟机里的“小弟”了,怎么办?

于是就诞生了“软件虚拟化”:通过动态修改指令,让虚拟系统“以为”自己控制了一切,实际控制权还在宿主系统(也叫 hypervisor)手里。
RING4.13%
post-image
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)