计算机操作系统概述

2/10/2019 计算机,base

# 计算机操作系统概述

# 1. 操作系统的基本概念

# 1.1 操作系统的概念

操作系统(Operation System),简称OS,是管理计算机『硬件』与『软件』资源的计算机程序。

『计算机系统』的构成

  • 用户
  • 应用程序
  • 操作系统(OS)
  • u硬件(裸机)

OS是一种『系统软件』

  • 与硬件交互
  • 对资源共享进行调度管理
  • 解决并发操作处理中存在的协调问题
  • 数据结构复杂,外部接口多样化,便于用户反复使用

作为『系统软件』, OS做了哪些事

  • 管理与配置内存

  • 决定系统资源供需的优先次序

  • 控制输入设备与输出设备

  • 操作网络与管理文件系统等基本事务

  • 提供一个让用户与系统交互的操作界面

# 1.2 操作系统的目标和功能

在计算机上配置OS的目标

  • 有效性

    • 提高系统资源利用率
    • 提高系统的吞吐量
  • 方便性

  • 可扩充性

  • 开放性

OS的功能

  • OS作为计算机系统资源的管理者

  • OS作为用户与计算机『硬件系统』之间的接口

  • OS实现了对计算机资源的抽象

OS作为计算机系统资源的管理者

  • 处理机管理

    1.进程控制

    2.进程同步

    3.进程通信

    4.调度

  • 存储器管理

    1. 内存分配

    2. 内存保护

    3. 地址映射

    4. 内存扩充

  • I/O设备管理

    1. 缓冲管理

    2. 设备分配

    3. 设备处理

  • 文件管理

    1. 文件存储空间的管理

    2.目录管理

    3.文件的读/写管理和保护

OS作为用户与计算机『硬件系统』之间的接口

  • 程序接口

  • 命令接口

  • GUI(Graphical User Interface),图形用户接口

OS实现了对计算机资源的抽象

  • 将具体的计算机硬件资源抽象成软件资源, 方便用户使用和扩展

  • 开放了简单的访问方式,隐藏了实现细节

  • 举例:使用浏览器进行搜索

# 1.3 操作系统的特征

# 1.3.1 并发(concurrence)

同一时间间隔内执行和调度多个程序的能力

特点:

  • 宏观上,处理机同时执行多道程序
  • 微观上,处理机在多道程序间高速切换(分时交替执行)
  • 关注单个处理机同一时间段内处理任务数量的能力

相似概念:并行

**并发:**同一时间间隔(时间段)发生的事件数量 午餐时段,学校餐厅并发用餐人数为12人

**并行:**同一时刻(时间点)发生的事件数量 同一时间点,学校餐厅最多并行3人打餐

# 1.3.2 共享(sharing)

即资源共享,系统中的资源供多个『并发执行』的应用程序共同使用

**同时访问方式:**同一时段允许多个程序同时访问共享资源

**互斥共享方式:**也叫独占式,允许多个程序在同一个共享资源上独立而互不干扰的工作

并发和共享互为存在条件

  • 共享性要求OS中同时运行着多道程序
    • 若只有单道程序正在运行,则不存在共享的可能
  • 并发性难以避免的导致多道程序同时访问同一个资源
    • 若多道程序无法共享部分资源(比如磁盘),则无法并发

# 1.3.3 虚拟(virtual)

使用某种技术把一个物理实体变成多个逻辑上的对应物。

  • 时分复用技术(TDM,Time Division Multiplexing)

    • 虚拟处理机技术:“四核八线程”
    • 虚拟设备技术:虚拟打印机
  • 空分复用技术(SDM,Space Division Multiplexing)

    • 虚拟磁盘技术:将一块硬盘虚拟出若干个卷

    • 虚拟存储器技术

# 1.3.4 异步(asynchronism)

多道程序环境下,允许多个程序并发执行; 单处理机环境下,多个程序分时交替执行;

  • 程序执行的不可预知性
    • 获得运行的时机
    • 因何暂停
    • 每道程序需要多少时间
    • 不同程序的性能,比如计算多少,I/O多少
  • 宏观上“一气呵成”,微观上“走走停停”

# 2. 操作系统的发展和分类

# 2.1 手工操作阶段

无操作系统的计算机系统

# 2.1.1 人工操作方式

  • 用户独占全机
  • CPU等待人工操作

# 2.1.2 脱机输入/输出方式

  • 解决了人机矛盾
  • 减少了CPU的空闲时间
  • 提高了I/O速度
  • 一次只能执行一个程序

# 2.2 批处理阶段

# 2.2.1 单道批处理系统(OS前身)

  • 自动性
  • 顺序性
  • 单道性
  • 内存中只有一道程序
  • CPU需要等待I/O完成

# 2.2.2 多道批处理系统

  • 提高CPU的利用率
  • 可提高内存和I/O设备利用率
  • 增加系统吞吐量
  • 平均周转时间长
  • 无人机交互

单道批处理系统与多道批处理系统对比

  • 单道批处理系统:主要解决CPU、内存和I/O设备利用率不足的问题
  • 多道批处理系统:主要解决I/O操作时CPU闲置问题

# 2.3 分时操作系统

一台主机连接多个带有显示器和键盘的终端,同时允许多个用户 通过自己的终端,以交互方式使用计算机,共享主机中的资源

为什么需要分时系统?

  • 人机交互
  • 共享主机
  • 便于用户上机

关键问题

  • 及时 接收
  • 及时 处理(作业提前进入内存,并能够与用户交互)

分时系统的特征

  • 多路性:时间片轮转机制
  • 独立性:用户彼此独立
  • 及时性:用户能在短时间内获得响应
  • 交互性:用户可以请求多种服务

分时系统的缺点

  • 作业/用户优先级相同,不能优先处理紧急任务

与分时系统比较

  • 多路性
  • 独立性
  • 及时性:以用户能接受的等待时间为准
  • 交互性
  • 可靠性:多级容错,保障系统和数据的安全

# 2.4 实时操作系统

系统能即时响应外部事件的请求,在规定的时间内完成对该事件 的处理,并控制所有实时任务协调一致地运行。

应用需求

  • 实时控制
  • 实时信息处理

实时任务

  • 周期/非周期性实时任务(根据周期性)
  • 硬/软实时任务(根据截止时间)

# 2.5 微机操作系统的发展

微机操作系统的发展

  • 单用户单任务
    • CP/M、MS-DOS
  • 单用户多任务
    • Windows 1.0 - XP
  • 多用户多任务
    • UNIX OS:Solaris、Linux、Mac
    • MS-DOS:Windows 10

# 3. 操作系统的运行环境

# 3.1 概念

  • 内核程序 <- - -> 应用程序
  • 核心态 <- - -> 用户态
  • 特权指令 <- - -> 非特权指令

# 3.2 内核

# 3.2.1 时钟管理

  • 计时:提供系统时间
  • 时钟中断:比如进程切换

# 3.2.2 中断机制

提高多道程序环境下CPU利用率 外中断:中断信号来源于->外部设备 内中断:中断信号来源于->当前指令

内中断也叫:异常/陷入/例外

内中断的三种情况

  • 陷阱/陷入(Trap):由应用程序主动引发
  • 故障(fault):由错误条件引发
  • 终止(abort):由致命错误引发

中断处理过程

# 3.2.3 原语

  • 由若干条指令组成,是一个程序段
  • 用来完成某个特定功能
  • 执行过程不会被中断,具有“原子性”
  • 原语运行在内核空间

# 3.2.4 系统数据结构

  • 进程管理:作业控制块、进程控制块
  • 存储器管理:存储器分配与回收
  • 设备管理:缓冲区、设备控制块

# 3.3 系统调用

由操作系统实现,给应用程序调用,是一套接口的集合应用程序访问内核服务的方式

# 4. 操作系统的结构是怎么设计的?

# 4.1 传统的操作系统结构(大内核)

# 4.1.1 无结构操作系统

设计者只是把注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想

此时的OS是为数众多的一组过程的集合, 每个过程可以任意地相互调用其它过程,致使操作系统内部既复杂又混乱。因此,这种OS是无结构的, 也有人把它称为整体系统结构

  • 一系列过程(程序)的集合,过程间可以相互调用
  • 结构复杂且混乱,难以调试、阅读和维护

# 4.1.2 模块化结构OS

基于“分解”和“ 模块化” 原 来 则来控制大型软件的复杂度

将OS按功能划分为若干个具有一定独立性和大小的模块

每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、 I/O设备管理模块

规定好各模块间的接口,使各模块之间能通过该接口实现交互

再进一步将各模块细分为若干个具有一定功能的子模块,同样也要规定好各子模块之间的接口

优点:

  • 提高OS设计的正确性、可理解性和可维护性
  • 增强OS的适应性
  • 加速开发过程

缺点:

  • 模块接口设计难以扩展后续需求
  • 各模块设计没有统一的决策标准,导致模块接口设计不可靠

# 4.1.3 分层式结构OS

有序分层法,自顶向下依次依赖

设计时,自底向上:每一步建立在可靠的基础上

优缺点

  • 容易保证系统正确性
  • 容易扩充和维护
  • 自上而下的层次通信,导致系统效率降低

# 4.2 微内核OS结构

足够小的内核,只实现OS核心功能

  • 与硬件处理紧密相关的部分,比如硬件处理、 客户与服务器通信和其它基本功能
  • 一些较基本的功能
  • 客户和服务器之间通信(客户/服务器模式)

应用“机制与策略分离”原理 采用面向对象技术

微内核的OS的优点

  • 提高OS的可扩展性、可靠性、可移植性
  • 支持分布式系统
  • 融入了面向对象技术

微内核的OS的缺点

  • 相较早期OS,降低了一定的效率
Last Updated: 12/15/2022, 8:20:44 PM