我们都知道操作系统负责处理用户应用程序所需的资源。操作系统也是一段运行的代码,那么它如何管理其他用户程序?
操作系统是否在专用处理器上运行并在其他处理器上监视用户程序?
操作系统实际上是如何处理用户应用程序的?
答案 0 :(得分:2)
这取决于操作系统的结构。对于任何现代操作系统,内核都是通过异常或中断来调用的。操作系统在中断期间“监视”进程。操作系统调度计时器中断。当计时器关闭时,中断处理程序将确定是否需要切换到其他进程。
另一个OS管理路径是通过异常。应用程序通过异常调用操作系统。异常处理程序还可能导致操作系统切换到另一个进程。如果某个进程调用了读取并等待系统服务,则该异常处理程序肯定会切换到新进程。
在过去,多处理器通常拥有一个处理器,它是专用主处理器,并且是唯一处理某些任务的处理器。现在,所有普通操作系统都使用对称多处理,其中任何处理器都可以处理任何任务。
答案 1 :(得分:0)
需要一本完整的书来回答您的问题。
阅读Operating System: Three Easy Pieces(可免费下载的书)。
操作系统是否在专用处理器上运行并在其他处理器上监视用户程序?
一般而言同一处理器(或内核)位于用户-mode中(用于用户程序;请阅读user space和process isolation和protection rings)或处于管理者模式(用于-操作系统kernel)
操作系统实际上是如何处理用户应用程序的?
通常通过提供system calls来完成,这些操作是通过应用程序以某种受控方式完成的。
一些学术OS,例如Singularity,在设计时考虑了其他原则(用于隔离的形式证明技术)。
还请阅读有关micro-kernels,unikernels等的信息。