2012-03-04 49 views
0

它必须停止一些时间进程来切换其他进程,并且还必须监视内存访问等操作。那么操作系统是否会逐一检查并运行指令?操作系统是否与汇编代码交互?

Ps。我刚刚开始学习汇编语言和计算机体系结构:)

回答

1

很多硬件都提供了定时中断,这些定时中断通常会独立于软件而触发。引发的中断对应于包含在引发中断时将执行的过程的存储器位置,在这种情况下,过程执行所谓的上下文切换和过程调度。大多数硬件信息,如程序计数器和各种寄存器内容都将存储在每个进程的信息结构中。机器寄存器(程序使用的)的内容在程序再次开始执行之前被恢复。拿起一本关于操作系统设计的书将更详细地介绍如何完成所有这些。

+0

谢谢!所以CPU比我想象的要多得多。 – bgeyts668 2012-03-05 04:59:42

0

不,操作系统不检查指令,因为在操作系统中这样做会非常复杂和昂贵(很慢)。 CPU进行内存访问检查,当它们失败时,它会在OS中执行指定的代码,例如,终止当前进程并给出错误消息。

2

操作系统不执行代码,处理器。受保护的模式也由处理器实现,操作系统仅对其进行配置。由违规触发的陷阱由OS代码处理,如果无法以合理的方式处理,最终会导致进程终止。上下文切换由来自时钟节拍的硬件中断启动。或者阻塞I/O系统调用。