关于我

计算机操作系统概述

第一章_计算机操作系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的功能和目标

1.1.1.1 资源的管理者

操作系统具备四大核心功能:

  1. 处理机管理: 在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因此处理机管理本质上是对进程的管理。并发是指多个进程在一段时间内交替执行,宏观上呈现同时运行的特征。进程管理的主要任务包括进程控制、进程同步、进程通信、死锁处理以及处理机调度等。
  2. 存储器管理: 存储器管理旨在为多道程序提供良好的内存运行环境,方便用户使用并提高内存利用率,主要功能包括内存分配与回收、地址映射、内存保护与共享,以及内存扩充等。
  3. 文件管理: 用户可见的持久化信息通常以文件形式组织。操作系统中负责文件管理的部分称为文件系统,其功能包括文件存储空间的管理、目录管理、文件读 / 写操作及访问保护等。
  4. 设备管理: 设备管理的主要任务是处理用户的 I/O 请求,屏蔽设备差异,方便用户使用各类外设,并提高设备利用率,主要包括缓冲管理、设备分配、设备驱动处理和虚拟设备等功能。 上述任务均由 “工人”(操作系统)自动完成,“雇主”(用户)无须关注。

这也是整个考研操作系统需学习的四大部分。

1.1.1.2 向上层提供的服务

一张图概括,注意考研可能会考选择题: 接口 注意:指令集是硬件向软件提供的接口,而操作系统提供的接口(系统调用(System Call))在其之上,是提供给应用程序的接口,长的就像 C 语言中的库函数。

1.1.2 操作系统的特征

操作系统具有下面四个特征:

  1. 并发: 并发是宏观上并行,微观上可能是串行可能是并行。注意和并行区分,并行是宏观和微观上都是并行。
  2. 共享: 如图所示: 共享
  3. 虚拟: 如图所示: 虚拟
  4. 异步: 如图所示: 异步

重要考点: 理解并发和并行的区别。 并发和共享互为存在条件。 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统重两个最基本的特征。

1.2 操作系统的发展和分类

本小节思维导图如下图所示: 思维导图 挑几个重要点的进行介绍:

  1. 单道批处理系统: 系统先将一批作业以脱机的方式输入到磁带,并配一个监督程序,在其控制下,作业能自动、顺序地逐个运行。如下图所示: 单道批处理系统

  2. 多道批处理系统: 在这个阶段,操作系统开始出现。 用户提交的作业首先存放在外存的后备队列中。作业调度程序按一定算法从该队列中选取若干作业调入内存,使其在管理程序的控制下并发执行,并共享系统资源。当某道程序因 I/O 请求而暂停运行时,CPU 立即切换至另一就绪程序继续执行。该机制依赖 中断技术,使系统各部件尽可能保持忙碌,从而显著提升整体吞吐量和资源利用率。这种采用多道程序设计技术的批处理系统统称为多道批处理系统,它将用户作业成批送入内存,由作业调度程序自动选择运行。 多道批处理系统

  3. 分时操作系统: 分时技术是指将处理器时间划分为很短的时间片,轮流分配给各用户程序使用。若某程序在其时间片内未完成计算,则暂停运行,释放处理器给其他用户程序,待下一轮再继续执行。由于计算机运行速度极快,程序轮转迅速,每个用户均能获得 “独占计算机” 的交互体验。 分时操作系统

  4. 实时操作系统: 分时操作系统具有严格是时限性,系统必须在严格是限定时间内对外部事件做出响应。不能够处理紧急事件,为此,实时操作系统应运而生。 实时操作系统放弃的时间片的轮转机制,转而采用基于任务紧迫性或截止时间的调度策略,确保高优先级能够及时获得处理器资源。 实时操作系统

1.3 操作系统的运行环境

1.3.1 操作系统的运行机制

本小节思维导图如下图所示: 思维导图 现代操作系统通常采用分层架构,将与硬件紧密相关的模块(如中断处理程序、设备驱动程序)、运行频率较高的模块(如时钟管理、进程调度),以及各模块共用的基础操作,集中置于紧靠硬件的层次并常驻内存。这部分核心组件被称为 操作系统内核。这种设计有两个主要目的:一是保护核心模块免受应用程序破坏;二是提升操作系统的运行效率。不同操作系统的内核功能存在一定差异,但大多数都包含以下两类功能(以大内核为例):

  1. 支撑功能:
    1. 时钟管理
    2. 中断机制
    3. 原语
  2. 系统资源管理功能:
    1. 进程管理
    2. 存储器管理
    3. 设备管理

关于 特权指令和非特权指令: 我们普通人写的 应用程序,就只能运用 非特权指令。 操作系统开发者写的 内核程序,就能够使用 特权指令,如内存清零等。

关于 内核态和用户态: 为确保操作系统正确运行,必须严格区分操作系统代码与用户程序的执行环境。绝大多数计算机系统通过硬件支持实现这一区分,即为处理机设置至少两种独立的运行模式:用户态(也称目态)内核态(也称管态或系统态)。硬件通过一个模式位(在 PSW 寄存器中)标识当前运行模式(例如 0 表示内核态,1 表示用户态),从而明确当前执行的是系统任务还是用户任务。

内核态和用户态如何进行切换如下图所示: 进行切换

1.3.2 中断和异常

中断的分类如下图所示: 中断的分类 而中断的具体硬件实现在 计算机操作系统-输入输出系统 这一章。

1.3.3 系统调用

系统调用即前面提到过的 操作系统提供的程序接口,高级语言的如 C 语言的库函数就是对系统调用的进一步封装。

如下功能必须使用系统调用进行实现:

  1. 设备管理 — 完成设备的 请求/释放/启动 等功能
  2. 文件管理 — 完成文件的 读/写/创建/删除 等功能
  3. 进程控制 — 完成进程的 创建/撤销/阻塞/唤醒 等功能
  4. 进程通信 — 完成进程之间的 消息传递/信号传递 等功能
  5. 内存管理 — 完成内存的 分配/回收 等功能

为什么系统调用是必须的如下图所示: 系统调用是必须的 系统调用的过程如下图所示: 系统调用的过程

1.4 操作系统体系结构

分为五种:分层结构、模块化、宏内核、微内核、外核。 分层结构分层结构 模块化模块化 大(宏)内核 和 微内核大内核 和 微内核 外核外核

总结如图所示: 总结

1.5 操作系统引导

操作系统引导如图所示: 操作系统引导

1.6 虚拟机

虚拟机分为两类管理程序,如下图所示(不要误解成一个是在硬件上虚拟化,一个是在软件上虚拟机化。也不要以为只有第二种!): 两类管理程序 两类 VMM 对比如下: 两类 VMM 对比

总是在探索未知