软考——架构师 chap2 计算机基础 存储管理

操作系统的概述

操作系统的定义:能够有效地组织和管理系统中的软硬件资源,合理的组织计算机系统工作流程,控制程序执行,并且向用户提供一个良好的接口。

操作系统的三个作用

  1. 管理计算机中运行的程序和分配的各种软硬件资源
  2. 交互界面
  3. 提供高效率平台
  • 四个特征
  • 并发性
  • 共享性
  • 虚拟性
  • 不确定性(异步性)

操作系统的功能

  • 进程管理
  • 文件管理
  • 存储管理
  • 设备管理
  • 作业管理

操作系统的分类

  • 批处理操作系统: 单道批处理和多道批处理
  • 分时操作系统:一个计算机系统与多个终端设备连接,将cpu的工作时间划分为多个短的时间片,轮流为终端用户服务
  • 实时操作系统:指的是计算机对于外来信息能够以足够块的速度进行处理,并且在被控对象允许的范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性保障
  • 网络操作系统: 联网的计算机能够方便且有效的共享网络资源。三种: 集中模式(中心化),c/s p2p
  • 分布式: 多个计算机组成的系统,没有主次
  • 微型计算机操作系统: win linux 都属于这一种。

嵌入式操作系统

  1. 微型化
  2. 可定制
  3. 实时性
  4. 可靠性
  5. 易于移植

嵌入式系统初始化过程按照自底向上,从硬件到软件的次序依次为:片级初始化-> 板级初始化->系统初始化

进程管理

进程的组成: 进程控制块pcb(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需的数据)

进程的状态 主要考三态图

  1. 运行态:正在运行
  2. 阻塞态:缺少运行其他必要数据
  3. 就绪态:缺少计算资源(cpu)

前驱图

用来表示哪些任务可以并行执行,那些任务之间由顺序关系,确定了任务间的并行关系,任务间的先后顺序。

进程资源图

用来表示进程和资源之间的分配和请求关系

  • p代表进程, R代表资源
  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续
  • 非阻塞节点: 某进程锁清秋的资源还有剩余
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

进程的同步和互斥

  • 临界资源: 各进程间需要以互斥方式对其进行访问的资源
  • 临界区: 进程中对临界资源实施操作的程序
  • 互斥: 某资源在同一时间只能由一个任务单独使用,使用时需要加锁
  • 同步:多个任务可以并发执行,
  • 互斥信号量: 对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初始值为1
  • 同步信号量:对共享资源访问控制,初值一般时共享资源的数量。

进程同步与互斥

  • p操作: 申请资源 s = s-1 (p(s)) 若s>= 0 则执行p操作的进程继续执行; 若s<0 , 则置该进程为阻塞状态,并将其插入阻塞队列
  • v操作: 释放资源, s= s+1 若s>0 则执行v操作的进程继续执行; 若s<= 0 则从阻塞状态唤醒一个进程,并将其插入就绪队列, 然后v操作可以继续执行。

经典问题: 生产者和消费者问题

进程调度

  1. 先来先服务
  2. 时间片轮转
  3. 优先级调度
  4. 多级反馈调度

死锁

当一个进程在等待永远不可能发生的时间时, 就会产生死锁。

必要条件:

  1. 资源互斥
  2. 每个进程占有资源并等待其他资源
  3. 系统不能剥夺进程资源
  4. 进程资源图是一个环路

死锁产生后,解决措施时打破四大条件

  1. 死锁预防:
  2. 死锁避免:一般采用银行家算法来避免,银行家算法就是计算出一条不会死锁的资源分配方法,才分配资源,否则不分配。
  3. 死锁检测:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到发生死锁,则解除
  4. 死锁解除:强制剥夺资源或者撤销进程等
  5. 死锁资源计算:

需要了解一下银行家算法
银行家算法的考法,1. 计算剩余资源, 2.判断进程执行序列。

线程

传统的进程有两个属性: 可拥有资源的独立单位; 可独立调度和分配的基本单位。

  • 原因: 进程开销大,线程开销小

线程时进程中的一个实体, 是被系统独立分配和调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源,它可以同属于一个进程的其他线程共享进程所拥有的全部资源。

(tcb:线程控制块)

分区存储管理

所谓分区存储就是整村,将某进程运行所需要的内存整体一起分配给他

  • 固定分区: 静态分区方法,将主存分为若干个固定的分区,将要运行的作业装配进去。
  • 可变分区: 动态分区
  • 可重定位分区
    应该可以简单抽象为静态变量,malloc realloc

分区算法:

  1. 首次适应:每次都从头找
  2. 最佳适应:内存块从大到小排序,找到合适的,分割一块
  3. 最差适应
  4. 循环首次适配

分页存储管理

逻辑页分为页号和页内地址,页内地址就是物理的偏移地址,而页号与物理块号并非按照顺序对应,需要查询页表,才能得知页号对应的物理快好,再利用物理块号加上便宜地址才能得出真正运行时的物理地址
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象。

页面置换算法

  • 最优算法:理论算法,选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的
  • 先进先出:会产生抖动现象
  • 最近最少使用: 不会产生抖动现象
  • 淘汰原则:优先淘汰最近未访问的

块表

  • 一块最小容量的相连的存储器,由快速存储器组成,按内容访问,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号
  • 块表存在cache中

分段存储管理

  • 将进程空间分为一个个段,每段有段号和段内地址,与分页式存储不同的是,每段物理带下不同,分段是根据逻辑整体分段的,因此段表与页表的内容不同,页表中直接是逻辑页号对应物理块号,段表有段长和基址两个属性,才能去欸的那个一个逻辑段在物理段中的位置。

段页存储

对进程空间先分段在分页,
优点:空间浪费小,存储共享容易,存储保护容易,能动态链接
缺点:复杂,性能低。

设备管理

设备是计算机系统与外界交互的工具,具体负责计算机与外部的输出输出工作

分类

  • 按数据组织分类:块设备,字符设备
  • 功能: 输入 输出 存储 网络 供电
  • 资源分配角度: 独占 共享 虚拟
  • 数据传输速率: 低速设备 中速 高速

设备管理的任务: 保证多到程序环境下,多个进程使用时,分配管理设备

IO

层次 功能
用户进程 进行IO调用、格式化io、spooling
设备无关软件 命名、保护、阻塞、缓冲、分配
设备驱动 设置设备寄存器;检查状态
中断处理程序 当IO结束时唤醒驱动程序
硬件 执行IO操作

一般的硬件与系统处理的交互逻辑 硬件-> 中断-> 驱动-> 缓存-> 用户

设备管理技术

spooling技术(外围设备联机操作技术) 就是在外设上建立两个数据缓冲区,分别称为输入井和输出井,这样无论多少进程都可以用这一台打印机都可以使用
说白了就是建立任务队列

文件管理

文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合

信息项: 构成文件内容的基本单位,可以是一个字符,也可以是一个记录

文件管理系统: 操作系统中实现统一管理的一组软件和相关数据的集合,专本负责管理和存取文件信息的软件机构

文件的结构

  • 逻辑结构

    • 有结构的记录式文件
    • 无结构的流式文件
  • 物理结构

    • 连续结构:连续存储
    • 链接结构:不是软连接之类的,是链表的形式存储
    • 索引结构:将多级上的连续文件信息
    • 多个物理块的索引表: 由文件创建时由系统创建

索引文件结构

索引中有直接索引 直接指向物理盘块
间接地址索引: 多级, 一级间接地址索引可以指向1024个直接索引
二级间接地址索引可以指向一级间接地址索引

文件目录

文件控制块中包含三六信息:

  • 基本信息类、存取控制信息类、存取控制信息、使用信息类
  • 文件控制块的有序结合称为文件目录
  • 相对路径
  • 绝对路径
  • 全文件名 = 绝对路径+文件名

文件存储空间管理

文件存储方法指的是 读写文件存储器上的一个物理块的方法,有顺序 随机存储

管理方法

  1. 空闲区表
  2. 位示图, 外存上建立一张位示图,记录文件存储器的使用情况,每一位对应文件存储器上的一个物理块,取0/1 标识空闲/占用
  3. 空闲块链
  4. 成组链接法

你可能感兴趣的:(存储文件管理)