最简单的操作系统
最简单的操作系统有:
-
批处理功能
有一个后台程序, 当一个前台程序执行结束的时候, 后台程序就会自动加载一个新的前台程序来执行
这样的一个后台程序, 其实就是操作系统
用户程序执行结束之后, 可以跳转到操作系统的代码继续执行
操作系统可以加载一个新的用户程序来执行 -
硬件中保护机制相关的功能
用call/jal指令来进行操作系统和用户进程之间的切换就显得太随意了.
我们所希望的, 是一种可以限制入口的执行流切换方式,阻止程序将执行流切换到操作系统的任意位置,
显然, 这种方式是无法通过程序代码来实现的.- i386中引入了保护模式(protected mode)和特权级(privilege level)的概念
- mips32处理器可以运行在内核模式和用户模式
- riscv32则有机器模式(M-mode), 监控者模式(S-mode)和用户模式(U-mode)