|
8 | 8 |
|
9 | 9 | 阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
|
10 | 10 |
|
11 |
| -**注意区别就绪状态和等待状态:**就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;而等待状态是指进程需要其他资源(除了处理机)或等待某一事件。 |
| 11 | +**注意区别就绪状态和等待状态:** 就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;而等待状态是指进程需要其他资源(除了处理机)或等待某一事件。 |
12 | 12 |
|
13 |
| -**就绪状态 -> 运行状态:**处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。 |
| 13 | +**就绪状态 -> 运行状态:** 处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。 |
14 | 14 |
|
15 |
| -**运行状态 -> 就绪状态:**处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。 |
| 15 | +**运行状态 -> 就绪状态:** 处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。 |
16 | 16 |
|
17 |
| -**运行状态 -> 阻塞状态:**当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。 |
| 17 | +**运行状态 -> 阻塞状态:** 当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。 |
18 | 18 |
|
19 |
| -**阻塞状态 -> 就绪状态:**当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。 |
| 19 | +**阻塞状态 -> 就绪状态:** 当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。 |
20 | 20 |
|
21 | 21 | ## 二、进程与线程的区别
|
22 | 22 |
|
23 |
| -**进程:**进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(具有动态、并发、独立、异步的特性,以及就绪、执行、阻塞3种状态);引入进程是为了使多个程序可以并发的执行,以提高系统的资源利用率和吞吐量。 |
| 23 | +**进程:** 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(具有动态、并发、独立、异步的特性,以及就绪、执行、阻塞3种状态);引入进程是为了使多个程序可以并发的执行,以提高系统的资源利用率和吞吐量。 |
24 | 24 |
|
25 |
| -**线程:**是比进程更小的可独立运行的基本单位,可以看做是轻量级的进程(具有轻型实体,独立调度分派单位,可并发执行,共享进程资源等属性);引入目的是为了减少程序在并发执行过程中的开销,使OS的并发效率更高。 |
| 25 | +**线程:** 是比进程更小的可独立运行的基本单位,可以看做是轻量级的进程(具有轻型实体,独立调度分派单位,可并发执行,共享进程资源等属性);引入目的是为了减少程序在并发执行过程中的开销,使OS的并发效率更高。 |
26 | 26 |
|
27 | 27 | 两者的对比:
|
28 | 28 |
|
|
76 | 76 |
|
77 | 77 | 反之,**当程序运行在级特权级上时,就可以称之为运行在内核态。**
|
78 | 78 |
|
79 |
| -虽然用户态下和内核态下工作的程序有很多差别,**但最重要的差别就在于特权级的不同,即权力的不同。**运行在用户态下的程序不能直接访问操作系统内核数据结构和程序。 |
| 79 | +虽然用户态下和内核态下工作的程序有很多差别,**但最重要的差别就在于特权级的不同,即权力的不同。** 运行在用户态下的程序不能直接访问操作系统内核数据结构和程序。 |
80 | 80 |
|
81 | 81 | 当我们在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成某些它没有权力和能力完成的工作时就会切换到内核态。
|
82 | 82 |
|
|
116 | 116 |
|
117 | 117 | ## 七、进程调度算法
|
118 | 118 |
|
119 |
| -**先来先服务调度算法FCFS:**既可以作为作业调度算法也可以作为进程调度算法;按作业或者进程到达的先后顺序依次调度;因此对于长作业比较有利; |
| 119 | +**先来先服务调度算法FCFS:** 既可以作为作业调度算法也可以作为进程调度算法;按作业或者进程到达的先后顺序依次调度;因此对于长作业比较有利; |
120 | 120 |
|
121 |
| -**短作业优先调度算法SJF:**作业调度算法,算法从就绪队列中选择估计时间最短的作业进行处理,直到得出结果或者无法继续执行;缺点:不利于长作业;未考虑作业的重要性;运行时间是预估的,并不靠谱 ; |
| 121 | +**短作业优先调度算法SJF:** 作业调度算法,算法从就绪队列中选择估计时间最短的作业进行处理,直到得出结果或者无法继续执行;缺点:不利于长作业;未考虑作业的重要性;运行时间是预估的,并不靠谱 ; |
122 | 122 |
|
123 |
| -**高相应比算法HRN:**响应比=(等待时间+要求服务时间)/要求服务时间; |
| 123 | +**高响应比算法HRN:** 响应比=(等待时间+要求服务时间)/要求服务时间; |
124 | 124 |
|
125 |
| -**时间片轮转调度RR:**按到达的先后对进程放入队列中,然后给队首进程分配CPU时间片,时间片用完之后计时器发出中断,暂停当前进程并将其放到队列尾部,循环 ; |
| 125 | +**时间片轮转调度RR:** 按到达的先后对进程放入队列中,然后给队首进程分配CPU时间片,时间片用完之后计时器发出中断,暂停当前进程并将其放到队列尾部,循环 ; |
126 | 126 |
|
127 |
| -**多级反馈队列调度算法:**目前公认较好的调度算法;设置多个就绪队列并为每个队列设置不同的优先级,第一个队列优先级最高,其余依次递减。优先级越高的队列分配的时间片越短,进程到达之后按FCFS放入第一个队列,如果调度执行后没有完成,那么放到第二个队列尾部等待调度,如果第二次调度仍然没有完成,放入第三队列尾部…。只有当前一个队列为空的时候才会去调度下一个队列的进程。 |
| 127 | +**多级反馈队列调度算法:** 目前公认较好的调度算法;设置多个就绪队列并为每个队列设置不同的优先级,第一个队列优先级最高,其余依次递减。优先级越高的队列分配的时间片越短,进程到达之后按FCFS放入第一个队列,如果调度执行后没有完成,那么放到第二个队列尾部等待调度,如果第二次调度仍然没有完成,放入第三队列尾部……只有当前一个队列为空的时候才会去调度下一个队列的进程。 |
0 commit comments