操作系统原理复习大纲.docx
《操作系统原理复习大纲.docx》由会员分享,可在线阅读,更多相关《操作系统原理复习大纲.docx(36页珍藏版)》请在冰豆网上搜索。
操作系统原理复习大纲
操作系统原理复习大纲
第1章操作系统引论
1.1操作系统的目标和作用
操作系统是计算机硬件上加载的第一层软件,是对计算机硬件功能的首次扩充。
其他软件只有在操作系统的支持下,才能对计算机硬件工作。
操作系统是一种重要的系统软件。
计算机硬件加上I/O管理软件称为虚拟机,虚拟机再加上文件管理软件称为较强的虚拟机,较强的虚拟机再加上窗口软件称为极强的虚拟机。
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合.
操作系统的目标
1.方便性:
操作系统最终是要为用户服务的。
给计算机配置操作系统后必须使计算机系统方便使用。
2.有效性:
操作系统要合理地组织计算机的工作流程,改善系统资源的利用率,提高系统的吞吐量从而使有限的资源完成更多的任务。
3.可扩充性:
操作系统也是为应用服务的,随着应用环境的变化,操作系统自身的功能也必须不断增加和完善。
4.开放性:
操作系统主要功能是管理计算机硬件的,必须适应和能够管理不同的硬件。
操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口
用户可通过三种方式使用计算机:
命令方式、系统调用方式、图形窗口方式。
2OS作为计算机系统资源的管理者
处理机管理:
用于分配和控制处理机
存储器管理:
负责内存的分配与回收
I/O设备管理:
负责I/O设备的分配与操纵
文件管理:
负责文件的存取、共享和保护
3.OS用作扩充机器
推动操作系统发展的主要动力
1.2操作系统的发展过程
操作系统的发展
1.无操作系统:
方式:
人工操作方式,脱机输入输出方式
2.批处理系统
批处理系统主要是采用了批处理技术。
批处理技术是指计算机系统对一批作业自动进行处理的一种技术。
方式:
单道批处理系统:
主要特征:
自动性、顺序性、单道性
多道批处理系统:
引入的好处:
提高CPU的利用率;可提高内存和I/O设备利用率;增加系统吞吐量
特征:
多道性、无序性、调度性
优缺点:
资源利用率高、系统吞吐量大、平均周转时间长、无交互能力。
3.分时操作系统
所谓分时系统就是采用了分时技术的操作系统。
分时技术就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
分时系统要解决的关键问题是
一是及时接收,二是及时处理。
分时系统的实现方式
①单道分时系统
②具有“前台”和“后台”的分时系统
③多道分时系统
分时系统的特征
有多路性、独立性、及时性和交互性。
4.实时系统
实时系统是指系统能及时响应外部事件的请求,在规定的时间内,完成对该事件的处理,并控制所有实时任务协调一致地运行。
类型:
实时控制系统,实时信息处理系统
实时系统的特征:
有多路性、独立性、及时性、交互性和可靠性。
[例]实时系统与分时系统特征的比较P11
5.微机操作系统
类型:
单用户单任务操作系统
单用户多任务操作系统
多用户多任务操作系统
6.多处理机操作系统
多个处理机之间的互联系统,在多处理机系统上配置的操作系统是多处理机操作系统。
类型:
非对称多处理机模式:
也称为主-从模式,在这种模式中,把处理机分为主处理机和从处理机两类,主处理机只有一个,其上配置了操作系统,用于管理整个系统的资源,并负责为各从处理器分配任务。
从处理机有若干个,它们执行预先规定的任务及由主处理机所分配的任务。
对称多处理机模式:
所有的处理机都是相同的。
在每个处理机上运行一个相同的操作系统拷贝,用它来管理本地资源和控制进程的运行以及各计算机之间的通信。
7.网络操作系统
网络操作系统用于管理网络中的各种资源,为用户提供各种服务。
其主要功能有网络通信管理、网络资源管理、网络安全管理和网络服务等。
类型:
客户/服务器模式(C/S),对等模式
8.分布式操作系统
分布式处理系统是指由多个分散的处理单元经互联网络的连接而形成的系统。
在分布式系统上配置的操作系统称为分布式操作系统。
1.3操作系统的基本特性
操作系统的特征
1.并发性
在多道程序环境下,并发性是指两个或多个事件在同一时间间隔内发生,即宏观上有多道程序同时执行,而微观上,在单处理机系统中每一个时刻仅能执行一道程序。
2.共享性
共享是指系统中的资源可供多个并发执行的进程使用。
3.虚拟性
是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。
4.异步性
也称不确定性,是指在多道程序环境下,允许多个进程并发执行,由于资源的限制,进程的执行不是“一气呵成”的,是“走走停停”的。
1.4操作系统的主要功能
从资源管理的角度来看,操作系统的功能主要有
处理机的管理:
进程控制、进程同步、进程通信、调度
存储器的管理:
内存分配、内存保护、地址映射、内存扩充
设备的管理:
缓冲管理、设备分配、设备处理
文件的管理:
文件存储空间的管理、目录管理、文件的读写管理和保护
操作系统与用户之间的接口:
命令接口、程序接口、图形接口
1.5OS结构设计
传统的操作系统结构
客户/服务器模式
面向对象的程序设计
微内核OS结构
第2、3章 处理器管理
2.2进程描述
1.进程的定义
一个程序在一个数据集合上的一次运行过程。
所以一个程序在不同数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。
进程是程序的一次执行
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
2.进程的特征
动态性:
是进程的最基本的特征,它由创建而产生,由调度而执行,由撤消而消亡。
并发性
独立性:
指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
异步性
结构性
3.进程的状态
进程的三种基本状态
就绪状态:
当进程以分配到除处理器(CPU)以外的所有必要资源后,只要再获得处理器就可以立即执行,这时进程的状态称为就绪状态。
执行状态:
处于就绪状态的进程一旦获得了处理器,就可以运行,进程状态也就处于执行状态。
阻塞状态:
正在执行的进程因为发生某些事件(如请求输入/输出、申请额外空间等)而暂停运行,这种受阻暂停的状态称为阻塞状态,也可以称为等待状态。
2.3进程控制
1.进程控制块PCB:
进程控制块是进程实体的重要组成部分,是操作系统中最重要的记录型数据,在进程控制块PCB(ProgramContralBlock)中记录了操作系统所需要的、用于描述进程情况及控制进程运行所需要的全部信息,PCB是进程存在的惟一标志。
作用
通过PCB,使得原来不能独立运行的程序(数据),成为一个可以独立运行的基本单位,一个能够并发执行的进程。
进程控制块是进程存在的唯一标志。
进程控制块的内容:
进程标识符、处理器状态、进程调度信息、进程控制信息
链接指针:
给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。
进程控制块的组织方式:
链接方式、索引方式
2.进程控制原语
原语的概念
原语是指具有特定功能的不可被中断的过程。
它主要用于实现操作系统的一些专门控制操作。
原语的分类
创建原语:
用于为一个进程分配工作区和建立PCB,置该进程为就绪状态。
撤消原语:
用于一个进程工作完后,收回它的工作区和PCB。
阻塞原语:
用于进程在运行过程中发生等待事件时,把进程的状态改为等待态。
唤醒原语:
用于当进程等待的事件结束时,把进程的状态改为就绪态。
3.进程的创建
引起进程创建的事件
用户登录
作业调度
提供服务
应用请求
2.4线程的基本概念
线程的概念:
线程是进程中的一个实体,是被系统独立调度和执行的基本单位。
线程与进程的区别:
调度单位不同:
线程是独立调度和执行的基本单位,进程只作为资源分配和拥有的基本单位。
并发形式不同:
在一个进程中的各个线程,可以并发执行。
不同进程中的线程也能并发执行。
拥有资源不同:
线程中的实体基本上不拥有系统资源,进程拥有资源。
共享方式:
在同一进程中的各个线程,都可以共享该进程所拥有的资源。
进程的基本属性:
(1)进程是一个可拥有资源的独立单位。
(2)进程同时又是一个可独立调度和分派的基本单位。
一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。
线程的属性:
轻型实体。
线程中的实体基本上不拥有系统资源。
独立调度和分派的基本单位。
可并发执行
共享进程资源。
线程的类型:
系统级线程:
是依赖于系统控制的,即无论是用户进程中的线程,还是系统进程中的线程,它们的创建、撤消、切换都是由系统控制实现的。
用户级线程:
是由用户控制,对于用户级线程的创建、撤消、切换,都与系统控制无关,完全由用户自己管理。
超线程的概念
超线程技术就是利用特殊的硬件指令,在一颗实体处理器中放入两个逻辑处理单元,从而模拟成两个工作环境,让单个处理器都能使用线程级并行计算,同时处理多项任务,提升处理器资源的使用率。
2.5进程同步与互斥
1. 进程的并发性:
在并发执行的系统中,若干个作业可以同时执行,而每个作业又需要有多个进程协作完成。
在这些同时存在的进程间具有并发性
进程同步的主要任务:
使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
临界资源:
在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访问或使用,这种资源称为临界资源。
临界区:
每个进程中访问临界资源的那段代码称为临界区
进程同步:
进程同步是指多个相关进程在执行次序上的协调,这些进程相互合作,在一些关键点上需要相互等待或相互通信。
进程互斥:
进程互斥是指当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才被允许使用临界资源。
进程同步机制应遵循的原则
空闲让进
忙则等待
有限等待
让权等待
2.利用PV操作实现互斥与同步
信号量就是一种特殊变量,它用来表示系统中资源的使用情况。
而整型信号量就是一个整型变量。
说明:
当其值大于“0”时,表示系统中对应可用资源的数目;
当其值小于“0”时,其绝对值表示因该类资源而被阻塞的进程的数目;
当其值等于“0”时,表示系统中对应资源已经都被占用,并且没有因该类资源而被阻塞的进程。
信号量的操作
P操作:
记为P(S),描述为:
P(S)
{ S=S-1;
if (S<0)W(S);
}
W(s):
将调用过程的进程插入到等待信号量S的等待队列中
V操作:
记为V(S),描述为:
V(S)
{ S=S+1;
if(S<=0)R(S);
}
R(s):
从该信号量的等待队列中释放第一个进程。
Wait(s)操作:
procedurewait(s)
var S:
semaphore;
begin
s.value:
=S.value-1;
ifs.value<0thenblock(S,L);
end.
wait(s):
将调用过程的进程插入到等待信号量S的等待队列中
Signal(s)操作:
procedureSigna(s)
var S:
semaphore;
begin
s.value:
=S.value+1;
ifs.value<=0thenwakeup(S,L);
end.
wakeup(s):
从该信号量的等待队列中释放第一个进程。
2.6进程通信
进程通信是指进程间的信息交换。
类型
共享存储器系统
消息传递系统:
方式
直接通信方式
发送进程使用发送原语直接将消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程使用接收原语从消息缓冲队列中取出消息。
Send(receiver,message):
发送一个消息给接收进程
Receive(sender,message):
接收sender发来的消息。
间接通信方式
发送进程使用发送原语直接将消息发送到某种中间实体(信箱)中,接收进程使用接收原语从该中间实体中取出消息。
管道通信系统
3.1处理器管理概述
1.处理器管理的主要任务:
是对处理器进行分配,并对其运行进行有效地控制和管理。
处理器管理的主要功能
进程控制
进程同步
进程通信
进程调度:
包括作业调度和进程调度。
作业调度:
从后备队列中按照一定的算法,选择若干个作业,为它们分配必要的资源,将它们调入主存,然后为它们建立进程,并按照一定的算法将其插入就绪队列。
进程调度:
从进程的就绪队列中,按照一定的算法选出一新进程,把处理器分配给它,并为它设置运行现场,使进程投入运行。
2.程序的顺序执行
程序在执行时,必须按某种先后次序逐个执行操作,只有当前一个操作执行完后,才能执行后一个操作。
特征:
顺序性
封闭性
可再现性
3.程序的并发执行
是指在一个时间段内执行多个程序。
特征:
间断性
失去封闭性
不可再现性
处理机调度的层次
进程调度的类型:
高级调度、低级调度、中级调度
高级调度又称为作业调度或长程调度,用于决定把外存上处于后备队列中的哪些作业调入主存,并为它们创建进程、分配必要的资源,然后将新创建的进程排入就绪队列,准备执行。
低级调度通常又称为进程调度或短程调度。
它决定主存中的就绪队列上的哪个进程(单处理器系统)将获得处理器,然后把处理器分配给该进程,使其执行。
方式:
非抢占方式、抢占方式
中级调度:
系统将那些暂时不能运行的进程从主存调到外存(仍然保持进程状态)上的特定区域,这些在外存存放的进程所处的状态称为就绪驻外状态或挂起状态。
当这些进程的运行条件具备,且主存又有空闲时,在中级调度的控制下,再将处于外存上的那些重新具备运行条件的就绪驻外进程调入主存,并将其状态修改为就绪状态,放入就绪队列,等待进程调度。
目的:
是为了进一步提高主存的利用率和系统的吞吐量。
3.2 常用的进程调度算法
先来先服务调度算法:
每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。
该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。
特点:
利于长进程,而不利于短进程。
短进程优先调度算法:
它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。
时间片轮转调度算法:
系统将所有的就绪进程按进入就绪队列的先后次序排列。
每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。
优先数调度算法:
它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。
响应比高者优先调度算法:
它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。
特点:
既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。
所以系统开销很大,比较复杂。
多级队列调度算法
3.3死锁
死锁的概念:
是指多个进程因竞争资源而造成的一种僵局,若无外力的作用,这些进程将都不能再继续执行。
产生死锁的原因:
竞争资源、进程推进顺序非法
产生死锁的必要条件
互斥条件:
指进程对所分配到的资源进行排它性使用。
请求和保持条件:
指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其它进程占有。
不剥夺条件:
指进程已获得的资源,在未使用完之前,不能被剥夺。
环路等待条件:
指在发生死锁时,必然存在一个进程--资源的环形链。
死锁的预防
该方法是通过对资源分配的原则进行限制,从而使产生死锁的四个必要条件中的第2、3、4个条件之一不能成立,来预防产生死锁。
方法
破坏“不剥夺”条件:
当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源。
破坏“请求和保持”条件:
系统规定所有进程在开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源。
破坏“环路等待”条件:
系统将所有资源按类型进行线性排队,并赋予不同的序号。
所有进程对资源的请求必须严格按照资源序号递增的次序提出。
死锁的避免
死锁的避免中,所施加的限制较弱,将获得较好一些的系统性能。
该方法把系统状态分为安全状态和不安全状态,只要能使系统始终处于安全状态,便可以避免发生死锁。
安全状态:
是指系统能按某种顺序为每个进程分配所需资源,直到最大需求,使每一个进程都可以顺利完成。
利用银行家算法避免死锁:
银行家算法分配资源时,要测试进程对资源的最大需求量,如果系统现在的资源可以满足它的最大需求量,就满足该进程当前的申请,否则就推迟分配,这样做能保证各进程可得到需要的全部资源而执行结束,然后归还资源供别的进程使用。
银行家算法的处理步骤为:
(1)列出某一时刻资源分配表,格式如表2-4所示。
(2)拿可用资源量与每一个进程所需资源量进行比较,可用资源量不少于所需资源量时,把资源分配给该进程。
新的可用资源量为原有可用资源量加上该进程已分配资源量。
(3)重复
(2),直到所有进程都执行完,即可判断能否获得一个安全资源分配序列。
第4章 存储器管理复习
4.1 存储器管理概述
存储管理的主要任务是尽可能方便用户和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。
1.存储器管理的主要功能
主存空间的分配和回收
逻辑地址(相对地址):
用户程序中使用的从“0”地址开始的地址。
物理地址(绝对地址):
把主存空间的地址编号称为主存的逻辑地址。
地址转换:
将用户程序的逻辑地址转换为物理地址的过程叫地址转换。
主存空间的共享与保护:
同时进入主存器执行的作业可能需要调用相同的程序或数据,这就是主存的共享。
主存空间的扩充
2.程序的装入与链接
源程序的执行:
通常要经过编译、链接和装入几个步骤
实现链接的方法有三种
静态链接:
事先进行链接,以后不再拆开的链接方式
装入时动态链接:
用户源程序经编译后所得到的目标模块,是在装入主存时,边装入边链接的。
运行时动态链接:
可将某些目标模块的链接,推迟到执行时才进行。
程序的装入采用三种方式:
(1)绝对装入方式:
是由装入程序根据装入模块中的地址,将程序和数据装入主存。
(2)可重定位方式:
是由装入程序根据主存当前的实际使用情况,将装入模块装入到主存适当的地方。
重定位:
在装入时对目标程序中的指令和数据地址的修改过程称为重定位。
(把逻辑地址转换成绝对地址),它分为静态重定位和动态重定位。
静态重定位:
重定位是在装入时由重定位装入程序一次性完成的,则被称作静态重定位。
(3)动态运行时装入方式:
动态运行时的装入程序,在把装入模块装入主存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行,叫动态重定位
3.存储管理方式
单一连续分配存储管理方式
固定分区存储管理方式
动态分区存储管理方式
页式存储管理方式
段式存储管理方式
段页式存储管理方式
虚拟存储管理方式
4.2单一连续存储管理方式
在主存中仅驻留一道程序,整个用户区为一用户独占。
当用户作业空间大于用户区时,该作业不能装入。
采用这种存储管理方式时,主存分为两个分区(系统区和用户区)。
分配过程是:
首先,从作业队列中取出队首作业;判断作业的大小是否大于用户区的大小,若大于则作业不能装入,否则,可以把作业装入用户区。
它一次只能装入一个作业。
它采用静态分配方式。
处理器设置两个寄存器:
界限寄存器和重定位寄存器。
界限寄存器用来存放主存用户区的长度,重定位寄存器用来存放用户区的起始地址。
地址转换过程是:
CPU获得的逻辑地址首先与界限寄存器的值比较,若大于界限寄存器的值,产生“地址越界”中断信号,由相应的中断处理程序处理;若不大于界限寄存器的值,就与重定位寄存器中的基址相加,得到物理地址,对应于主存中的一个存储单元。
绝对地址=界限寄存器+逻辑地址
存储保护:
界限寄存器〈=绝对地址〈主存的最大地址
4.3固定分区存储管理方式
把主存中可分配的用户区域预先划分成若干个固定大小的区域,每一个区域称为一个分区,每个分区中可以装入一个作业,一个作业也只能装入一个分区中,这样可以装入多个作业,使它们并发执行。
当有一个空闲分区时,便可从外存的后备队列中,选择一个适当大小的作业装入该分区;当该作业运行完时,又可从后备队列中选择另一个作业装入该分区。
采用的数据结构:
设置了一张分区分配表。
分区分配表的内容包括:
分区序号、起始地址、大小、状态。
采用静态重定位方式。
处理器设置两个寄存器:
下限寄存器和上限寄存器。
下限寄存器用来存放分区低地址,即起始地址;上限寄存器用来存放分区的高地址,即末址。
绝对地址=分区起始地址+逻辑地址
4.4可变分区存储管理方式
可变分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。
各分区的大小是不定的,主存中分区的数目也是不定的
数据结构:
已分分区表和空闲分区表
常用的主存分配算法:
首次适应分配算法(FF):
对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一