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