- 强制隔离以避免对整个系统的可用性、可靠性和安全影响
- 运行的程序通常是隔离的单元
- 防止程序 X 破坏或监视程序 Y
- 读/写内存,使用 100% CPU,更改文件描述符
- 防止进程干扰操作系统
- 防止恶意程序、病毒、木马和 bug
- 地址空间
- 一个程序仅寻址其自己的内存
- 每个程序若无许可,则无法访问不属于自己的内存
- CPU 硬件中的特权模式/中断机制
- 防止应用程序访问设备和敏感的 CPU 寄存器
- 例如地址空间配置寄存器
- 例如打断一直占用 CPU 的应用程序
- 好处
- 执行很快
- 灵活且易于传递和返回复杂数据类型
- 程序员熟悉的机制
- 坏处
- CPU 硬件支持中断、异常的处理
- 中断是异步发生的,是来自处理器外部的 I/O 设备的信号结果
- 硬件中断不是由任意一条专门的 CPU 指令造成,从这个意义上它是异步的
- 硬件中断的异常处理程序通常称为中断处理程序
- I/O 设备通过向处理器芯片的一个引脚发信号,并将异常信号放到系统总线上以触发中断
- 在当前指令执行完后,处理器从系统总线读取异常号,保存现场,切换到 Kernel Mode
- 调用中断处理程序,当中断处理程序完成后,它将控制返回到下一条本来要执行的指令
- Timer 可以稳定定时地产生中断
- 防止应用程序一直占用 CPU
- 让 OS Kernel 能周期性地进行资源管理