1、核心态下的指令/事件:进程切换、系统调用、广义指令、置时钟指令、输入/输出、XX中断处理程序、“关中断”指令。
2、“访管”指令 = 陷入指令在用户态下执行。
3、“访存时缺页”属于内中断(异常),考卷上的中断一般指狭义上的中断-即外中断(例如时钟中断、I/O中断)。
3.1、“关中断”指令和“开中断”指令是两个特权指令,实现原子性。
4、在执行系统调用服务程序的过程中,CPU处于内核态。
5、操作系统通过提供系统调用避免用户程序直接访问外设。
6、系统调用是操作系统内核为应用程序提供服务的接口。
7、分布式操作系统的特点:分布性和并行性。
8、中断技术使得多道处理批处理系统和I/O设备可与CPU并行工作。
9、大内核:时钟管理、中断机制、原语、进程管理、存储器管理、设备管理。
10、微内核:时钟管理、中断机制、原语。
10.1、微内核结构的特点:①添加系统服务时,不必须改内核。②使系统更可靠。如果所使系统更高效则错误。
11、在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始执行。
12、需要硬件支持的操作系统的各功能组成部分中:时钟管理、地址映射、中断系统。
13、PCB(进程控制块)的组成:进程的描述信息(PID、UID),进程控制和管理信息,资源分配清单、处理机相关信息。
14、进程实体的组成:PCB(给OS用)-是进程存在的唯一标志、程序段(给进程自己用)、数据段(给进程自己用).
15、进程是动态的,进程实体(进程映像)是静态的。
16、进程是进程实体的运行过程,是系统进行资源分配和调度(OS决定让哪个进程在CPU上运行)的一个独立单位。
17、进程的特性:动态性、并发性、独立性(进程是能独立运行、独立获得资源、独立接受调度的基本单位)、异步性、结构性(组成PCB-OS所需呀的数据都在这个里面)。
18、一个进程处于就绪态那么它只差处理机这一种资源。进程从运行态->阻塞态是一种进程自身做出的主动行为,进程用“系统调用”的方式申请某种系统资源或者等待某个事件发生。阻塞态->运行态不是进程自身控制的,是一种被动行为。当时间片到,或者处理机被抢占时候运行态->就绪态。
19、进程的三种基本状态:运行态(单CPU情况下,同一时刻只会有一个进程处于运行态,多核CPU情况下,可能有多个进程处于运行态)、就绪态、阻塞态
20、进程的组织方式:①链式方式-执行指针、就绪队列指针、阻塞队列指针(等待打印机的阻塞队列、等待磁盘的阻塞队列等);②索引方式,指针指向索引表,每个表项对应一个进程。
21、进程控制:实现进程状态转换
21.1、进程控制的相关原语:创建、撤销、阻塞、唤醒、切换
22、进程的实现方式:原语(设备驱动、CPU切换等):需要“一气呵成”,不能中断。(参考3.1)
23、作业调度:从外存中挑选一个程序放入到内存让它去执行。
24、引起进程的创建的事件:用户登录、作业调度、提供服务、应用请求。
25、PSW:程序状态寄存器、PC:程序计数器,存放下一条指令的地址、IR:指令寄存器,存放当前正在执行的指令。
26、进程控制原语做的三件事:①更新PCB中的信息、②将PCB插入合适的队列、③分配/回收资源
27、进程通信:进程之间的信息交换。
28、进程通信的方式:共享存储(基于数据结构-低级、基于存储区-高级)、消息传递(直接、间接-信箱为中间实体)、管道通信。
28.1、共享存储:OS会给内存开辟一个共享空间,两个进程对共享空间的访问必须是互斥的(互斥访问通过操作系统的工具(PV操作)实现的)。
28.2、消息传递:进程的数据交换以格式化的消息(消息头、消息体)为单位。进程通过OS提供的“发送消息/接受消息”两个原语进行数据交换。
28.3、管道:内存中开辟一个大小固定的缓冲区,只能采用半双工的通信方式-单向的数据传输,各个进程互斥的访问管道。管道写满,写进程阻塞;管道变空,读进程阻塞。如果没写满。就不允许读;如果没读空,就不允许写。数据一旦被读出,就从管道中抛弃,这就意味着读进程只能有一个。
29、线程:一个基本的CPU执行单元,也是程序执行流的最小单位。各个线程之间也可以并发,提高系统的并发度。
30、资源是分配给进程的,而不是线程。
31、引入线程后,进程是资源分配的基本单位,线程是处理机调度的基本单位。
32、线程的属性:多CPU计算机中,各个线程可占用不同的CPU;每个线程都有一个线程ID、线程控制块(TCB);线程也有三状态;线程几乎不拥有系统资源;同一进程的不同线程间共享进程资源;由于共享内存的地址空间,同一进程的线程间通信甚至无需系统干预;同一进程的不同线程切换,不会引起进程切换;不同进程的线程切换,会引起进程的切换;切换同进程的内的线程,系统开销很小;切换进程,系统开销很大。
33、调度的三个层次:高级调度(作业调度)无->创建态->就绪态;发生频率最低、中级调度(内存调度)内存->外存;挂起态->就绪态发生频率中等、低级调度(进程调度)内存->CPU;就绪态->运行态发生频率最高。
33.1、高级调度(作业调度),每个作业只调入一次,建立PCB;调出一次,撤销PCB。外存->内存
34、“挂起”和“阻塞”的区别:两种状态都是暂时不能获得CPU的服务,但挂起状态是将进程映像调到外存去了,而阻塞态下的进程映像还在内存中。
35、进程在操作系统的内核程序临界区中不能进行调度与切换
36、临界资源:一个时间段内只允许一个进程使用资源,各进程需要互斥地访问临界资源。
37、临界区:访问临界资源的那段代码。
38、狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程,也可以是另一个进程,后一种情况就需要进程切换)进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。
39、进程切换过程主要完成:①对原来运行的进程各种数据的保存、②对新的进程各种数据的恢复。
40、进程的调度和进程的切换是有代价的。
41、进程调度的方式:抢占式和非抢占式
42、不能进行进程调度的时候:①在处理中断程序;②进程在操作系统的内核程序临界区中;③原语操作
43、系统吞吐量:单位时间内完成的作业数量。 = 总共完成了多少道作业/总共花了多长时间。
44、带权周转时间 = 作业的周转时间(作业完成时间-作业提交的时间)/作业实际的运行的时间。
44.1、等待时间 = 周转时间 - 运行时间
45、调度算法-高响应比优先调度算法:高响应比 = (等待时间 + 要求服务时间) / 要求服务时间。不会导致饥饿现象。
46、先来先服务算法(FCFV):对长作业有利,对短作业不利。不会导致饥饿现象。
47、短作业优先算法:有利于短作业,不利于长作业,会导致饥饿现象。
48、对临界资源的访问,可以在逻辑上分为4部分:进入区、临界区、退出区、剩余区。
48.1、进入区:负责检查是否可以进入临界区,若可进入,则应设置正在访问临界资源的标志(上锁),以阻止其他进程同时进入临界区。
48.2、临界区(临界段):访问临界资源的那段代码。
48.3、退出区:负责解除正在访问临界资源的标志(解锁)
48.4、剩余区:做其他处理。
49、临界区是进程中访问临界资源的代码段,进入区和退出区是负责实现互斥的代码段
50、实现对临界资源的互斥访问,遵循的原则:空闲让进、忙则等待、有限等待(保证有限的时间内对请求访问的进程进入临界区,保证不会饥饿)、让权等待(当进程不能进入临界区时,应立即释放处理机,防止进程忙等待)。
51、进程同步可以说为进程之间的直接制约关系;进程互斥可以说为进程之间的间接制约关系。