- 目标
- 方便性
- 有效性
- 提高系统资源利用率
- 提高系统吞吐量
- 可扩充性
- 开放性
- 作用
- OS作为用户与计算机硬件系统之间的接口
- 命令方式
- 系统调用方式
- OS实现了对计算机资源的抽象
- OS作为用户与计算机硬件系统之间的接口
未配置操作系统的计算机系统
人工操作方式
用户独占全机 CPU等待人工操作 严重降低了计算机资源的利用率
-
减少了CPU的空闲时间 提高了I/O速度 效率仍然不理想
- 单道批处理系统
- 多道批处理系统
1.资源利用率高
2.系统吞吐量大
3.平均周转时间长
4.无交互能力- (宏观并行,微观串行)
- 分时系统
特征:
1.多路性
2.独立性
3.及时性
4.交互性 - ʵʱϵͳ
- 微机操作系统的发展
1.并发concurrence
区别并行和并发
并行性是指两个或多个事件在同一时刻发生→宏观并行,微观并行 并发性是指两个或多个事件在同一时间间隔内发生→宏观并行,微观串行
引入进程
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体
- 2.共享sharing
- 1.互斥共享方式
- 2.同时访问方式
- 并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件
- 3.虚拟virtual
- 时分复用技术
- 空分复用技术
- 4.异步asynchronism
- 1.处理机管理功能
- 进程控制
- 进程同步
- 进程互斥方式
- 进程同步方式(协同)
- 进程通信
- 调度
- 作业调度
- 进程调度
- 2.存储器管理功能
- 内存分配
- 静态分配
- 动态分配
- 内存保护
- 地址映射
- 内存扩充
- 内存分配
- 3.设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
- 4.文件管理功能
- 文件存储空间的管理
- 目录管理
- 文件的读写管理和保护
- 5.操作系统与用户之间的接口
- 用户接口
- 程序接口
- 6.现代操作系统的新功能
- 系统安全
- 网络的功能和服务
- 支持多媒体
- 传统操作系统结构
- 无结构操作系统
- 模块化OS
- 分层式结构OS
- 客户/服务器模式
- 面对对象的程序设计
- 微内核OS结构
- 程序的并发执行
- 程序并发执行时的特征
- 间断性
- 失去封闭性
- 不可再现性
- 进程的定义
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 进程的特征
- 动态性
- 并发性
- 独立性
- 异步性
- 进程的基本状态及转换
- 进程的三种基本状态
- 就绪状态ready
- 执行状态running
- 阻塞状态block
- 三种基本状态的转换
- 创建状态和终止状态
- 进程的三种基本状态
- 挂起操作和进程状态的转换
- 挂起操作的引入
- 终端用户的需要
- 父进程请求
- 负荷调节的需要
- 操作系统的需要
- 关键图
- 挂起操作的引入
- 进程管理中的数据结构
- 进程控制块PCB的作用
- 作为独立运行基本单位的标志
- 能实现间断性运行方式
- 提供进程管理所需要的信息
- 提供进程调度所需要的信息
- 实现与其他进程的同步与通信
- 进程控制块的信息
- 进程标识符
- 外部标识符PID
- 内部标识符(端口)
- 处理机状态
- 通用寄存器
- 指令计数器
- 程序状态字PSW
- 用户栈指针
- 进程调度信息
- 进程状态
- 进程优先级
- 进程调度所需的其他信息
- 事件
- 进程控制信息
- 程序和数据的地址
- 进程同步和通信机制
- 资源清单
- 链接指针
- 进程控制块的组织方式
- 线性方式
- 链接方式
- 索引方式
- 进程标识符
- 进程控制块PCB的作用
- 操作系统内核
- 系统态,管态,内核态
- 用户态,目态
- 两大功能
- 支撑功能
- 中断管理
- 时钟管理
- 原语操作
- 资源管理功能
- 进程管理
- 存储器管理
- 设备管理
- 支撑功能
- 进程的创建
- 进程的层次结构
- 父进程
- 子进程
- 引起创建进程的事件
- 用户登录
- 作业调度
- 提供服务
- 应用请求
- 进程的创建
- 1.申请空白PCB
- 2.为新进程分配其运行所需的资源
- 3.初始化进程块PCB
- 4.如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列
- 进程的终止
- 引起进程终止的事件
- 1.正常结束
- 2.异常结束
- 3.外界干预
- 进程的终止过程
- 1.根据被终止进程的标识符
- 引起进程终止的事件
- 进程的阻塞与唤醒
- 引起进程阻塞和唤醒的事件
- 向系统请求共享资源失败
- 等待某种操作的完成
- 新数据尚未到达
- 等待新任务到达
- 进程阻塞过程(自己阻塞自己)
- 进程唤醒过程(系统或其他进程唤醒自己)
- 引起进程阻塞和唤醒的事件
- 进程的挂起与激活
- suspend
- active
- 进程的层次结构
- 进程同步
- 基本概念
- 两种形式的制约关系
- 间接相互制约关系
- 直接相互制约关系
- 临界资源
- 分区
- 进入区enter section
- 临界区critical section
- 退出区exit section
- 剩余区
- 同步机制应遵循的规则
- 1.空闲让进
- 2.忙则等待
- 3.有限等待
- 4.让权等待
- 两种形式的制约关系
- 进程同步机制
- 软件同步机制:都没有解决让权等待,而且部分方法还会产生死锁的情况
- 硬件同步机制
- 关中断
- 利用Test-and-Set指令实现互斥
- 利用swap指令实现进程互斥
- 信号量机制
- 整型信号量
- 记录型信号量
- AND型信号量
- 信号量集
- 理解:AND型号量的wait和signal仅能对信号施以加1或减1操作,意味着每次只能对某类临界资源进行一个单位的申请或释放。当一次需要N个单位时,便要进行N次wait操作,这显然是低效的,甚至会增加死锁的概率。此外,在有些情况下,为确保系统的安全性,当所申请的资源数量低于某一下限值时,还必须进行管制,不予以分配。因此,当进程申请某类临界资源时,在每次分配前,都必须测试资源数量,判断是否大于可分配的下限值,决定是否予以分配
- 操作
- Swait(S1,t1,d1…Sn,tn,dn)
- Ssignal(S1,d1…Sn,dn)
- 特殊情况
- 经典进程的同步问题
- 哲学家进餐问题
- 基本概念
- 进程通信是指进程之间的信息交换,又称低级进程通信
- 进程通信的类型
- 共享存储器系统
- 基于共享数据结构的通信方式
- 基于共享存储区的通信方式
- 管道通信系统(pipe)
- 消息传递系统
- 共享存储器系统
- 消息传递通信的实现方式
- 直接消息传递系统
- 信箱通信
- 线程的引入
- 进程的两个基本属性
- 进程是一个可拥有资源的独立单元
- 进程同时又是一个可独立调度和分派的基本单位
- 程序并发执行所需付出的时空开销
- 创建进程
- 撤销进程
- 进程切换
- 线程――作为调度和分派的基本单位
- 进程的两个基本属性
- 线程与进程的比较
- 调度的基本单位
- 并发性
- 线程的实现
- 线程的实现方式
- 内核支持线程KST
- 用户级线程ULT
- 组合方式
- 线程的状态和线程控制块
- 线程运行的三个状态
- 执行状态
- 就绪状态
- 阻塞状态
- 线程控制块TCB
- 多线程OS中的进程属性
- 进程是一个可拥有资源的基本单位
- 多个线程可并发执行
- 进程已不是可执行的实体
- 线程运行的三个状态
- 线程的实现方式
- 处理机调度算法的共同目标
- 资源利用率:CPU的利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间)
- 公平性
- 平衡性
- 策略强制执行
- 批处理系统的目标
- 平均周转时间短
- 系统吞吐量高
- 处理机利用率高
- 分时系统的目标
- 响应时间快
- 均衡性
- 实时系统目标
- 截止时间的保证
- 可预测性
- 处理机调度的层次
- 高级调度
- 中级调度
- 低级调度
- 作业
- 作业控制块JCB
- 作业步
- 作业运行的三个状态
- 后备状态
- 运行状态
- 完成状态
- 作业运行的三个阶段
- 收容阶段
- 运行阶段
- 完成阶段
- 作业调度的主要任务
- 接纳多少个作业
- 接纳哪些作业
- 短作业优先(short job first,SJF)的调度算法
- 缺点
- 必须预知作业的运行时间
- 对长作业非常不利,长作业的周转时间会明显地增长
- 该调度算法完全未考虑作业的紧迫程度,故不能保证紧迫性作业能得到及时处理
- 缺点
- 高响应比优先调度算法(Highest Response Ratio Next,HRRN)
- 优先权=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间
- 如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而类似于SJF算法,有利于短作业
- 当要求服务的时间相同时,作业的优先权又决定于其等待时间,因而该算法又类似于FCFS算法
- 对于长时间的优先级,可以为随等待时间的增加而提高,当等待时间足够长时,也可获得处理机
- 进程调度的任务
- 保存处理机的现场信息
- 按某种算法选取进程
- 把处理器分配给进程
- 进程调度机制
- 排队器
- 分派器
- 上下文切换器
- 进程调度方式
- 非抢占方式
- 抢占方式
- 优先权原则
- 短进程优先原则
- 时间片原则
- 轮转调度算法
- 基本原理:在轮转(RR)法中,系统根据FCFS策略,将所有的就绪进程排成一个就绪队列,并可设置每隔一定时间间隔(如30ms)即产生一次中断,激活系统中的进程调度程序,完成一次调度,将CPU分配给队首进程,令其执行
- 进程切换时间
- 如一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首的进程运行,并启动一个新的时间片
- 在一个时间片用完时,计时器中断处理程序被激活
- 时间片大小的确定
- 太小利于短作业,增加系统切换开销
- 太长就退化为FCFS算法
- 合理就好
- 优先级调度算法
- 优先级调度算法的类型
- 非抢占式优先级调度算法
- 抢占式优先级调度算法
- 优先级的类型
- 静态优先级
- 动态优先级
- 优先级调度算法的类型
- 多队列调度算法
- 多级反馈队列调度算法
- 调度机制
- 设置多个就绪队列
- 每个队列都采用FCFS算法
- 按照队列优先级调度
- 调度算法的性能
- 对于终端型用户,由于作业小,感觉满意
- 对于短批处理作业用户,周转时间也较小
- 长批处理作业用户,也能够得到执行
- 调度机制
- 基于公平原则的调度算法
- 保证调度算法
- 公平分享调度算法
- 实现实时调度的基本条件
- 提供必要信息
- 就绪时间
- 开始截止时间和完成截止时间
- 处理时间
- 资源要求
- 优先级
- 系统处理能力强
- ∑(Ci/Pi)≤1
- N个处理机:∑(Ci/Pi)≤N
- 采用抢占式调度机制
- 具有快速切换机制
- 对中断的快速响应能力
- 快速的任务分派能力
- 提供必要信息
- 实时调度算法的分类
- 非抢占式调度算法
- 非抢占式轮转调度算法
- 非抢占式优先调度算法
- 抢占式调度算法
- 基于时钟中断的抢占式优先级调度算法
- 立即抢占的优先级调度算法
- 非抢占式调度算法
- 最早截止时间优先EDF(Earliest Deadline First)算法
- 非抢占式调度方式用于非周期实时任务
- 抢占式调度方式用于周期实时任务
- 最低松弛度优先LLF(Least Laxity First)算法
- 类似EDF
- 优先级倒置(Priority inversion problem)
- 优先级倒置的形成
- 优先级倒置的解决方法
- 简单的:假如进程P3在进入临界区后P3所占用的处理机就不允许被抢占
- 实用的:建立在动态优先级继承基础上的
- 资源问题
- 可重用性资源
- 消耗性资源
- 可抢占性资源
- 不可抢占性资源
- 计算机系统中的死锁
- 竞争不可抢占性资源引起死锁
- 竞争可消耗资源引起死锁
- 进程推进顺序不当引起死锁
- undefined
- 死锁的定义,必要条件和处理方法
- 定义:如果一组进程中的每一个进程都在等待仅由该进程中的其他进程才能引发的事件,那么该组进程是死锁的
- 产生死锁的必要条件
- 互斥条件
- 请求保存条件
- 不可抢占条件
- 循环等待条件
- 处理死锁的方法
- 预防死锁
- 避免死锁
- 检测死锁
- 解除死锁
- 破坏”请求和保存”条件
- 第一种协议
- 所有进程在开始运行之前,必须一次性地申请其在整个运行过程中所需的全部资源
- 优点:简单,易行,安全
- 缺点
- 资源被严重浪费,严重地恶化了资源的利用率
- 使进程经常会发生饥饿现象
- 第二种协议
- 它允许一个进程只获得运行初期所需的资源后,便开始运行。进程运行过程中再逐步释放已分配给自己的,且已用毕的全部资源,然后再请求新的所需资源
- 第一种协议
- 破坏”不可抢占”条件
- 当一个已经保存了某些不可被抢占资源的进程,提出新的资源请求而不能得到满足时,它必须释放已经保持的所有资源,待以后需要时再重新申请
- 破坏”循环等待”条件
- 对系统所以资源类型进行线性排序,并赋予不同的序号
- 系统安全状态
- 安全状态
- 安全状态之例
- 由安全状态向不安全状态的转换
- 利用银行家算法避免死锁
- 含义:每一个新进程在进入系统时,它必须申明在运行过程中,可能需要每种资源类型的最大单元数目,其数目不应超过系统所拥有的资源总量。当进程请求一组资源时,系统必须首先确定是否有足够的资源分配给该进程。若有,再进一步计算在将这些资源分配给进程后,是否会使系统处于不安全状态。如果不会,才将资源分配给它,否则让进程等待
- 银行家算法中的数据结构
- 银行家算法
- 安全性算法
- 银行家算法之例
- 解题
- 矩阵
- 列表
- 死锁的检测
- 资源分配图
- 死锁定理
- 若一系列简化以后不能使所有的进程节点都成为孤立节点
- 死锁检测中的数据结构
- 死锁的解除
- 抢占资源
- 终止(或撤销)进程
- 终止进程的方法
- 终止所有死锁进程
- 逐个终止进程
- 代价最小
- 进程的优先级的大小
- 进程已执行了多少时间,还需时间
- 进程在运行中已经使用资源的多少,还需多少资源
- 进程的性质是交互式还是批处理的
- 代价最小
- 付出代价最小的死锁解除算法
- 多层结构的存储系统
- 存储器的多层结构
- 可执行存储器
- 主存储器与寄存器
- 高速缓存和磁盘缓存
- 步骤
- 编译:由编译程序对用户源程序进行编译,形成若干个目标模块
- 链接:由链接程序将编译后形成的一组目标模板以及它们所需要的库函数链接在一起,形成一个完整的装入模块
- 装入:由装入程序将装入模块装入内存
- 程序的装入
- 绝对装入方式
- 可重定位装入方式
- 动态运行时的装入方式
- 动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转换为物理地址,而是把这种地址转换推迟到程序真正要执行时才进行
- 程序的链接
- 静态链接方式
- 装入时动态链接
- 运行时动态链接(dll)
- 单一连续分配(DOS)
- 固定分区分配(浪费很多空间)
- 动态分区分配
- 基于顺序搜索的动态分区分配算法
- 首次适应算法(first fit,FF)
- 顺序找,找到一个满足的就分配,但是可能存在浪费
- 循环首次适应算法(next fit,NF)
- 相对上面那种,不是顺序,类似哈希算法中左右交叉排序
- 最佳适应算法(best fit,BF)
- 找到最合适的,但是大区域的访问次数减少
- 最坏适应算法(worst fit,WF)
- 相对于最好而言,找最大的区域下手,导致最大的区域可能很少,也造成许多碎片
- 首次适应算法(first fit,FF)
- 基于索引搜索的动态分区分配算法
- 快速适应算法(quick fit)
- 伙伴系统(buddy system)
- 哈希算法
- 动态可重定位分区分配
- 紧凑
- 动态重定位
- 动态重定位算法
- 分页存储管理的基本方式
- 页面
- 物理课
- 地址结果
- 页号P+位移量W(0-31)
- 页表
- 在分页系统中,允许将进程的各个页离散地存储在内存在内存的任一物理块中,为保证进程仍然能够正确地运行,即能在内存中找到每一个页面所对应的物理块,系统又为每个进程建立了一张页面映像表,简称页表
- 地址变换机构
- 基本的地址变换机构
- 要访问两次内存
- 具有快表的地址变换机构
- 提高了效率,此处会有计算题
- 基本的地址变换机构
- 两级和多级页表
- 主要是有的时候页表太多了,要化简
- 格式:外层页号P1+外层页内地址P2+页内地址d
- 反置页表
- 引入
- 方便编程
- 信息共享
- 信息共享
- 动态增长
- 动态链接
- 分段系统的基本原理
- 分段
- 格式:段号+段内地址
- 段表
- 地址变换机构
- 分段
- 和分页的区别
- 页是信息的物理单位
- 页的大小固定且由系统固定
- 分页的用户程序地址空间是一维的
- 信息共享
- 这是分段最重要的优点
- 段页式存储管理方式
- 基本原理
- 格式:段号(S)+段内页号(P)+页内地址(W)
- 地址变换过程
- 需要三次访问过程
- 基本原理
- 一次性
- 驻留性
- 程序在执行时将呈现出局部性特征,即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域
- 时间局限性
- 空间局限性
- 指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
- 多次性
- 对换性
- 虚拟性
- 请求分页存储管理方式
- 硬件
- 请求页表机制
- 格式:页号+物理块号+状态位P+访问字段A+修改位M+外存地址
- 缺页中断机构
- 地址变换机构(过程图很关键)
- 请求页表机制
- 请求分页中的内存分配
- 最小物理块数
- 即能保证进程正常运行所需的最小物理块数
- 内存分配策略
- 固定分配局部置换(国王的大儿子)
- 可变分配全局置换(国王的二儿子)
- 可变分配局部置换(国王的小儿子)
- 最小物理块数
- 物理块分配算法
- 平均分配算法
- 按比例分配算法
- 考虑优先权的分配算法
- 页面调入策略
- 系统应在何时调入所需页面
- 预调页策略(不能实现)
- 请求调页策略(需要才给)
- 系统应该从何处调入这些页面
- 对换区
- 文件区
- 页面调入过程
- 缺页率(出计算题)
- 系统应在何时调入所需页面
- 硬件
- 请求分段系统
- 硬件
- 请求分段的段表机构
- 缺段中断机构
- 地址变换机构
- 硬件
- 抖动的概念
- 即刚被换出的页很快又要被访问,需要将它重新调入,此时又需要再选一页调出
- 最佳置换算法(需要预知后面进程,所以不能实现)
- 先进先出页面置换算法(FIFO)
- 最近最久未使用置换算法(LRU)Recently
- 寄存器支持
- 特殊的栈结构
- 最少使用置换算法(LFU)Frequently
- clock置换算法(对访问位A的判断)
- 改进型――增加对修改位M思维判断
- 页面缓冲算法(PBA,page buffering algorithm)
- 空闲页面链表
- 修改页面链表
- 子主题 3
- I/O系统的基本功能
- 隐藏物理设备的细节
- 与设备的无关性
- 提高处理机和I/O设备的利用率
- 对I/O设备进行控制
- 确保对设备的正确共享
- 错误处理
- I/O软件的层次结构
- 用户层I/O软件
- 设备独立性软件
- 设备驱动程序(厂家开发)
- 中断处理程序
- 硬件
- I/O系统的分层
- 中断处理程序
- 设备驱动程序
- 设备独立性软件
- I/O系统接口
- 块设备接口
- 流设备接口
- 网络通信接口
- 分类
- 使用特性分
- 存储设备
- I/O设备
- 传输速率分
- 低速设备(几字节――几百字节)
- 中速设备(数千――数万字节)
- 高速设备(数十万――千兆字节)
- 使用特性分
- 设备控制器
- 主要功能:控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换
- 基本功能
- 接收和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲区
- 差错控制
- 子主题 7
- 设备控制器的组成
- 设备控制器与处理机(CPU)的接口
- 设备控制器与设备的接口
- I/O逻辑
- 内存映像I/O
- 驱动程序将抽象I/O命令转换出的一系列具体的命令,参数等数据装入设备控制器的相应寄存器,由控制器来执行这些命令,具体实施对I/O设备的操作
- I/O通道
- 目的:为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对于I/O操作的组织,管理及其结束处理尽量独立,以保证CPU有更多的时间进行数据处理
- 通道类型
- 字节多路通道
- 数组选择通道
- 数组多路通道
- 瓶颈问题
- 原因;通道不足
- 解决办法:增加设备到主机间的通路,而不增加通道(结果类似RS触发器)
- 中断
- 分类
- 中断(外部触发)
- 陷入(内部原因:除0)
- 中断向量表(类比51单片机)
- 中断优先级
- 对多中断源的处理方式
- 屏蔽中断
- 嵌套中断
- 分类
- 中断处理程序
- 测定是否有未响应的中断信号
- 保护被中断进程的CPU环境
- 转入相应的设备处理程序
- 中断处理
- 恢复CPU 的现场并退出中断
- 描述:他是I/O系统的高层与设备控制器之间的通信程序,其主要任务是接收上层软件发来抽象的I/O请求。如read和write,再把它转换为具体要求后,发给设备控制器,启动设备去执行
- 对I/O设备的控制方式
- 使用轮询的可编程I/O方式
- 使用中断的可编程I/O方式
- 直接存储器访问方式
- DMA控制器组成
- 主机与DMA控制器的接口
- DMA控制器与块设备的接口
- I/O控制逻辑
- 基本概念
- 以物理设备名使用设备
- 引入了逻辑设备名
- 逻辑设备名称到物理设备名称的转换
- 与设备无关的软件
- 设备驱动程序的统一接口
- 缓存管理
- 差错控制
- 对独立设备的分配与回收
- 独立于设备的逻辑数据块
- 设备分配中的数据结构
- 设备控制表DCT
- 控制器控制表COCT
- 通道控制表CHCT
- 系统设备表SDT
- 逻辑设备表LUT
- 分配的流程,从资源多的到资源紧张的:LUT->SDT->DCT->COCT->CHCT
- 系统调用与库函数
- OS向用户提供的所有功能,用户进程都必须通过系统调用来获取
- 在C语言以及UNIX系统中,系统调用(如read)与各系统调用所使用的库函数(如read)之间几乎是一一对应的。而微软的叫Win32API
- 假脱机系统(spooling)
- spooling技术是对脱机输入/输出系统的模拟
- 主要组成
- 输入/输出井
- 输入/输出缓冲区
- 输入/输出进程
- 井管理程序
- 特点(体现操作系统的虚拟性)
- 提高了I/O的速度
- 将独占设备改造为共享设备
- 实现了虚拟设备功能
- 缓冲的引入(原因)
- 缓和CPU与I/O设备间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对CPU中断响应时间的限制
- 解决数据粒度不匹配的问题
- 提高CPU和I/O设备之间的并行性
- 单缓冲区
- 即在CPU计算的时候,将数据数据输入到缓冲区(大小取决与T和C的大小)
- 双缓冲区
- 即允许CPU连续工作(T不断)
- 环形缓冲区(专为生产者和消费者打造)
- 组成
- 多个缓冲区
- 多个指针
- 使用
- Getbuf过程
- Releasebuf过程
- 同步问题
- 组成
- 缓冲池(理解为更大的缓冲区)
- 组成
- 空白缓冲队列(emq)
- 输入队列(inq)
- 输出队列(outq)
- Getbuf和Putbuf过程
- 缓冲区工作方式(从缓冲区的角度来看)
- 收容输入
- 提取输入
- 收容输出
- 提取输出
- 组成
- 数据的组织和格式
- 磁盘的类型
- 固定头磁盘(贵)
- 移动头磁盘
- 磁盘访问的时间(关键)
- 寻道时间Ts=m*n+s
- 旋转延迟时间Tr
- 传输时间Tt=b/rN
- 总时间Ta=Ts+1/2r+b/rN
- 磁盘的调度算法(掌握图表)
- 先来先服务(FCFS)
- 优点:公平,简单
- 缺点:可能导致某些进程的请求长期得不到满足
- 最短寻道时间优先(SSTF)
- 说明:要求访问的磁道和当前磁头所在的磁道距离最近,以使每次的寻道时间最短
- 扫描算法(SCAN)
- 扫描算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁道当前的移动方向
- 联想电梯的运行
- 可防止低优先级进程出现“饥饿”的现象
- 循环扫描算法(CSCAN)
- 算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描
- NStepScan算法
- N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次这些子队列。
- FSCAN算法
- 是Nstepscan算法的简化,将磁盘请求队列分成两个子队列
- 先来先服务(FCFS)
- 基本数据项
- 组合数据项
- 记录是一组相关数据项的集合,用于描述一个对象在某个方面的属性
- 文件类型
- 文件长度
- 文件的物理位置
- 文件的建立时间
- 创建文件
- 删除文件
- 读文件
- 写文件
- 设置文件读写的位置
- 顺序文件
- 记录寻址
- 索引文件
- 索引顺序文件
- 直接文件和哈希文件
- 文件控制块(FCB)
- 文件名+inode(属性)
- 简单的文件目录
- 单级文件目录
- 查找慢
- 不允许重名
- 不便于实现文件共享
- 两级文件目录
- 提高检索速度,从M*N到M+N
- 单级文件目录
- 树形结构目录
- 路径名
- “..”是父目录
- “/”是根目录
- 区别绝对路径和相对路径(../…/…/1/2/3/)
- 路径名
- 有向无循环图(DAG)
- 利用符号链接实现文件共享
- 实际上就是“快捷方式”
XMind: ZEN - Trial Version
文章来源: 操作系统思维导图