• 操作系统知识点梳理


    操作系统

    简单地梳理一下操作系统课程的脉络,回忆用。

    概述

    • 特征:并发、共享、虚拟、异步,前二者为最基本
    • 目标
      • 管理计算机资源
      • 为用户提供接口:命令、程序、GUI
    • 发展
      • 批处理系统
      • 分时操作系统
      • 实时操作系统
      • 网络和分布式操作系统
    • 运行机制
      • 中断、异常
      • 系统调用
      • 核心态,用户态
    • 体系结构

    进程管理

    进程

    • 概念:程序段、数据段、PCB
    • 资源分配和调度的单位
    • 状态:创建,就绪,运行,阻塞,结束
    • 通信
      • PV操作
      • 共享存储区
      • 消息传递:消息队列(直接),信箱(间接)
      • 管道通信

    线程

    • CPU资源分配的单位
    • 不拥有系统资源
    • 实现方式:
      • 用户级线程
      • 内核级线程
    • 多线程模型:
      • 多对一(用户级) 并发性不高
      • 一对一(内核级) 切换开销
      • 多对多(折衷) 集两者长处

    处理机调度

    • 三级调度
      • 作业(高级)调度:内存与辅存
      • 内存(中级)调度:内存与外存,挂起
      • 进程(低级)调度:就绪队列中调度 频率高
    • 调度方式
      • 非剥夺调度
      • 剥夺调度
    • 调度指标
      • CPU利用率、系统吞吐
      • 周转时间、平均周转、带权周转
      • 等待时间
      • 响应时间
    • 调度算法
      • 先来先服务FCFS
      • 短作业优先:饥饿
      • 优先级调度:剥夺非剥夺,静态动态
      • 高相应比优先:非抢占式,响应比=(等待+要执行)/要执行
      • 时间片轮转
      • 多级反馈队列:队列优先级逐级降低,优先级越高时间片越小

    进程同步

    • 基本概念:临界资源、同步、互斥
    • 基本实现方法
      • 软件方法
      • 硬件方法
    • 信号量
      • 整型
      • 记录型
      • signal,wait
    • 管程
    • 经典同步问题
      • 生产者消费者
      • 读者写者
      • 哲学家进餐

    死锁

    • 概念
    • 产生原因
      • 资源竞争、推进顺序非法
      • 产生的必要条件及破坏
        • 互斥 改造资源为可共享 e.g. spooling技术
        • 不可剥夺 按优先级强制剥夺
        • 请求并保持 静态分配一次全部分配到位
        • 循环等待 顺序资源分配法
    • 处理策略
      • 预防(破坏四个必要条件)见上
      • 避免
        • 安全状态与不安全状态
        • 银行家算法 Available Max Allocation Need
      • 检测与解除
        • 资源分配图
        • 死锁定理(化简资源分配图)
        • 死锁解除:资源剥夺、撤销进程、进程回退法

    内存管理

    内存管理的功能:内存分配与回收,地址转换,内存空间扩充,存储保护

    基本概念

    • 程序的执行
      • 编译:源代码->目标模块
      • 链接:目标模块和库函数->装入模块
        • 静态链接:运行前组合
        • 转入时动态链接:边装入边链接
        • 运行时动态链接:便于实现模块共享
      • 装入:装入程序将 装入模块->内存
        • 绝对装入:编译时直接确定地址
        • 可重定位装入:装入时修改地址,地址变换一次完成,装入后不发生移动
        • 动态运行时装入:重定位寄存器;程序可分配到不连续的区域;只装入部分代码即可
    • 逻辑地址空间、物理地址空间
    • 内存保护
      • 上下限寄存器
      • 重定位寄存器(物理地址最小值)、界地址寄存器(逻辑地址最大值)
    • 覆盖与交换
      • 覆盖 仅一道程序,在同一程序中进行
      • 交换 不同进程间进行;交换整个程序;与虚拟内存的调入调出不同
      • 调入调出

    内存分配方式

    • 连续分配
      • 单一连续分配 系统区,用户区,一道程序
      • 固定分区分配 分区大小相等or不等;无外碎片;有内碎片
      • 动态分区分配
        • 不预先划分内存
        • 外碎片无内碎片;紧凑
        • 分配算法:首次适应、最佳适应(产生最多的外碎片)、最坏适应、临近适应(循环首次适应)
    • 非连续分配
      • 基本分页存储管理
        • 页面、页面大小
        • 地址结构:页号,页内偏移
        • 页表:页号->块号
        • 地址变换机构
        • 快表 TLB 块表
        • 多级页表 一级页号;二级页号;页内偏移
        • 一维地址空间
      • 基本分段存储管理
        • 分段:段号,段内偏移
        • 段表:段号->段长,段起始地址
        • 地址变换机构
        • 段的共享与保护 可重入代码;越界保护
        • 二维地址空间
      • 段页式存储管理方式
        • 逻辑地址:段号,页号,页内偏移
        • 同一个进程 只有一个段表;可能有多个页表
        • 地址变换机构 变换结构
    • 有效访存时间 EAT 计算
    • 位视图

    虚拟内存

    • 基本概念
      • 传统存储管理:一次性、驻留性
      • 局部性原理:时间局部性、空间局部性
      • 虚拟存储器:多次行、对换性、虚拟性(逻辑上扩充)
      • 实现:请求分页/段/段页存储管理
      • 页表,中断机构,地址变换机构
    • 请求分页管理
      • 页表 加入 状态位(是否在内存)、修改位、访问字段等
      • 缺页中断机构
      • 地址变换机构 变换过程 变换过程
    • 页面置换算法
      • 最佳置换算法(理想)
      • 先进先出
      • 最近最久未使用 LRU 需要硬件支持
      • 时钟置换算法(二次机会算法)
    • 页面分配策略
      • 驻留集大小
        • 固定分配
        • 可变分配全局置换
        • 可变分配局部置换
      • 调入页面的时机
        • 预调页
        • 请求调页
      • 从何处调入页面
        • 对换区
        • UNIX 未运行从文件区调入,运行过换出至对换区
      • 抖动
      • 工作集

    文件管理

    文件系统

    • 文件
      • 操作:创建、读写、指针重定位、删除、截断
      • 文件指针
      • 文件打开计数
    • 逻辑结构
      • 无结构文件(流式)
      • 有结构文件(记录式)
        • 顺序
        • 索引
        • 索引顺序
        • 散列文件
    • 目录结构
      • 文件控制块FCB
      • 索引结点
      • UNIX 索引节点和FCB
      • 目录
        • 单级目录
        • 两级
        • 多级目录(树形目录)
        • 无环图目录 (文件共享)
    • 文件共享
      • 硬链接:索引节点共享 UNIX
      • 软连接:符号链接 windows
    • 文件保护
      • 访问类型 rwx
      • 访问控制 用户组

    文件系统实现

    • 文件系统层次结构
    • 目录实现
      • 线性列表
      • 哈希表
    • 文件实现
      • 分配方式
        • 连续分配:寻道数最小 时间最短;FCB:起始地址,长度
        • 链接分配:隐式链接(只能顺序访问盘块 FCB起始和尾巴地址)、显式链接(一张FAT表)
        • 索引分配:FCB指索引块
        • UNIX 混合索引分配法
      • 存储空间管理(空闲块)
        • 空闲表法
        • 空闲链表法
        • 位示图法
        • 成组链接法

    磁盘组织与管理

    • 磁盘结构:磁头、磁道、扇区、盘面、柱面
    • 读写时间:寻道时间(磁臂移动)、延迟时间(旋转)、传输时间
    • 磁盘调度算法
      • 先来先服务
      • 最短寻找时间优先(饥饿)
      • 扫描 SCAN LOOK(不到顶部 只到最远的请求处)
      • 循环扫描 C-SCAN C-LOOK
    • 磁盘管理
      • 初始化
      • 引导块
      • 坏块

    I/O管理

    概述

    • 基本功能
      • 隐藏物理设备细节
      • 设备无关性
      • 提高处理机 IO涉笔的李永利
      • 控制IO设备
      • 错误处理
    • 设备独立性
      • 逻辑设备 应用请求逻辑设备名
      • 物理设备 执行时系统转换
    • 控制设备方法
      • 直接IO指令
      • 内存映射IO
    • IO设备分类
      • 速度:低、中、高
      • 信息交换单位:块、字符
      • 共享属性:独占、共享

    控制方式

    • 控制方式
      • 轮询
      • 中断
      • 直接访问存储器 DMA
      • IO通道
    • 中断机制 中断向量表 中断优先级
    • DMA 绕过CPU直接在IO和内存间传输

    IO内核子系统

    • IO调度
    • 缓冲
      • 匹配速度差异
      • 协调数据大小不一致
      • cache与缓冲区别 前者是拷贝 后者是唯一副本
    • 假脱机SPOOLing
      • CPU高速 IO低速
      • 输入输出进程,输入输出缓冲区,输入输出井(磁盘),井管理程序
      • 独占设备改造为共享设备
    • 错误处理 恢复 读写错误;请求失败时候返回错误;出错日志
    • IO保护 防止非法命令执行
    原文发表于快刀切草莓君的个人网站 http://zrawberry.com
  • 相关阅读:
    8086标志
    微内核
    枚举算法
    ajax
    面向对象技术概述
    ajax
    存储技术
    自然数组排列
    将搜索二叉树转换成双向链表
    在单链表中删除指定值的节点
  • 原文地址:https://www.cnblogs.com/Zaaachary/p/12953689.html
Copyright © 2020-2023  润新知