代码炼金工坊

操作系统概论-概览
April 4, 2021

定义

操作系统是一种复杂的 系统软件 ,是不同 程序代码 数据结构 数据初始化文件 的集合,可执行。

操作系统屏蔽硬件细节,提供 用户计算机硬件 之间的 接口 ,使 应用程序 的开发变得简单高效。

目标:

  • 与硬件部分相互作用
  • 为应用程序提供执行环境

重要特点:支持 多任务

管理资源:

  • 处理机管理(cpu)- 决定给哪个程序用
  • 内存管理 - 给程序分配内存空间
  • 设备管理 - 怎么分配设备,分配哪台设备,怎么和设备连接
  • 文件管理 - 为文件分配空间,建立目录,在外存进行读写
  • 网卡、带宽

发展

  • 无操作系统(1946年)
  • 单道批处理系统(20世纪50年代)
    • 内存中任意时刻只有一道作业,资源被独占
    • 特点:自动、顺序、单道性
    • 优点:减少了等待人工操作的时间
    • 缺点:资源利用不充分
  • 多道批处理系统(20世纪60年代)
    • 由操作系统的 作业调度程序 按一定策略从 后备作业队列 中选择若干个作业调入内存,共享资源
    • 特点:无序、多道、调度、复杂性
    • 优点:提高资源利用率和系统吞吐量
    • 缺点:平均周转时间长,缺乏交互能力
  • 分时操作系统
    • 允许 多个用户 通过终端机 同时使用 计算机,交互得到 快速响应
    • 特点:多路性、独立性、及时性、交互性
    • 优点:提供了 人机交互的方便性 ,共享主机
  • 实时操作系统
    • 及时响应 外部请求,用于 实时控制实时信息处理
    • 特点:多路性、独立性、及时性、交互性、可靠性

现代操作系统特征

支持多任务

  • 并发:多个事件在同一时间间隔内发生
  • 共享
  • 虚拟:使每个用户感觉自己独占了资源
  • 异步性:程序的运行结果、运行次序以及多次运行的时间都不确定

功能

管理资源

  • 内存管理
    • 提高 内存利用率 ,从 逻辑上扩充内存 实现 虚拟内存
    • 内存分配:静态分配、动态分配
    • 内存保护:保护 内核空间 ,确保 用户程序 运行在 自己的内存空间 ,互不干扰
    • 地址映射:物理内存映射到逻辑内存
    • 内存扩充:虚拟技术逻辑 扩充,提供比物理内存大的容量
  • 进程管理:进程的描述与组织、控制、同步、通信和调度
  • 设备管理:
    • 完成用户的 I/O请求 ,分配 I/O设备
    • 缓冲管理
    • 设备分配
    • 设备处理
    • 独立性和虚拟
  • 文件管理:
    • 存储空间的管理:提高外存利用率,提高文件访问速度
    • 目录管理:建立目录项
    • 读写管理和存取控制:从外存读数据或数据写入外存

提供用户接口

  • 命令接口:
    • 方便交互
    • 联机 用户接口:一组 键盘操作命令命令解释程序
    • 脱机 用户接口:批处理用户接口
  • 图形用户接口
  • 程序接口:系统调用

体系结构

是一种 软件 的体系结构。

  • 简单的监控程序模型:功能简陋,任意时刻只能运行一个任务
  • 单体结构模型:所有的软件和数据结构都放置在一个逻辑模块中,对外提供统一内核界面(UNIX)
  • 层次结构模型:分解为多个小的、容易理解的层
  • C/S 模型和微内核结构:核心功能外移(Windows NT)
  • 动态可扩展结构模型:运行时动态地实现系统行为扩展的结构

指令的执行

程序是指令的集合 ,程序的执行就是按照某种控制流执行指令的过程

  • 指令周期
    • 一个 单一指令 需要的处理
    • 分为 取指周期执行周期
  • 程序计数器(PC):保存下一次要取的指令的地址
  • 指令寄存器(IR):保存取到的指令

处理器解释指令并执行要求的动作:

  • 处理器与存储器 之间的 指令或数据传送 操作
  • 处理器与I/O设备 之间的 指令或数据传送 操作
  • 算术运算 操作或 逻辑运算 操作
  • 控制 操作,即 修改指令的执行顺序 的操作