现在我们已经讨论了关于计算机系统组织和体系结构的基本信息,现在我们准备讨论操作系统。操作系统提供执行程序的环境。在内部,操作系统差别很大,因为它们是沿着许多不同的行组织的。然而,我们在本节中考虑了许多共性。

要使计算机开始运行——例如,当它被启动或重新启动时——它需要一个初始程序来运行。如前所述,这个初始程序或引导程序往往很简单。通常,它存储在计算机硬件的固件中。它初始化系统的所有方面,从CPU寄存器到设备控制器到内存内容。引导程序必须知道如何加载操作系统和如何加载开始运行这个系统。要实现这些目的,这个引导程序必须可以定位到操作系统的内核,并将其加载到内存中。

一旦内核被加载并执行,它就可以开始向系统及其用户提供服务。一些服务是由系统程序在引导时加载到内存中成为系统守护进程的,系统守护进程在内核运行的整个时间内运行。在Linux上,第一个系统程序是“systemd”,它启动许多其他守护进程。这个阶段完成后,系统将被完全引导,系统将等待一些事件发生。

如果没有要执行的进程,没有要服务的I/O设备,也没有要响应的用户,操作系统就会安静地等待事情发生。事件几乎总是由中断的出现发出信号。在第1.2.1节中,我们描述了硬件中断。另一种形式的中断是一个陷阱(或异常),这是一个由软件生成的中断,生成的原因要么是通过一个错误(例如,除零或无效的内存访问),或者是从用户程序发出的通过执行称为系统调用的特殊操作来执行操作系统服务的特定请求。

results matching ""

    No results matching ""