操作系统概念

需了解操作系统的特征和发展历程,可能在选择题中考察。

概念

操作系统是计算机系统中的一个核心软件组件,负责管理和控制计算机硬件,为用户和应用程序提供服务。

操作系统特征

  1. 并发(Concurrence):操作系统具备同时处理和调度多个程序的能力。
  2. 共享(Sharing):系统中的资源可供内存中多个并发的进程共同使用。
  3. 虚拟(Virtual):将物理的实物虚拟为逻辑上的对应物。
  4. 异步(Asynchronism):任务可以不按固定的顺序执行,因此同一操作的结果可能因执行的时序而异。

目标和功能

  • 作为用户语句计算机硬件系统之间的接口。
  • 作为计算机系统资源的管理者。
  • 实现了对计算机资源的抽象。

发展历程

  1. 手工操作阶段:
    • 时间背景:计算机的早期阶段。
    • 特点:没有操作系统,用户直接使用计算机硬件。
    • 操作方式:用户在一个时刻将自己的程序载入计算机,然后执行。执行完毕后,将结果记录并释放计算机。
    • 问题:效率低,CPU大部分时间处于空闲状态。
  2. 批处理操作系统:
    • 单道批处理系统:
      • 特点:系统一次只执行一个任务。完成后再执行下一个。
      • 操作方式:用户的多个作业被收集到一个作业队列中,操作系统按照队列的顺序逐一执行。
      • 问题:CPU利用率仍然不高,因为在I/O操作时,CPU仍然处于空闲状态。
    • 多道批处理系统:
      • 特点:在内存中同时加载多个作业,并使它们共享CPU。
      • 操作方式:当一个作业进行I/O操作时,CPU可以切换到另一个作业,从而提高了CPU的利用率。
      • 优势:提高了系统吞吐量和CPU利用率。
  3. 分时操作系统:
    • 时间背景:20世纪60年代。
    • 特点:允许多个用户通过终端同时访问计算机。
    • 操作方式:操作系统为每个用户提供了一个“虚拟机”的概念,使每个用户感觉自己独占了整个系统。实际上,系统在用户之间快速切换,为每个用户提供少量的CPU时间。
    • 优势:提高了交互性和多用户并发访问的能力。
    • 示例:Unix操作系统在其初期就是一个分时系统。
  4. 实时操作系统:
    • 特点:系统必须在严格的时间限制内响应外部输入。
    • 分类:
      • 硬实时系统:不满足时限会导致严重的后果,如飞行控制系统。
      • 软实时系统:不满足时限可能会降低系统的性能,但不会导致灾难,如多媒体播放器。
    • 操作方式:实时操作系统的任务调度是基于优先级的,且通常会预先定义每个任务的执行时间。
    • 优势:满足特定应用场景的实时需求,如嵌入式系统和工业控制系统。

操作系统引导

引导流程

简单而言,包含如下步骤:

从ROM中读取BIOS、读取MBR中的分区引导程序、执行bootloader、加载操作系统

具体而言

  1. 电源开机(Power-On):
    • 当计算机电源被打开时,系统会执行加电自检(Power-On Self-Test, POST)。
    • 这是由系统的BIOS或UEFI固件负责的,其目的是检查并确保基本硬件组件(如CPU、RAM和主板)处于工作状态。
  2. BIOS/UEFI 阶段:
    • BIOS/UEFI会初始化并检查硬件。
    • 根据其配置,BIOS/UEFI会决定从哪个设备(例如硬盘、光盘、USB或网络)启动。
    • 之后,它会读取该设备的启动扇区。
  3. 引导加载器(Bootloader):
    • 启动扇区中包含的代码被执行。这通常是引导加载器的第一部分。
    • 引导加载器的主要任务是加载操作系统内核。它可能由多个阶段组成,特别是当操作系统存储在硬盘的非连续扇区时。
  4. 加载操作系统内核:
    • 一旦引导加载器被执行,它会从文件系统中找到并加载操作系统的内核到RAM中。
  5. 内核初始化:
    • 操作系统内核开始运行并进行自我初始化。
    • 它会检测和配置系统上的硬件资源,例如设置中断、初始化设备驱动、建立内存管理结构等。
  6. 启动系统服务和守护进程:
    • 在内核初始化后,它会启动一系列的系统进程或服务来管理各种系统任务。