用户进程中执行的操作系统

当发生一个中断、陷阱或系统调用时,处理器被置于内核模式,控制权转交给操作系统。

如果操作系统完成其操作后,确定需要继续运行当前进程,则进行一次模式切换,在当前进程中恢复恢复被中断的进程。

在某种程度上,操作系统的这种视图是非常值得注意的。在某些时候,一个进程可以保存它的状态信息,从就绪态进程中选择另一个进程,并把控制权释放给这个进程。之所以说这是一种混杂的情况,是因为在关键时候,在用户进程中执行的代码是共享的操作系统代码而不是用户代码。

基于用户模式和内核模式的概念,即使操作系统例程在用户进程环境中执行,用户代码也不能篡改或干涉操作系统例程。这进一步说明进程和程序的概念是不同的它们之间不是一对一的关系。在一个进程中,用户程序和操作系统程序都有可能执行,而在不同用户进程中执行的操作系统程序是相同的。

UNIX采用如上图中的模型,大部分操作系统在用户环境中执行,因此需要两种模式,即用户模式和内核模式。UNIX使用两类进程,即系统进程和用户进程。

posted @ 2011-12-09 11:03  在云中漫步  阅读(1045)  评论(0编辑  收藏  举报