操作系统概念
需了解操作系统的特征和发展历程,可能在选择题中考察。
概念
操作系统是计算机系统中的一个核心软件组件,负责管理和控制计算机硬件,为用户和应用程序提供服务。
操作系统特征
- 并发(Concurrence):操作系统具备同时处理和调度多个程序的能力。
- 共享(Sharing):系统中的资源可供内存中多个并发的进程共同使用。
- 虚拟(Virtual):将物理的实物虚拟为逻辑上的对应物。
- 异步(Asynchronism):任务可以不按固定的顺序执行,因此同一操作的结果可能因执行的时序而异。
目标和功能
- 作为用户语句计算机硬件系统之间的接口。
- 作为计算机系统资源的管理者。
- 实现了对计算机资源的抽象。
发展历程
- 手工操作阶段:
- 时间背景:计算机的早期阶段。
- 特点:没有操作系统,用户直接使用计算机硬件。
- 操作方式:用户在一个时刻将自己的程序载入计算机,然后执行。执行完毕后,将结果记录并释放计算机。
- 问题:效率低,CPU大部分时间处于空闲状态。
- 批处理操作系统:
- 单道批处理系统:
- 特点:系统一次只执行一个任务。完成后再执行下一个。
- 操作方式:用户的多个作业被收集到一个作业队列中,操作系统按照队列的顺序逐一执行。
- 问题:CPU利用率仍然不高,因为在I/O操作时,CPU仍然处于空闲状态。
- 多道批处理系统:
- 特点:在内存中同时加载多个作业,并使它们共享CPU。
- 操作方式:当一个作业进行I/O操作时,CPU可以切换到另一个作业,从而提高了CPU的利用率。
- 优势:提高了系统吞吐量和CPU利用率。
- 单道批处理系统:
- 分时操作系统:
- 时间背景:20世纪60年代。
- 特点:允许多个用户通过终端同时访问计算机。
- 操作方式:操作系统为每个用户提供了一个“虚拟机”的概念,使每个用户感觉自己独占了整个系统。实际上,系统在用户之间快速切换,为每个用户提供少量的CPU时间。
- 优势:提高了交互性和多用户并发访问的能力。
- 示例:Unix操作系统在其初期就是一个分时系统。
- 实时操作系统:
- 特点:系统必须在严格的时间限制内响应外部输入。
- 分类:
- 硬实时系统:不满足时限会导致严重的后果,如飞行控制系统。
- 软实时系统:不满足时限可能会降低系统的性能,但不会导致灾难,如多媒体播放器。
- 操作方式:实时操作系统的任务调度是基于优先级的,且通常会预先定义每个任务的执行时间。
- 优势:满足特定应用场景的实时需求,如嵌入式系统和工业控制系统。
操作系统引导
引导流程
简单而言,包含如下步骤:
从ROM中读取BIOS、读取MBR中的分区引导程序、执行bootloader、加载操作系统
具体而言
- 电源开机(Power-On):
- 当计算机电源被打开时,系统会执行加电自检(Power-On Self-Test, POST)。
- 这是由系统的BIOS或UEFI固件负责的,其目的是检查并确保基本硬件组件(如CPU、RAM和主板)处于工作状态。
- BIOS/UEFI 阶段:
- BIOS/UEFI会初始化并检查硬件。
- 根据其配置,BIOS/UEFI会决定从哪个设备(例如硬盘、光盘、USB或网络)启动。
- 之后,它会读取该设备的启动扇区。
- 引导加载器(Bootloader):
- 启动扇区中包含的代码被执行。这通常是引导加载器的第一部分。
- 引导加载器的主要任务是加载操作系统内核。它可能由多个阶段组成,特别是当操作系统存储在硬盘的非连续扇区时。
- 加载操作系统内核:
- 一旦引导加载器被执行,它会从文件系统中找到并加载操作系统的内核到RAM中。
- 内核初始化:
- 操作系统内核开始运行并进行自我初始化。
- 它会检测和配置系统上的硬件资源,例如设置中断、初始化设备驱动、建立内存管理结构等。
- 启动系统服务和守护进程:
- 在内核初始化后,它会启动一系列的系统进程或服务来管理各种系统任务。