1.进程状态
1)创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态。
2)就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行。
3)执行状态:进程处于就绪状态被CPU调度后,进程进入执行状态。
4)阻塞状态(又称等待状态):正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞,在满足请求时进入就绪状态等待系统调用。
5)终止状态:进程结束,或出现错误,或被系统终止,进入终止状态,无法再执行
2.进程调度方式
1)非剥夺调度方式,又称非抢占方式。是指当一个进程正在处理机上执行时,即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件而进入阻塞状态时,才把处理机分配给更为重要或紧迫的进程。
在非剥夺调度方式下,一旦把CPU分配给一个进程,那么该进程就会保持CPU直到终止或转换到等待状态。这种方式的优点是实现简单、系统开销小、适用于大多数的批处理系统,但它不能用于分时系统和大多数的实时系统。
2)剥夺调度方式,又称抢占方式。是指当一个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给这个更为重要或紧迫的进程。
采用剥夺式地调度,对提高系统吞吐率和响应效率都有明显的好处。但“剥夺”不是一种任意性行为,必须遵循一定的原则,主要有:优先权、短进程优先和时间片原则。
3.死锁的处理策略
(1)死锁预防
设置某些限制条件,破坏产生死锁的四个必要条件中的一个或几个,以防止死锁发生。
(2)避免死锁
在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁发生。
银行家算法是最著名的死锁避免算法。
(3)死锁检测及解除
无需采取任何限制性措施,允许线程在运行过程中发生死锁。通过系统的检测机构及时检测死锁的发生,然后采取某种措施解除死锁。
1)检测死锁:利用死锁定理化简资源分配图以检测死锁的存在。
2)解除死锁:资源剥夺法、撤销进程法、进程回退法。
4.典型调度算法
1)先来先服务(FCFS)调度算法
2)短作业优先调度算法
3)优先级调度算法
4)高响应比优先调度算法(响应比=(等待时间+要求服务时间)/要求服务时间)
5)时间片轮转调度算法
6)多级反馈队列调度算法
5.动态分区的分配策略
1)首次适应算法(空闲分区按地址递增)
2)最佳适应算法(空闲分区按容量递增)
3)最坏适应算法(空闲分区按容量递减)
4)循环首次适应算法(由首次适应演变而来,从上次查完的结束位置开始查找)
6.页面置换算法
1)最佳置换算法
该算法所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不在被访问的页面。
2)先进先出页面置换算法
3)最近最久未使用置换算法
4)时钟置换算法
7.磁盘调度算法
1)先来先服务算法
2)最短寻找时间优先算法
3)扫描(电梯)算法
4)循环扫描算法(在扫描算法的基础上规定磁头单向移动来提供服务)
8.软链接(符号链接)和硬链接
(1)软链接可以跨文件系统,硬链接不可以。
(2)硬链接不管有多少个,都指向的是同一个I节点(inode),会把结点链接数增加,只要结点的链接数不是0,文件就一直存在不管你删除的是源文件还是链接文件。当你修改源文件或者链接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件。软链接有自己的i节点,并在磁盘上有一小片空间存放路径名。
(3)软链接可以对一个不存在的文件名进行链接。
(4)软链接可以对目录进行连接。
网友评论