批处理操作系统
- 承接上文,批处理系统就是一个可以运行多个程序的操作系统。
- 用程序一点的话说就是,操作系统支持了
Array<App>1,可以去遍历执行App了。 - 批处理的原理还是很简单的,一句话就可以概括—
在main函数中遍历执行App数组。
切换特权级
- 批处理系统的核心就是
切换上下文。 - 由于批处理系统是可以运行多个程序的,所以操作系统需要在不同的程序之间切换。
- 切换上下文的过程就是保存当前程序的状态,然后加载下一个程序的状态。
- 这个过程是由操作系统来完成的,用户程序不需要关心,所以就需要保存和切换用户态和内核态的上下文。
- 这次我们就需要上一些代码了。
Footnotes
-
为什么不是Vec呢,因为App的长度在操作系统中是固定的,想要增加或减少就必须在编译一次操作系统。 ↩