一、操作系统分类
批处理操作系统、分时操作系统(Unix)、实时操作系统、网络操作系统、分布式操作系统、微机操作系统(Linux、Windows、IOS等)、嵌入式操作系统。
二、操作系统的4个特征
并发性、共享性、虚拟性、不确定性。
三、操作系统的功能
进程管理、文件管理、存储管理、设备管理、作业管理。
进程管理:也称处理机管理。实质上是对处理机执行时间进行管理,采用多道程序等技术将CPU的时间真正合理地分配给每个任务。主要包括进程管理、进程同步、进程通信和进程调度。
文件管理:又称信息管理。主要包括文件存储空间管理、目录管理、文件的读写管理和存取管理。
存储管理:是对主存储器空间的管理。主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。(即内存管理)
设备管理:实质上是对硬件设备进行管理,其中包括输入输出设备的分配、启动、完成和回收。
作业管理:包括人物、人机交互和用户界面管理等。
四、进程管理
1、进程的状态
2、前趋图
3、PV操作
P操作代表的是对资源(信号量)的申请,如果资源不足,则把进程放入缓冲队列。由于它是对资源的申请,所以是减法操作,可以放入缓冲队列,所以它是一个加锁,等待,阻塞的操作。
V操作是对资源释放,资源释放出来后,则从缓冲队列中取出一个进程出来执行。由于它是对资源的释放,所以它是加法操作,是唤醒操作。
4、死锁问题
两个以上的进程互相要求对方已经占有的资源导致无法继续运行下去的现象
产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:互斥条件、请求与保持条件、不剥夺条件、循环等待条件。
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
解决死锁的4种处理策略:鸵鸟策略(即不理睬策略)、预防策略、避免策略、检测与解除策略。
死锁预防:预先静态分配法(破坏不可剥夺条件)、资源有序分配法(将资源分类按顺序排列,保证不形成环路)。
死锁避免:银行家算法(对每个资源请求进行检测,确保安全。需要很大的系统开销)。
死锁解除:资源剥夺法、撤销进程法。
某个系统中有3个并发进程,都需要同类资源数目为4个,该系统不发生死锁的最少资源数目是()。
A、9个 B、10个 C、12个 D、13个 【答案】B 【解析】 (系统资源-1)*进程个数+1 (4-1)*3+1
假设系统中有三类互斥资源R1、R2、R3,可用资源数分别是9、8、5。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如表5-1所示,如果进程按(3)序列执行,那么系统状态是安全的。
A.P1->P2->P4->P5->P3
B.P2->P1->P4->P5->P3
C.P2->P4->P5->P1->P3
D.P4->P2->P4->P1->P3
5、存储管理
4.2.1段页式存储
4.2.2局部性原理
4.2.3页面置换算法
某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配4个页面的主存空间,其中一个页面用来存放程序。现有某作业的程序如下:设每个页面可存放200个整数变量,变量i、j存放在程序页中。初始时,程序及i、j均已在内存,其余3页为空。若矩阵A按行序存放,那么当程序执行完后共产生(3)次缺页中断;若矩阵A按列序存放,那么当程序执行完后共产生(4)次缺页中断。
2010年(3)
A.50
B.100
C.5000
D.10000
2010年(4)
A.50
B.100
C.5000
D.10000
【答案】A C 【解析】本题考查计算机存储管理方面的基本知识。
矩阵A[100][100]总共有100行、100列,若矩阵A按行序存放,那么每一个页面可以存放2行,也就是说矩阵的2行刚好放在1页内,访问它们需要中断1次,这样100行总共需要中断50次。
若矩阵A按列序存放,那么每一个页面可以存放2列,也就是说矩阵的2列刚好放在1页内,由于内循环“FORj:=l to 100
DO”是按列序变化,访问它们需要中断50次,这样100行总共需要中断50X100次。
在本题中,从题干可知,作业共有4个页面的主存空间,其中一个已被程序本身占用,所以在读取变量时可用的页面数只有3个。每个页面可存放200个整数变量,程序中A数组共有100*100=10000个变量。按行存放时,每个页面调入的200变量刚好是程序处理的200个变量,所以缺页次数为10000/200=50。而按列存放时,虽然每个页面调取数据时,同样也读入了200个变量,但这200个变量中,只有2个是近期需要访问的(如:第1个页面调入的是A[*,1]与A[*,2],但程序近期需要访问的变量只有A[1,1]和A[1,2]),所以缺页次数为:10000/2=5000。
五、文件管理
4.3.1索引文件
4.3.2位示图
六、作业管理
作业状态分为4种:提交(通过输入设备送入计算机)、后备(通过Spooling系统将作业输入到计算机系统的后备存储器中,等待作业调度程序调度)、执行和完成。
1、作业调度算法
常用的作业调度算法:先来先服务、短作业优先、响应比高优先、优先级调度算法、均衡调度算法。
七、设备管理
设备管理的目标是如何提高设备的利用率,为用户提供方便统一的界面。
设备管理采用的缓冲技术:通道技术、DMA技术、缓冲技术、Spooling技术。
1、数据传输控制
2、虚设备与SPOOLING技术
1、输入输出控制方式
(2017)DMA (直接存储器访问)工作方式是在(3)之间建立起直接的数据通路。
(3)A.CPU 与外设 B.CPU 与主存 C. 主存与外设 D .外设与外设
【答案】C
【解析】
直接主存存取(Direct Memory Access,DMA)是指数据在主存与I/O设备间的直接成块传送,即在主存与I/O设备间传送数据块的过程中,不需要CPU作任何干涉,只需在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时由CPU进行处理,实际操作由DMA硬件直接完成,CPU在传送过程中可做其它事情。
2、操作系统为用户提供了两类接口
操作一级的接口和程序控制一级的接口。其中,操作一级的接口包括操作控制命令、菜单命令等;
程序控制一级的接口包括系统调用。