期末复习大纲
第一章:操作系统引论
1.理解操作系统的目标
1.1.1操作系统的目标 1.方便性 2.有效性 3.可扩充性 4.开放性
2.理解OS的作用
1.1.2操作系统的作用 1.作为用户与计算机硬件系统之间的接口 2.OS作为计算机系统资源的管理者 3.OS实现了对计算机资源的抽象
3.理解操作系统的功能
4.理解多道、并发OS的含义
5.掌握多道批处理OS、分时OS、实时OS的基本特性,掌握分时OS基本特点和响应时间概念和公式T=nq。
6.了解OS设计目的
7.理解OS的基本特性及含义:并发性、共享性、虚拟性、异步性
8.理解OS的五大基本功能
9.理解OS内核概念,知道什么是微内核和强内核
10.了解OS结构设计(模块、分层、微内核的基本概念)
11.理解内核态、用户态概念
12.理解系统调用概念、功能、过程,并能理解系统调用和函数的区别,能够结合具体系统调用和函数理解二者的区别。
13.理解中断、异常概念
第二章进程的描述与控制
一、进程概念及控制
1.理解进程概念
2.2.1进程的定义和特征 1. 进程的定义 为了能使程序并发执行,并且可以对并发执行的程序加以控制和描述 —— 进程 进程的定义: 1) 进程是程序的一次执行 2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 3) 进程是具有独立功能的程序在一个数据集合上运行的过程, 它是系统进行资源分配和调度的一个独立单位
2.理解进程并发执行的四大特征及含义
2.1.3 程序并发执行 2. 程序并发执行时特征 1) 间断性 具有“执行——暂停——执行”这种间断性地活动规律。 2) 失去封闭性 当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所 共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然 会受到其他程序的影响。 3) 不可再现性 程序在并发执行时,由于失去了封闭性,也将导致其又失去了可再现性。
3.理解PCB概念,了解PCB存储的基本信息,知道一个进程对应一个PCB,PCB是进程的唯一标志,伴随着进程的生命期存在。
2.2.1进程的定义和特征 1. 进程的定义 为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之 配置一个专门的数据结构,称为进程控制块(PCB,Process Control Block)。 系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。 进程实体(进程映像) = 程序段 + 相关的数据段 + PCB 一般情况下,把进程实体就简称为进程;创建进程,实质上是创建进程实体中的PCB; 撤销进程,实质上是撤销进程实体中的PCB。
4.理解进程和程序的区别
5.理解进程的基本特征
2.2.1进程的定义和特征 2. 进程特征 1) 动态性: 进程的实质是进程实体的执行过程 它由创建而产生,由调度而执行,由撤销而消亡 进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存在于某种介质上, 其本身不具有活动的含义,因而是静态的。 2) 并发性: 多个程序实体同存在于内存中,且能在一段时间内同时运行。 3) 独立性: 进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。 凡未建立PCB的程序都不能作为一个独立的单位参与运行。 4) 异步性: 进程是按照异步方式运行的,即按各自独立的、不可预知的速度向前推进。正是源于此因, 才导致了传统意义上的程序若参与并发执行,会产生其结果的不可再现性。 为使进程在并发运行时虽具有异步性,但仍能保证进程并发执行的结果是可再现的, 在OS中引入了进程的概念,并且配置相应的进程同步机制。
6.理解进程的三种基本状态,及转换关系和时机
2.2.2 进程的基本状态及转换 1. 进程三种基本状态 由于多个进程在并发执行时共享系统资源,致使它们在运行过程中呈现间断性地运行规律。 三种基本状态: 1)就绪(Ready)状态: 处于准备好运行的状态,即进程已分配到除CPU以外的 所有必要资源后,只要再获得CPU,便可立即执行。 2)执行(Running)状态: 已获得CPU,其程序正在执行的状态 3)阻塞(Block)状态: 正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失 败等)暂时无法继续执行时的状态。OS会把处理机分配给另一个就绪进程,而让受阻进程 处于暂停状态。
7.了解进程控制块的组织形式
2.2.4 进程管理中的数据结构 4. 进程控制块的组织方式 (1)线性方式 组织在一张线性表中 —— 实现简单、开销小,每次查找需要扫描整个表 ——适合进程数目不多的系统 (2)链接方式 把同状态进程的PCB分别通过PCB的链接字链接成一个队列 形成就绪队列、若干个阻塞队列、空白队列 就绪队列 —— 按优先级排列,高的在前面 阻塞队列 —— 按阻塞原因的不同,排成多个阻塞队列 (3)索引方式 系统根据所有进程状态的不同,建立几张索引表,例如就绪索引表、阻塞索引表等, 把各索引表在内存的首地址记录在内存的一些专用单元中。在每个索引表的表目中, 记录具有相应状态的某个PCB在PCB表的地址。
8.理解进程控制操作系统内核是系统硬件的首次延伸,通过执行各种原语操作来实现对进程的控制功能(创建、调度、通讯、撤销等)。了解以下原语
9.理解进程创建、撤销、唤醒、阻塞的基本过程和时机。
10.理解进程上下文切换
二、进程的同步与互斥
1.理解进程之间的两种相互制约关系
2.4.1 进程同步的基本概念 1. 两种形式的制约 两种形式的制约 —— 对于同处于一个系统中的多个进程 1)间接相互制约关系 多个程序在并发执行时,由于共享系统资源,致使在这些并发执行的程序之间形成相互制约的关系。 对于像打印机、磁带机这样的临界资源,必须保证多个进程对之只能互斥地访问。 由此,在这些进程间形成了源于对该类资源共享的所谓间接相互制约关系。为保证这些进程能有序地运行,对于系统中的这些资源,必须由系统实施统一分配,即用户在要使用之前,应先提出申请,而不允许用户进程直接使用。 2)直接相互制约关系 某些有应用程序,为了完成某任务而建立了两个或多个进程,这些进程将为完成同一项任务而相互合作。 进程间的直接相互制约关系就是源于它们之间的相互合作。
2.理解临界资源、临界区、信号量、记录型信号量(重点),了解and信号量、了解记录集信号量
2.4.1 进程同步的基本概念 2.临界资源 临界资源 许多硬件资源如打印机、磁带机等,都属于临界资源,诸进程间应采取互斥方式,实现对这种资源的访问。 2.4.1 进程同步的基本概念 3. 临界区 临界区 —— 每个进程中访问临界资源的那段代码 每个进程在进入临界区之前,应先对欲访问的临界资源进行检查,看其是否正被访问。如果此刻临界资源未被访问,进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被访问,则本进程不能进入临界区。 所以,必须在临界区前面增加一段用于进行上述检查的代码 —— 进入区,相应地,在临界区后面增加一段用于将临界区正被访问的标志恢复为未被访问的标志 —— 退出区,除了上述之外的其他部分的代码 —— 剩余区 while(TRUE) { 进入区(entry section); 临界区(critical section); 退出区(exit section); 剩余区(remainder section); }
2.4.3信号量机制
3.理解经典的同步问题(生产者-消费者(包含单缓冲区和多缓冲区问题)、读写问题、哲学家问题、分桔子苹果问题、get-copy-put)
2.5 经典进程的同步问题
4.理解进程通信概念、高级通信和低级通信概念、了解高级通信的基本形式和基本含义,理解消息缓冲区机制。
5.理解线程概念和特征
2.7.1 线程的引入 线程 设法将进程的上述两个属性分开,由 OS 分开处理, 亦即对于作为调度和分派的基本单位,不同时作为拥有资源的单位; 而对于拥有资源的基本单位,又不对之进行频繁的切换。 正是在这种思想的指导下,形成了线程的概念
2.7.2 线程和进程的比较 线程又称为轻型进程或进程元,传统进程称为重型进程。 1.调度的基本单位 在传统的 OS 中,作为拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位。 在同一进程中,线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。 2.并发性 在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行。 3.拥有资源 不论是传统的 OS,还是引入了线程的 OS,进程都可以拥有资源,并作为系统中拥有资源的一个基本单位。线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源,例如线程控制块等。 允许一个进程中的多个线程贡献该进程所拥有的资源,这主要表现在:属于同一进程的所有线程都具有相同的地址空间。 4.独立性 在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。因为进程之间是为了防止彼此干扰和破坏;而同一进程中的不同线程往往是为了提高并发性以及进行相互之间的合作而创建的。 5.系统开销 进程的创建、撤销和切换所付出的开销都明显大于线程的创建、撤销和切换的开销。 6.支持多处理机系统 对于单线程进程,不管多少处理机,同一时刻该进程只能运行在一个处理机上。对于多线程进程,就可以将一个进程中的多个线程分配到多个处理机上并行执行。
第三章进程调度和死锁
1.理解进程调度概念
系统能按某种算法,动态地将处理机分配给处于就绪状态的一个进程,使之执行
2.理解处理机高级-中级-低级调度
## 1.处理机调度的层次和调度算法的目标 ### 1.1 处理机调度的层次 **1高级调度** 高级调度又称长程调度或作业调度,它的调度对象是作业。 **2低级调度** 低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级进程)。 **3中级调度** 中级调度又称为内存调度。引入中级调度的主要目的是,提高内存利用率和系统吞吐量。
3.理解进程策略(FCFS、SJF、优先权、高响应比、时间片轮转、多级反馈(了解基本含义))含义和特点
4.死锁理解
1)产生死锁的原因
2)产生死锁的4个必要条件
3)处理死锁的基本方法
4)死锁的预防(具体策略)
5)死锁的避免(银行家算法)
6)了解系统模型
7)了解死锁的检测
8)了解死锁的解除(基本思路)
第四章+第五章内存管理
1.理解虚拟存储器概念和特征
2.理解地址重定位,静态重定位、动态重定位
3.理解静态链接的原理,了解动态链接的基本含义
4.2.2 程序的链接 1.静态链接方式 在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。在将这几个目标模块装配成一个装入模块时,须解决以下两个问题: 1)对相对地址进行修改。这是因为在由编译程序所产生的所有目标模块中,使用的都是相对地址,其起始地址都为 0,每个模块中的地址都是相对于起始地址计算的。 2)变换外部调用符号。将每个模块中所用的外部调用符号也都变换为相对地址。 这种先进行链接所形成的一个完整的装入模块,又称为可执行文件。 2.装入时动态链接 指用户源程序经编译后所得的目标模块,在装入内存时采用边装入边链接的链接方式。这样便于装入前修改和更新,以及实现对目标模块的共享。 3.运行时动态链接 将对某些模块的链接推迟到程序执行时才进行链接,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由 OS 去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。
4.理解早期动态分区内存管理原理,内存分配策略(FF、BF、WF算法策略)、内存回收策略
5.理解内存管理中cache的作用
6.理解请求分页管理原理
7.理解请求分段管理原理
8.理解请求段页式管理原理
9.理解页面置换算法(FIFO,OPT,LRU,CLOCK(NRU))
10.理解抖动概念
11.理解程序局部性原理
### 5.1.1 常规存储管理方式的特征和局部性原理
12.二级页表