第十章 操作系统(上午题)

一、操作系统地位

  1. 计算机系统由软件、硬件组成,没有配置软件的称为裸机
  2. 操作系统地位:计算机硬件 》操作系统 》 系统软件 》 应用软件》 用户
  3. 所有其他软件,如编译程序、汇编程序、数据库管理系统等,以及大量应用软件都是建立在操作系统之上的
  4. 把操作系统看做用户与计算机之间的接口

二、进程管理

  1. 进程是源分配和独立运行的基本单位
  2. 进程管理重点是要研究诸进程之间的并发特性,以及进程间相互合作与资源竞争产生的问题

三、前趋图

  1. 有向无循环图,由节点和单向边组成,节点代表各个程序段的操作,单向边表示前前趋关系 Pi( 节点、前趋 ) -——> Pj( 节点、后继 ) ,Pi 执行结束 Pj 才能执行
  2. 前趋图,有 n 个箭头就要设置 n 个信号量,按照从小到大顺序写到图中,箭头方向是 P 操作,箭头尾部是 V 操作
  3. 程序顺序执行的主要特征:顺序性、封闭性(独享资源)、可再现性
  4. 程序并发执行的主要特征:失去程序封闭性、程序和机器执行程序的活动不再一一对应、并发程序之间的相互制约性

四、进程的三态模型

  1. 在多道程序系统中,进程在处理器上交替运行,一般由三种状态 运行就绪、阻塞
  2. 运行:当一个进程在处理机( CPU )上运行时,就是运行态
  3. 就绪:一个进程获得了除了处理机( CPU )外的所有资源 , 一旦得到处理机即可运行,这个时候就是就绪态
  4. 阻塞:等待、睡眠,一个进程正在等待某个事件(例如等待 I/O 完成)发生而停止运行

五、同步与互斥

  1. 同步是合作资源进程之间直接制约的问题
  2. 互斥是申请临界资源进程间的间接制约问题

六、临界区管理原则

  1. 有空即进,临界区无进程,则允许进入,且只能在临界区运行有限时间
  2. 无空则等,临界区有进程,其他进程则要等待
  3. 有限等待,在外等待的进程,要保证在有限时间可进入
  4. 让权等待,进程有 CPU 没有资源时,不能进入自己的临界区,要立即释放 CPU 资源,避免忙等

七、信号量机制

信号量 S 的物理意义, S>=0 表示资源的可用数, S<0 表示等待该资源的进程数

八、 PV 操作是实现同步和互斥的常用方法

  1. P 表示申请一个资源( S = S-1,可以理解为从信号量 S 中申请出一个来使用,申请后 S<0 则进程转为阻塞态,插入阻塞队列),
  2. V 表示释放一个资源( S = S+1,可以理解为 释放一个资源到信号量,释放后, S<=0 则从阻塞队列唤起一个进程,插入就绪队列)

九、PV 操作实现进程互斥

令信号量 mutex 初值为 1 ,当进入临界区时 执行 P 操作,退出临界区时执行 V 操作,这两就利用 PV 实现代码互斥


十、 PV 操作实现进程的同步

  1. 单缓冲区同步 ( 缓冲区只能放一个产品 ) :分为生产者和消费者,需要设置两个信号量 , S1 初值为 1 表示可放入缓冲区的产品数, S2初值为 0 ,表示可从缓冲区取出的产品数;每次生产产品 要进行P(S1) 和 V(S2), 每次消费产品要进行 P(S2) V(S1)
  2. 多缓冲区同步 ( 缓冲区可以放多个产品 ) :在 单缓冲区的基础上增加一个信号量 S, 名为互斥信号量,初始值为 1 ,标记缓冲区可操作的量(缓冲区是个互斥资源);每次生产产品及消费产品是都要增加一个 P(S1) P(S) V(S) V(S2) 操作 , S 的 PV 操作放中间

十一、死锁

  1. 同类资源分配不当引起的死锁:若采用的资源分配策略是,轮流的为每个进程分配,则可能会导致分配几轮后,没有一个进程达到所需的资源数,这个时候,每个进程都在等待资源分配,形成死锁;
  2. 同类资源分配不当引起的死锁的解法: m 为资源总量、 n 为进程数、 k 为每个进程需要的资源,满足 m >= n * (k-1) + 1 就可以避免死锁

十二、进程资源图

  1. Pi 代表进程, Ri 代表资源类型;每个 Ri 可以有多个资源; 指向进程的箭头表示分配资源;指向资源的箭头表示申请资源;
  2. 先分配资源再申请资源,经过分配申请后没有满足资源的进程即为“阻塞”
  3. 是否可化简:取决于是否可以在某个进程完成后释放资源,并使得后续进程得以完成
  4. 可化简的就是非死锁的

十三、死锁避免

  1. 死锁处理策略:鸵鸟策略(不理睬)、预防策略、避免策略、检测与解除死锁
  2. 死锁避免算法:银行家算法,即在每次分配资源前检测分配资源后系统是否安全(是否安全取决与分配资源后,系统是否可以有某种进行序列,来将所有的进程都执行完),资源利用率高,但增加了检测的开销
  3. 银行家算法题计算: 1. 先算出仍需资源数, 2. 在算出,剩余资源数

十四、线程

  1. 进程在创建、撤销、切换中,系统会付出较大的时空开销,故系统引入的进程不易过多,进程切换频率不易太高,因此引入了线程
  2. 线程作为调度和分配的基本单位,进程作为独立分配资源的单位,线程是进程中的一个实体
  3. 线程与线程之间不可见,但是线程与线程可以共享进程的资源


十五、局部性原理

  1. 时间局限性:程序的某一条指令执行,那在不久的将来该指令可能被再次执行,如果某个存储单元被访问,那不久的将来还可能被再次访问
  2. 空间局限性:程序访问了某个存储单元,不久的将来其附近的存储单元也可能被访问

十六、相关题型“淘汰”问题

  1. 在内存中才能被淘汰
  2. 先淘汰未访问过的
  3. 再淘汰未修改过的

十七、分页存储管理

  1. 纯分页存储管理的地址结构: n 位的页号 + m 位的页内地址
  2. 计算机的页面大小为 4k => 则代表 n 位页内地址 2^n = 4 * 1024=> n=12
  3. 页面变换表逻辑地址转物理地址 => 逻辑地址即为纯分页存储管理的地址结构,由 n 位的页号 + m 位的页内地址组成 => 页内地址组成不变,将页号替换成“页面变换表”中对应的物理块号即可

十八、段页式存储管理

段页式存储管理地址结构: n 位段号 + k 位段内页号 + m 位的页内地址

十九、单缓冲区

  1. 缓冲区只能有一个“作业”,缓冲区为空时可以输入,缓冲区有作业时可以传送
  2. I/O 设备 —输入 (T)—> 缓冲区 —传送 (M)—> 工作区 ( 处理 C)
  3. 计算 n 个作业单缓冲区所花时间: (T+M)*n + C

二十、双缓冲区

  1. 缓冲区有两个,每个可存一个”作业“
  2. 计算 n 个作业双缓冲区所花时间: T*n + M + C

二十一、磁盘调度算法

  1. 先来先服务( FCFS ) : 按请求访问者的先后顺序来启动磁盘驱动器,平均寻道长度大
  2. 最短寻道时间优先( SSTF ) : 让距离当前磁道位置最短的先执行,不考虑访问者的先后顺序
  3. 扫描算法或者电梯调度算法( SCAN ) : 从磁头当前位置开始,沿着磁头移动方向,选择最近的柱面,如果磁头移动方向无请求柱面,则调转方向,选择最近的
  4. 循环扫描算法(CSCAN) : 在扫描算法的基础上,调转方向后不再选择最近的柱面,而是移动到最里端

二十二、旋转调度算法

  1. 磁盘旋转不会停下,磁盘旋转完一个扇区,就代表读取了一个扇区的记录,记录读取后的处理时间内,磁盘不会停下
  2. 如果是顺序处理 n ,总时间 = ( 读时间 + 扇区一圈时间 )*(n-1)+ 第一个扇区的读时间 + 第一个扇区的处理时间
  3. 优化处理:重排扇区,让第一个扇区处理后所停在的位置,在第二个记录所在扇区的起始位置,所耗时 = ( 读时间 + 处理时间 )*n

二十三、多级索引结构

  1. 直接地址索引:索引从 0 开始,一个地址项指向一个磁盘数据块
  2. 一级间接地址索引:一个地址项指向一个磁盘索引块(也可以叫一级索引块),一个磁盘索引块又包含很多个地址项,磁盘索引块中的地址项指向一个磁盘数据块
  3. 二级间接地址索引:比一级间接地址索引,多了一级磁盘索引块

二十四、文件目录

  1. 为了实现按名存取,系统为每个文件设置用于描述和控制的数据结构,至少包含文件名和存放文件的物理地址,这个结构称为文件数据块FCB
  2. 文件目录是由文件控制块组成的,用来文件检索
  3. 文件控制块包含三类信息
  1. 基本信息:文件名、文件物理地址、文件长度、文件块数等
  2. 存取控制信息:文件存取权限
  3. 使用信息:建立日期、最后修改日期、当前使用信息
  4. 目录文件的修改时发生崩溃对系统的影响很大

二十五、目录结构

  1. 多级目录结构:倒置的有根树,也称为树形目录结构
  2. 全路径名:从根目录开始,一直到文件名 D:\
  3. 绝对路径:从根目录开始,最后是 /
  4. 相对路径:从当前目录开始,最后是 /

二十六、位视图

  1. 位视图用二进制来表示一个物理块的使用情况, 0 表示空闲 1 表示使用
  2. 位视图的大小由磁盘空间大小(物理块数)决定,位视图描述能力强,适合各种物理结构
  3. 假设计算机系统 n 位,那位视图第 0 个字能对应存储器上的第 0~n-1号物理块,第 1 个字能对应存储器上的第 n~2n-1 号物理块后边以此类推

二十七、其他

  1. 可变式分区分配方案:进程 P 有上邻空闲区 或 有下邻空闲区,那么 P 进程释放后,空闲区合并成一个
  2. 当用户通过鼠标或键盘进入某应用系统时,中断处理程序最先获得键盘或鼠标的输入信息
  3. 实时操作系统的实时是指,计算机对于外来信息能够以足够快的速度处理,并在被控制对象允许的时间范围内做出快速响应
  4. I/O 系统的层次结构:硬件 - 》中断处理程序 - 》设备驱动程序- 》设备无关程序 - 》用户进程
  5. I/O 软件隐藏了 I/O 操作的实现细节,方便用户使用
  6. 磁盘调度管理中,先进行移臂调度在进行旋转,访问不同柱面信息时要先移臂调度,访问同一磁道只需要进行旋转

你可能感兴趣的:(软件设计师(全网最全),linux,网络,数据库,软考,软件设计师)