155.OS补充(三)---OS系统调用(特权/非特权指令)/引导+进程状态/切换_(CPU调度算法/死锁)+I/O管理_磁盘(调度算法)
如题目一样 掺的东西很多 实际上是OS的一个冷综合题考察 知识点不会详细介绍 之前的文章以及有详细介绍 所以更多的是综合题的考察整理 之前的引用
1.OS系统调用 OS引导
系统调用过程
特权指令和非特权指令
内核态可执行除访管指令外的所有特权/非特权指令
OS引导
来直接看题吧
(2021)

(1)本质还是考察对OS引导的过程

(2)操作过虚拟机对于初始化的时候可能深有体会 以CentOS为例 先是格式化 肯定物理意义上的 然后分区 然后逻辑划分格式化后 启动OS

(3)磁盘扇区是物理意义上的东西 在物理格式化中完成
2.进程_状态/切换 CPU调度算法 死锁
关于进程状态和切换 之前综合题中会有简单涉及 所以这里复习一下

进程的创建 创建态->就绪态
进程的终止 运行态->终止态
进程的阻塞 运行态->阻塞态
进程的唤醒 阻塞态->就绪态
就大致是之前的总结 重点看CPU调度算法 这个出现过综合题目
- FCFS先来先服务调度
- SJF短作业优先调度
- 高响应比优先调度
- 优先级调度
- RR时间片轮转调度
- 多级队列调度
- 多级反馈队列调度
- 基于公平原则的调度
简单的一笔带过 重点看那些复杂容易考察的
FCFS先来先服务调度 比如 ABCD四个进程分别预计CPU运行时间 10 6 5 8
不说到达就绪队列时间 A运行10 那么B得等A运行完后再运行 所以B总的时间就是等待时间10+6运行时间 后面依次类推 这个轴很重要 实际中用到更多的是广义甘特图 不过这个简单好画 上面的坐标就是第几时
这个最好理解 没有什么抢占啊什么的 所以不难考察
SJF短作业优先调度 字面意思就是让运行时间最短的先运行
比如 ABCD四个进程分别预计CPU运行时间 10 6 5 8
也很好理解 难点依旧在于抢占即优先级的加入
高响应比优先调度
不常考 就一个公式 选出响应比最高的先运行
优先级调度 这个就涉及到抢占的问题了 搭配短作业优先或是RR时间片算法综合考察
比如这道题 抢占式短进程(作业)优先综合到一块 问其平均周转时间
还有比如 抢占式的优先级
RR时间片轮转调度
顾名思义按时间片为单位完成
先暂参考这个 后续综合题详细介绍
关于剩下那三不涉及考察 不做整理 看综合题目
(2026)

先对其分析画图 这个掺杂优先级 抢占式 时间片轮转 还有一些规定 比较复杂


分析每个过程
10-20 这个时候有P1和P2同时到达 P2优先级高抢占(10 首次调度) 中断
20-70 优先级更高的P4进入(20 首次调度) 花耗一个时间片 优先级-1变成4
70-80 P2运行完成 P4再运行
80-90 P4完成 调度P1运行(90 首次调度) 中断
90-140 P1优先级-1 一个时间片用完 P3首次调度 140
140-180 P3完成
180-225 P1完成
(2)时间片变大 那么让出CPU的次数减少 减低进程切换频率 CPU调度次数减少
中断间隔变小 导致中断频繁 增加系统开销
对于死锁并未考察到 但有可能涉及
多个进程因竞争资源而造成的一种僵局(互相等待对方资源)都被阻塞

之前PV同步互斥有涉及 可能考察的是死锁避免的全性算法和银行家算法
类似的如


更多参考之前的总结:https://www.cnblogs.com/gaodiyuanjin/p/19353186
3.I/O输入输出管理 磁盘调度算法
关于I/O的考察主要就是给你一个实际具体的操作然后分析过程
具体整理什么直接拿题来看
(2023)

分析scanf键盘输入的过程

(1)2 6 4 3 1 5
(2)进程切换 那就是进入阻塞 然后换其他进程了 2 CPU给它再运行那就是它处于等待态就绪队列1
(3)考察驱动程序知识 3
(4)中断 进入阻塞态 内核态 这个之前有涉及
综合来看考察的内容就是过程还有设备驱动程序 中断处理程序
中断处理程序很好理解 主要是设备驱动程序 其实就是你和硬件交互的接口

英伟达的驱动程序面板就能操作硬件的一些设置
一句话:设备驱动程序负责实现系统对设备发出的操作指令
关于磁盘有关的计算之前总结过 这里主要涉及到调度算法





之前的关于总结足够详细ok了 直接拿题看
(2019)

(1)30010200512B
(2)涉及到SSTF算法 就是优先选择距离目前最近的磁道
之前的都是比较磁道号 所以需要将这些簇号转换成磁道号 涉及到几个公式

公式中有一错误 扇区号应该是扇区地址%每个磁道扇区数 相当于(簇号%每个柱面簇数)每个簇含扇区数%每个磁道扇区数 也可以通过磁头号求出余数即偏移值 然后每个簇含扇区数
每个磁道簇数=200/2=100 每个柱面簇数=10010=1000
算这些簇号对应的柱面号 然后用SSTF算法排序
100260/1000=100
60005/1000=60
101660/1000=101
110560/1000=110

(3)物理地址由柱面号 磁头号 扇区号组成 分别求出来
柱面号:100530/1000=100
磁头号:100530%1000/100=5
扇区号:530*2%200=60
地址转换由磁盘驱动程序完成
更多知识对比参考:https://www.cnblogs.com/gaodiyuanjin/p/19533134
https://www.cnblogs.com/gaodiyuanjin/p/22835304
大致OS的综合类型题整理到这 当然这些补充总结并不能百分百吸收每一种类型题的解法 但百分之六七十绝对有收获 后续再总结计网综合题

















浙公网安备 33010602011771号