【操作系统】系统程序 目标功能 资源管理 并发 共享 虚拟 异步 分时 实时 运行机制 用户态 内核态 时钟管理 中断机制 原语 系统数据结构 系统调用 设计结构

1 基本概念

操作系统管理计算机硬件和软件资源计算机程序

计算机系统构成

  • 用户
  • 应用程序
  • 操作系统
  • 硬件(CPU/内存/键盘/鼠标等)

OS是一种系统软件

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

作为系统软件,OS的作用有:

  • 管理与配置内存
  • 决定系统资源供需的优先次序
  • 控制输入输出设备
  • 操作网络与管理文件系统等基本事务
  • 提供让用户与系统交互的操作界面

2 目标与功能

在计算机上配置操作系统的目标

  • 有效性
    • 提高系统资源利用率
    • 提高系统吞吐量
  • 方便性
  • 可扩充
  • 开放性

OS的功能:

  • 计算机系统资源的管理者
  • 用户与计算机硬件系统之间的接口
  • 对计算机资源进行抽象

计算机系统资源的管理者:

  • 处理器管理
  1. 进程控制
  2. 进程同步
  3. 进程通信
  4. 调度
  • 存储器管理
  1. 内存分配
  2. 内存保护
  3. 地址映射
  4. 内存扩充
  • I/O设备管理
  1. 缓冲管理
  2. 设备分配
  3. 设备处理
  • 文件管理
  1. 文件存储空间管理
  2. 目录管理
  3. 文件读写管理和保护

用户与计算机硬件系统之间的接口:

  • 程序接口
  • 命令接口
  • GUI(Graphical User Interface)

对计算机资源进行抽象:

  • 将具体的计算机硬件资源抽象成软件资源从而方便用户使用
  • 开放简单的访问方式,隐藏具体的实现细节

3 特征

OS的四大基本特征:

  • 并发
  • 共享
  • 虚拟
  • 异步

OS的并发性(Concurrence)

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

并行
同一时刻发生的事件数量(存在物理极限)

OS的共享性(Sharing)
资源共享:系统中的资源供给多个并发执行的应用程序共同使用

  • 同时访问方式:同一时段允许多个程序同时访问共享资源(磁盘、内存、CPU等)
  • 互斥共享方式:允许多个程序在同一共享资源上独立不互扰工作(打印机、音频、视频等)

并发与共享互为前提:

  • 共享要求OS同时并发运行多道程序
  • 并发难免导致多道程序同时访问同一资源

OS的虚拟性(Virtual)
使用某种技术将一个物理实体变成多个逻辑上的对应物

  • 时分复用技术(TDM, Time Division Multiplexing)
    • 虚拟处理机技术:四核八线程
    • 虚拟设备技术:虚拟打印机
  • 空分复用技术(SDM, Space Division Multiplexing)
    • 虚拟磁盘技术: 将一块硬盘虚拟出若干个卷
    • 虚拟存储器技术

OS的异步性(Asynchronism)
多道程序环境下,允许多个程序并发执行
单处理机环境下,多个程序分时交替执行

  • 程序执行的不可预知性
    • 获得运行的时机
    • 因何运行
    • 每道程序需要执行多少时间
    • 不同程序的性能

4 发展

手工操作阶段:无操作系统的计算机系统
批处理阶段:同时处理多道程序
分时操作系统(Time Sharing System)
实时操作系统(Real Time System)
微机操作系统
其他操作系统:网络操作系统(支持网络、资源共享、远程通信),分布式操作系统(分布性、并行性)

5 运行机制

操作系统:

  1. 用户空间
    • 非内核功能
    • 应用程序
  2. 内核空间
    • 进程管理服务器 - 进程(线程)调度
    • 存储器服务器 - 低级存储器管理
    • 文件管理服务器 - 中断和陷入管理
    • 裸机系统/宿主系统/硬件系统
  • 1 时钟管理

    • 计时:提供系统时间
    • 时钟中断:例如进程切换
  • 2 中断机制

    • 提高多道程序环境下的CPU利用率
    • 外中断:中断信号来源于外部设备
    • 内中断(异常/陷入/例外):中断信号来源于当前指令(三种情况)
      • 陷阱/陷入(Trap):由应用程序主动引发
      • 故障(fault):错误条件引发
      • 终止(abort):致命错误引发

    中断处理过程:

    1. 关中断(CPU不响应高级中断请求)
    2. 保存断点(程序计数器PC)
    3. 引出中断服务程序
    4. 保存现场和屏蔽字
    5. 开中断
    6. 执行中断服务程序
    7. 关中断
    8. 恢复现场和屏蔽字(PSWR和通用寄存器内容)
    9. 开中断
    10. 中断返回
  • 3 原语

    • 由若干指令组成的程序段
    • 用于完成某个特定功能(进程调度部分or文件读写部分等)
    • 具有原子性(执行过程不会被中断,底层实现依赖关中断与开中断)
    • 原语运行在内核空间
  • 4 系统数据结构(一般只涉及对数据结构的操作而不涉及硬件)

    • 进程管理:作业控制块、进程控制块
    • 存储器管理:存储器分配与回收
    • 设备管理:缓冲区、设备控制块
  • 5 系统调用(通过应用程序内中断陷入指令(用户空间),后续处理运行在内核态)

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

用户空间与内核空间的切换

内核程序 - 核心态/管态/内核态/系统态/特权态
用户程序 - 用户态/目态

目态切换至管态只用中断一种方式(访管指令or系统调用or陷入指令)

6 设计结构

大内核与微内核

传统OS结构

  • 第一代:无结构OS

    • 一系列过程(程序)的集合,过程间可以互相调用
    • 结构复杂混乱,难以调试阅读与维护
  • 第二代:模块化结构OS

    • 分解/模块化(网络收发/进程调度/文件读写等)
    • 规定模块/子模块间的接口
    • 高内聚,低耦合
    • 优缺点:
      • 提高OS设计的正确性、可理解性与可维护性
      • 增强OS的适应性
      • 加速开发
      • But
      • 模块接口设计难以扩展后续需求
      • 模块设计没有统一决策标准导致接口设计不可靠
  • 第三代:分层式结构OS

    • 有序分层,自顶向下依次依赖
    • 设计之时自底向上,每一步都建立在可靠基础上
    • 优缺点:
      • 系统正确性
      • 易于扩充维护
      • But
      • 层次通信降低效率
  • 第四代:微内核结构OS

    • 内核足够小,只实现OS核心功能
    • 机制与策略分离
    • 面向对象
    • 优缺点:
      • 系统正确性
      • 易于扩充维护移植
      • 更加支持分布式系统
      • 面向对象(封装、继承、多态)
      • But
      • 降低效率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zanebla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值