1.进程的概念:进程是操作系统执行程序的一个实体,是操作系统分配计算机资源的单位;PCB是进程存在的标志;操作系统每创建一个进程,就产生一个PCB储存在内存中;
2.操作系统进程调度算法:
(1)先来先服务:谁先到达队列,谁先执行;
算法优点:易于理解且实现简单,只需要一个队列(FIFO),且相当公平
算法缺点:比较有利于长进程,而不利于短进程,有利于CPU 繁忙的进程,而不利于I/O 繁忙的进程
(2)短作业优先服务:对于同时到达就绪队列或同时在就绪队列中等待的进程,谁的执行时间短,谁优先运行;
算法优点:相比FCFS 算法,该算法可改善平均周转时间和平均带权周转时间,缩短进程的等待时间,提高系统的吞吐量。
算法缺点:对长进程非常不利,可能长时间得不到执行,且未能依据进程的紧迫程度来划分执行的优先级,以及难以准确估计进程的执行时间,从而影响调度性能。
(3)时间片轮转算法:让就绪进程以FCFS 的方式按时间片轮流使用CPU 的调度方式,即将系统中所有的就绪进程按照FCFS 原则,排成一个队列,每次调度时将CPU 分派给队首进程,让其执行一个时间片,时间片的长度从几个ms 到几百ms。在一个时间片结束时,发生时钟中断,调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程,进程可以未使用完一个时间片,就出让CPU(如阻塞)。
算法优点:时间片轮转调度算法的特点是简单易行、平均响应时间短。
算法缺点:不利于处理紧急作业。在时间片轮转算法中,时间片的大小对系统性能的影响很大,因此时间片的大小应选择恰当
(4)最高响应比算法:响应比R定义如下: R =(W+T)/T = 1+W/T
其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。每当要进行作业调度时,系统计算每个作业的响应比,选择其中R最大者投入执行。
算法优点:由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF法,从而采用HRRN方式时其吞吐量将小于采用SJF 法时的吞吐量。
算法缺点:由于每次调度前要计算响应比,系统开销也要相应增加。
有一些特殊的进程:
3.僵尸进程:子进程退出但父进程没有读取到子进程的退出信息,子进程就成为了僵尸进程;
4.孤儿进程:父进程退出,子进程就成为了孤儿进程,由1号进程回收;
5.在虚拟内存系统中,程序不会直接使用物理内存,进程的地址空间是虚拟的,每个进程都有它自己的虚拟内存空间,通过使用一组地址转换映射表,对虚拟内存地址的引用转换为物理内存的位置;
6.进程有就绪态,运行态,阻塞态三种基本形态。
运行态:进程正在运行;
就绪态:进程已经进入就绪队列,通常只缺乏CPU资源即可运行;
阻塞态:进程在某些事件发生之前不能运行;
进程状态转换:
创建--》就绪
就绪--》运行
运行--》终止
运行--》阻塞
阻塞--》就绪
运行--》就绪