简介

  • 操作系统概念 第九版 ,作者为 Abraham Silberschatz, Peter B.Galvin,

第一部分 概论

  • 操作系统位于计算机用户与计算机硬件之间。操作系统的目的是提供环境,以便用户能够便捷且高效地执行程序

第一章 导论

  • 由于操作系统既庞大又复杂,应一部分一部分地构造。每一部分都应具有明确描述的系统部分,而且输入,输出及功能都有明确的定义。

1.1 操作系统的功能

  • 计算机系统可以粗分为四个组件:硬件,操作系统,应用程序和用户

  • 硬件(hardware),例如中央处理单元(Center Processing Unit, CPU),内存(memory),
  • 输入/输出设备(Input/Output device, I/O Device),为系统提供基本的计算资源
  • 应用程序(application program),例如字处理程序编译器,网络浏览器,规定了用户为解决计算问题而使用这些资源的方式。操作系统控制硬件,并且协调各个用户应用程序的硬件使用。

  • 从计算机的视角来看,操作系统是与硬件紧密相连的程序。因此,可以将操作系统看作资源分配器(resource allocator)
  • 操作系统的另一个稍有不同的视角是,强调控制各种I/O设备和用户程序的需求。操作系统是个控制程序。控制程序(control program)管理用户程序的执行,以防止计算机资源的错误或不正当使用。

  • 操作系统的定义
    • 操作系统是一直运行在计算机上的程序(通常成为内核(kernel)).
    • 除了内核外,还有其他两类程序:系统程序(system program)和应用程序
    • 系统程序是与系统运行有关的程序,但不是内核的一部分;
    • 应用程序是与系统运行无关的所有其他程序

1.2 计算机系统的组成

  • 现代通用计算机系统包括一个或多个CPU和若干设备控制器,通过公有总线相连而成,该总线提供了共享内存的访问。
  • 每个设备控制器负责一类特定的设备。CPU与设备控制器可以并发执行,并且竞争访问内存。
  • 为了确保有序访问共享内存,需要内存控制器来协调访问内存。

  • 当计算机电源打开或者重启以便开始运行时,它需要运行一个初始程序。该初始程序或者引导程序(booststrap program)通常很简单,一般位于计算机的固件(firmware),例如只读内存(Read-Only Memory, ROM)或者电可擦可编程只读内存(Electrically Erasable Programmable Read-Only Memory, EEPROM)。
  • 它初始化系统的各个组件,从CPU寄存器,设备控制器到内存内容。引导程序必须知道如何加载操作系统并且开始执行系统。为了完成这一目标,引导程序必须定位操作系统内核并且加到内存。

  • 一旦内核加到内存并且执行,它就开始为系统与用户提供服务。除了内核外,系统程序也提供一些服务,他们在启动时加到内存而成为系统进程(system process)或者系统后台程序(system daemon),其生命周期与内核一样。对于UNIX,首个系统进程为init,它启动许多其他系统的后台程序。一旦这个阶段完成,系统就完全启动了,并且等待事件发生
  • 事件发生通常通过硬件或者软件的中断(interrupt)来通知。硬件可以随时通过系统总线发送信号到CPU,以触发中断。软件也可以通过执行特别操作即系统调用(system call)(也称为监督程序调用(monitor call)),以触发中断

  • 中断是计算机体系结构的重要部分。虽然每个计算机设计都有自己的中断机制,但是有些功能是共同的。中断应该将控制转移到合适的中断服务程序。处理这一转移的直接方法是,调用一个通用程序以检查中断信息。接着,该程序会调用特定的中断处理程序。