操作系统基本原理
操作系统:
管理系统的硬件、软件、数据资源
控制程序运行
人机之间的接口
应用软件与硬件之间的接口
进程管理
进程管理:进程状态、前趋图、PV操作、死锁问题
存储管理:段页式存储、页面置换算法
文件管理:索引文件、位示图
微内核操作系统:虚设备与SPOOLING技术
前驱图:
进程状态:
就绪(调度)-> 运行(等待某个事件)-> 等待(等待事件发生)-> 就绪
运行(时间片到)-> 就绪
PV操作
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
临界区:每个进程中访问临界资源的那段代码称为临界资源
信号量:是一种特殊的变量,若 S>=0 表示某资源的可用数;若 S<0 则其绝对值表示阻塞队列中等待
该资源的进程数
P操作: S =S-1 --> S < 0 -->
进程队列:
V操作: S = S+1 --> S <= 0 -->
PV 操作(低级通讯方式):P 操作申请一个资源,V 操作释放一个资源
PV操作练习1:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答:A、C
PV操作练习2:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答: 标记:每一个P标签都有一个V(S),对应一个P(S) 则:P1->V(S1)-->P(S1) P2->V(S2)-->P(S2) P3->V(S3)-->P(S3) P4->V(S4)-->P(S4)
前驱图和PV操作:
死锁:
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题;如果一个进程在等待一件不可能发生的事,则进程就死锁了,而如果一个或多个进程产生死锁,就会造成系统死锁
产生死锁的四个必要条件:互斥条件,请求保持条件,不可剥夺条件,环路条件
死锁的处理:预防;避免(银行家算法:先计算,如果分配资源后系统进入不安全状态则不予分配);检测(系统定时运行死锁检测程序);解除(资源剥夺法+撤销进程法)
死锁练习1:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答: 13个, 先给每个进程分配所需资源-1 ,总数加起来再+1 k:进程数 n:每一个进程所需资源 k * (n - 1) +1
页式存储组织
页式存储练习1:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答:D、B
段式存储组织:
段页式存储:
页面淘汰算法练习1:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答: B、C 一个块执行2次内存,一共6个块,则:6*2=12 swap AB--->① A---> ② ——>③ B--->④ ——>⑤
索引文件结构
索引文件结构练习1:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
答:C、D
微内核操作系统