功能:
1.管理系统的硬件,软件,数据资源
2.控制程序运行
3.人机之间的接口
4.应用软件与硬件之间的接口
管理职能:
1.进程管理(进程的状态,前趋图,PV操作,死锁问题)
2.存储管理(段页式存储)
3.文件管理(索引文件,位示图)
4.作业管理
5.设备管理(虚设备与Spooling技术)
就绪状态:除了CPU,其他资源都已准备好
等待状态:除了CPU,还缺其他的资源
表示一系列活动的先后约束关系
同一资源被多个进程使用的关系。
互斥:如千军万马过独木桥
例如:单缓冲区和多缓冲区的情况
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。
如果一个进程在等待一件不可能发生的事,但进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
例:系统有三个进程:A,B,C。这3个进程都需要5个系统资源。则系统至少有多少个资源,则不可能发生死锁。
死锁的预防和避免。
死锁的预防:打破四大条件
银行家算法:分配资源的原则
1.当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
2.进程可以分期请求资源,但请求的总数不能超过最大需求量。
3.当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
引:某计算机系统的内存大小为128k,采用可变分区分配方式进行内存分配,当前系统的内存分块情况如下图所示,现有作业4申请内存9k,几种不同的存储分配算法在分配中,会产生什么样的结果讷?
1.首次适应法:选择找到的适合程序运行空间需求的第一块空间。
2.最佳适应法:选择的空间适合程序选择尽可能小的空间进行分配。
3.最差适应法:选择的空间适合的空间尽可能大的空间进行分配。
4.循环首次适应法:把空间连成一个环状,在首次适应法上做修改。
注意:内存在使用结束后会被系统回收,供其他新的作业使用。
1.页式存储
一张页表(页号和块号)
相当于是存入的索引和对应的内存地址
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象(频繁重新分配表的索引)
例如:逻辑地址=页号+物理地址
(物理地址长度也就是相应页面大小所对应的2的幂)
页面大小为4k时,对应的物理地址长度为12位
2.段式存储
段表(包含段号和段长和段内地址)
从表面上看和页式存储类似,
实际上是段式存储对段内的空间进行了分段处理,不同的段号依次对应不同的空间大小。
优点:多道程序共享内存,各段程序修改互不影响。
缺点:内存利用率低,内存碎片浪费大。
3.段页式存储
段页式存储结合了段式存储和页式存储两种存储模式。
(先分段后分页)
段表:段号+状态+页表大小+页表始址 + 页表:页号+状态+存储块的物理地址
优点:空间浪费小,存储共享容易,能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
块表是一块小容量的相联存储器(Associative Memory),由高速缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
(快表式放在Cache中,慢表是放在内存中。)
1.最优(Optimal,OPT)算法(理想算法,在发生之后决定应该怎么进行淘汰,得出最优的淘汰算法)
2.随机(RAND)算法
3.先进先出(FIFO)算法:有可能产生“抖动"。例如,432143543215序列,用3个页面,比4个缺页要少
4.最近最少使用(LRU)算法:不会”抖动“
例:缺页中断:指令只会存在一个缺页中断,数据会存在两次缺页中断。
索引节点(在一个索引文件中可以同时存在多种索引)
三级简介索引(一般为13个节点)——二级简介索引——一级间接索引——直接索引——>物理盘块
二级简介索引(一般为12个节点)——一级间接索引——直接索引——>物理盘块
一级间接索引(一般为11个节点)——直接索引——>物理盘块
直接索引(一般为10个节点)——>物理盘块
文件属性
绝对路径:是从盘符开始的路径。
相对路径:是从当前路径开始的路径。
若当前路径为:D1,要求F2的路径,则:绝对路径:/D1/W2/F2,相对路径:W2/F2
程序控制方式(由被称为程序查询方式,最为低级,CPU介入最多的机制)
程序中断方式
DMA方式(又称为直接存取控制装置,有一个DMA控制器直接进行管理外设和内存中的数据交换,CPU只在开始时介入)
通道(略)
输入输出处理机(略)
思考:A,B,C,D共用一台打印机X,要进行打印资料时,很容易出现”打印机正在使用“!如何处理该问题?
SPOOLING技术,开辟了缓冲区,将要输入和输出的内容给缓存起来。(解决了外设低俗,内部处理器高速的不匹配问题)
本质:操作系统内核特别小