16、看懂:生产者—消费者问题的进程同步与互斥,主要是理解其利用P操作和V操作控制进程同步和互斥。
第三章 处理机调度与死锁
1、作业的概念(P57)
2、作业与进程的关系(P60) 3、三级调度具体包括哪些内容:
作业调度(高级调度):用于选择把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源。 对换(中级调度):按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。 进程调度(低级调度):按照某种策略和算法,将处理机分配给一个处于就绪状态的进程。
4、必须牢记几个概念:周转时间、平均周转时间、带权周转时间、平均带权周转时间; 周转时间:是指作业被提交给系统开始,到作业终止为止的这段时间间隔,也称为作业周转时间。
平均周转时间:各作业周转时间的平均值。
带权周转时间:作业的周转时间T与系统为它提供服务的时间(即作业要求运行时间)Ts之比。
平均带权周转时间:各作业带权周转时间的平均值。 给出若干作业以及相关值,会计算上述4个概念。
5、掌握各种调度算法:
先来先服务调度算法(FCFS)(P67):先来先服务算法是按照作业或进程到达的先后次序来进行调度。
短作业(进程)优先调度算法(SPF)(P68):是指对短作业或短进程优先调度的算法, 这里,作业或进程的长短是以作业或进程要求运行时间的长短来衡量的。 高响应比优先调度算法;
优先级调度算法:非抢占式优先级调度算法、抢占式优先级调度算法 时间片轮转法的调度算法(P71):
6、读懂本章例1、例2、例3、例4的算法的计算方法,特别是例1和例2的算法,必须看懂!
7、什么是死锁(P78)?
所谓死锁,是指多个进程循环等待其它进程占有的资源,因而无限期地僵持下去的局面,也可以说死锁是指进程之间无限期地互相等待永不发生的事件。
8、产生死锁的原因?(P78) 原因可归结为两点:
(1)各进程竞争有限的资源; (2)进程推进顺序不当;
9、产生死锁的必要条件?(P79)
死锁发生,一定同时存在下列四个条件,即死锁的必要条件: (1)互斥条件
(2)占有且申请条件 (3)不可抢占条件 (4)环路条件
10、解决死锁的基本方法?(P79)
(1)死锁的预防:死锁的四个必要条件中,我们从打破四个必要条件的任意一个,使它们之中的一条不成立,来达到预防死锁的目的。
(2)死锁的避免:是给系统中并发执行的进程,找到一个安全的推进顺序。如银行家算法。 死锁的预防和死锁的避免都是要对资源的分配加以限制;
(3)死锁的检测:对资源的分配不加限制,只要有剩余的资源,就可把资源分配给申请的进程,允许系统有死锁发生。当死锁发生时系统能够尽快检测到,以便及时解除死锁,使系统恢复正常运行。
(4)死锁的解除:一旦在死锁检测时发现了死锁,就要消除死锁,使系统从死锁状态中恢复过来。
11、系统的安全状态?(P81)
是指系统中的所有进程能够按照某种次序得到资源,并且依次地运行完毕,这种进程序列{P1,P2,?,Pn}就是安全序列。
如果存在这样一个安全序列,则称此时系统处于安全状态。 否则,如果系统不存在这样一个序列,则称系统是不安全的。
12、死锁定理
某系统状态S为死锁的充分必要条件是:当且仅当S状态的资源分配图是不可完全简化的。 即:如果资源分配图中不存在环路,则系统不存在死锁;
如果资源分配图中存在环路,则系统中可能产生死锁,如果不可再简化,则系统产生死锁。
13、银行家算法及的应用。必须看懂例6,这是必须的。
14、注意2类计算:根据调度算法计算周转时间等信息量以及银行家算法;
第四章 内存管理
1、逻辑空间、物理空间:
逻辑空间:是用户的编程空间或者说是CPU的地址总线扫描出来的空间,对应的地址是逻辑地址;每一个程序的逻辑地址都从0开始编址。
物理空间:物理存储单元组成的空间,是由存储器总线扫描出来的空间。
2、重定位、地址变换;
地址变换:逻辑地址转变成物理地址。
重定位:确定程序在内存中的物理位置而进行地址变换就叫做重定位。
3、分区分配算法
(1)首次适应算法(最先符合)
要求自由块按始地址从小到大的顺序排序。当需分配空间时,总是从头开始查找,直到找到一个符合要求的自由块。 (2)最后适应算法(最后符合)。
要求自由块按始地址从小到大的顺序排序。从内存最高地址开始查找,找到第一个满足要求的内存块进行分配。 (3)最佳适应法
要求按自由块从小到大的顺序排序。 分配从头开始查找,即从小端到大端的方向查找。直到找到第一个满足要求的自由块。显然,所能找到的自由块能满足要求的最小块。 (4)最坏适应算法
数据结构和排序方法如上:自由块从小到大的顺序排序。
当分配空间时,不 是从小往大查,而是从大往小查,因此,所找到的自由块是所有自由块中最大者。
4、页式存储的管理的原理 在分页存储管理中:主存被分成一些大小相等的物理块;程序的地址空间被分成一些逻辑页面,逻辑页与物理块大小相同。 程序分配内存空间时,程序和数据以页为单位分配内存块;将一个逻辑页存放在一个物理块中。为了便于实现动态地址变换,通常物理块的大小为2n个扇区,如1K、2K、4K等。 5、页表
页表记录了逻辑页与物理内存块的对应关系。
页表的作用是实现了从页号到物理块号的地址映象。
页式存储管理逻辑地址是一维的,通过页表可由逻辑地址计算出物理地址。
6、页式存储的管理地址重定位方法
7、快表
快速存储器中存放的部分页表称为“快表”,用来存放正在运行进程的当前最常用的页号和它相应的块号,并具有进行查找的能力。
8、2级和多级页表。
一级页表要求装入连续的物理内存中;
当页表很大时,需要将页表也离散地装入到物理内存中,需要2级或多级页表。
2级页表:针对难以找到大的存储空间以存放页表的问题,可利用页表进行分页的办法,使每个页面的大小与内存物理块的大小相同,并为它们编号。这样就可以离散地将各个页面分别放在不同的物理块中,为每个离散的页面建立一张页表,称为外层页表。在每个页表项中记录物理块号。
多级页表:将再进行分页,将各个分页离散地分配到不相邻接的物理块中 ,再利用第2级的外层页表来映射它们之间的关系。外层页表是2级页表的延续与扩展。
9、段式存储管理思想
把作业按逻辑关系加以组织,划分成若干段,并按这些段来分配内存。如:主程序段MAIN,子程序段,数据段等。
段式存储管理的逻辑地址是2维的:段号、段内偏移量。
10、段表
系统为每个作业建立一张段表,每个表目至少有4个数据项,即段号、段长、内存始址和存