操作系统知识
操作系统的内核
操作系统的五大管理功能:进程管理、存储管理、设备管理、文件管理、作业管理。
网络操作系统和嵌入式操作系统基础知识
操作系统的配置
从历年的考试情况来看,本章主要考查进程状态转换图、信号量与PV操作、死锁问题、银行家算法、段页式存储、页面置换算法、磁盘调度、树形文件系统。
进程管理:
1.进程状态转换图
图
从该图可以看出,五态模型中的五态为:执行状态(运行状态)、活跃就绪状态、活跃阻塞状态、挂起就绪状态、挂起阻塞状态。其中前三种状态组成了三态模型。
执行状态:指进程占有处理机正在CPU上执行的状态。在单CPU系统中,每一时刻只有一个进程处于执行状态。
活跃就绪状态:指进程分配到除处理机以外的必需的资源(已经具备了执行的条件)的状态。进程被创建后处于就绪状态,处于就绪状态的进程可以有多个。
活跃阻塞状态:指进程因等待某个事件的发生而放弃处理机进入等待状态。系统中处于这种状态的进程可以有多个。
挂起就绪状态:指进程被移至磁盘镜像区中,此时进程只缺处理机资源。
挂起阻塞状态:指进程被移至磁盘镜像区中,此时进程除了缺处理机资源,还缺其它资源。
2.信号量与PV操作
在操作系统中,进程之间经常会存在互斥和同步两种关系。为了有效地处理这两种情况,W.Dijkstra在 1965年提出信号量和PV操作。
信号量是一种特殊的变量,表现形式是一个整型S和一个队列。
P操作:也称为down( ) 、wait ( ) 操作,使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列。
V操作:也称为up( ) 、signal ( ) 操作,使S=S+1,若S≤0,唤醒等待队列中的一个进程。
(1)完成互斥控制
为了保护共享资源,不让多个进程同时访问这个共享资源,换句话说,就是阻止多个进程同时进入访问这些资源的代码段,这个代码段称为临界区(也称为管程),而这种一次只允许一个进程访问的资源称为临界资源。
为了实现进程互斥地进入自己的临界区,代码可以如下所示:
P(信号量)
临界区
V(信号量)
由于只允许一个进程进入,因此信号量中整型值的初始应该为1。该值表示可以允许多少个进程进入,当该值<0时,其绝对值就是等待使用的进程数,也就是等待队列中的进程数。而当一个进程从临界区出来时,就会将整型值加1,如果等待队列中还有进程,则调入一个新的进程进入(唤醒)。
(2)完成同步控制
最简单的同步形式是:进程A在另一个进程B到达L2以前,不应前进到超过点L1,这样就可以使用程序,如下所示:
进程A进程B
… …
L 1:P(信号量)L2:V(信号量)
… …
因此要确保进程B执行V操作之前,不让进程A的运行超过L1,因此信号量的初值就应该为0。这样,如果进程A先执行到L1,那么执行P操作后,信号量的整型值就会小于1,也就停止执行。直到进程B执行到L 2时,将信号量的整型值加1,并唤醒它以继续执行。
3.死锁问题
死锁是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。