三、操作系统知识
1、操作系统的定义:是管理计算机中各种软件、硬件资源的程序和相关文档的集合,是一种系统软件。
操作系统能有效的组织和管理系统中的各种软、硬件资源,合理地组织计算机工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
操作系统的两个重要作用:
通过资源管理,提高系统的使用效率;
改善人机界面,向用户提供友好的工作环境。
操作系统的4个特征:并发性、共享性、虚拟性、不确定性。
操作系统的5个管理功能:进程管理、文件管理、存储管理、设备管理、作业管理
操作系统的分类:
批处理系统,计算机自动、顺序地执行作业流产生的每一个作业,以节省人工操作时间和提高机器的使用效率。分为单道批处理系统和多道批处理系统。优点是同一批内的各作业次次执行,改善了cpu,io的使用
效率,提高了吞吐量。缺点是磁盘需要人工装卸,作业需要人工分类,监督程序易受用户程序破坏,缺少交互性。
分时系统, 具有如下特征:多路性、独立性、交互性、及时性。
实时系统,分为实时控制系统和实时信息处理系统。主要特点有:快速的响应时间、有限的交互能力、高可靠性
网络操作系统,使得计算机更有效地共享网络资源,为网络用户提供所需各种服务的软件和有关协议的集合。
分布式操作系统,是由多个分散的计算机经网络连接而成,各主机无主次之分。为分布式计算机配置的操作系统称为分布式操作系统。
微机操作系统
嵌入式操作系统
2、研究操作系统的观点
资源管理的观点:从这种观点看,操作系统的管理对象是计算机系统的资源,操作系统则是管理计算机系统的程序集合。这种观点是在共享的前提下以资源分配、使用和回收为出发点,考虑操作系统各部分程序的功能和算法。
虚拟机的观点:操作系统加裸机构成虚拟计算机。虚拟机的观点是从功能分解的角度出发,考虑操作系统的结构,将操作系统分成若干层次,每一层完成特定的功能。
3、顺序程序执行时的特征:顺序性、封闭性、可再现性;
并发程序执行时的特征:非封闭性、程序和机器执行程序的活动不在一一对应、并发程序间的相互制约性。
引入进程的原因:由于程序并发执行破坏了程序的封闭性和可再现性,使得程序和执行程序的活动不在一一对应,此时用静态的程序概念已经不能描述系统中程序动态执行的过程,所以
引入了进程。
4、进程的定义:就是程序的一次执行,该程序可以和其它程序并发执行。
进程的组成:进程通常是由程序、数据及进程控制块(PCB)组成的。
进程的程序部分是进程执行时不可修改部分,它描述了进程需要完成的功能;
进程的数据部分是进程的可修改部分;
进程控制块是进程的描述信息和控制信息,是进程存在的惟一标志。
进程和程序的区别是:进程具有状态而程序没有。
进程通信方式5、进程的状态及状态间的切换
三态模型:运行、就绪、阻塞。
五态模型:新建态、终止态、运行、就绪、阻塞。
新建态:对应于进程刚刚被创建时还没有被提交,并等待系统完成创建进程的所有必要信息的状态。整个过程分为两个阶段,一是为一个新建进程创建必要的管理信息,另一是让进程进入就绪状态。因为有了新建态,操作系统可以根据系统的性能和主存的容量限制而推迟新建态的提交。
终止态也分为两个阶段,一是等待操作系统进行善后处理,另一是释放主存。
具有挂起状态的进程状态:当系统资源不能满足所有进程的运行要求时,必须将某些进程挂起,放在
磁盘对换区,暂时不参加调度,以平衡系统负载。有这样几个状态:活跃就绪、静止就绪、活跃阻塞、静止阻塞。
6、进程的控制,就是对系统中所有进程从创建到消亡的全过程实施有效的控制。操作系统的内核为系统实现进程控制和存储管理提供了有效的控制机制。
大多数操作系统内核均包含支撑功能和资源管理功能。
支撑功能:中断处理、时钟管理、原语操作。
原语是由若干条机器指令构成的,用于完成特定功能的一段程序。内核在执行某些基本操作时往往是通过原语操作实现的。原语在执行过程中不可分割。内核中包含的原语有进程控制、进程通信、资源管理等。
资源管理功能:进程管理、存储器管理、设备管理。
7、进程间通信
进程间的同步:一般来说,一个进程相对于另一个进程的运行速度是不确定的,即进程是在异步环境下运行。每个进程都以各自独立的不可预知的速度向前推进,但相互合作的进程需要在某些确定点上协调
它们的工作,当一个进程到达了这些点后,除非另一进程已完成了某些操作,否则就不得不停下来等等这些操作结束。
进程间的互斥:在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源(critial resource)。同步是进程间的直接制约问题,互斥是进程间的间接制约问题。
临界区(critial se
ction)是对临界资源实施操作的那段程序。互斥临界区管理的原则为:有空即进、无空则等、有限等待、让权等待。
8、整形信号量与PV操作
整形信号量是一个整形变量,根据控制对象的不同赋不同的值。信号量分为两类:
公用信号量:实现进程间的互斥,每个相关进程即可对它施行P操作也可以进行V操作,初值为1或资源的数目;
私用信号量:实现进程间的同步,只有一个进程可以对它施行P操作,其它进程只能做V操作,初值为0或某个正整数。
信号量S的物理意义:S>=0表示某资源的可用数,S<0则其绝对值表示阻塞队列中等待该资源的进程数。
PV操作是实现进程同步与互斥的常用方法。PV操作是低级通信原语,其中P操作表示申请一个资源,V操作表示释放一个资源。
P操作定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;否则若S<0,则该进程为阻塞状态,并将其插入阻塞队列。
V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
利用PV操作实现进程的互斥:令信号量mutex的初值为1,当进入临界区时执行P操作,临界区时执行V操作。
P(mutex)
临界区
V(mutex)
怎样利用PV操作实现进程的同步:可用一个信号量与消息联系起来,当信号量的值为0时表示希望的消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用V操作通知消息已准备好。最典型的是单缓冲区的生产者和消费者的同步问题。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要2个信号量,信号量的初值分别为0、1。
9、高级通信原语,因为PV操作不足以描述复杂的进程间的信息交换,所以引入高级通信原语。
高级通信原语有这么几种:共享存储系统、消息传递系统、管道通信。
进程通信有直接和间接两种方式。间接方式是以信箱以为媒介。
10、管程(monitor):另一种同步机制,采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及在其上实施操作的若干过程来进行。对共享资源的申请和释放可以通过过程在数据结构上的操作来实现。
11、进程调度,在某些系统中一个作业从提
交到完成需要经历高、中、低三级的调度。
高级调度(又称长调度、作业调度或接纳调度),它决定输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。
中级调度(又称对换调度),它决定处于交换区中的哪个就绪进程可以调入主存,以便直接参与CPU的竞争。
低级调度(又称进程调度),它决定处于主存中的哪个进程使用CPU。
调度方式,是指当有更高优先级的进程来到时如何分配CPU。调度的方式分为可剥夺式和不可剥夺式两种。
常用的调度算法:先来先服务,主要用于宏观调度,有利于长作业,有利于CPU繁忙的作业;
时间片轮转,主要用于微观调度,提高了并发性和响应时间,最终提高了资源利用率;
优先级调度, 分为静态和动态两种;
多级反馈调度,是在时间片轮转和优先级算法的基础上改进得到。其特点是:照顾了短进程以提高系统吞吐量,照顾I/O型进程以获得较好的I/O设备利用率并缩短响应时间,不必估计进程的执行时间和动态调节优先级。
12、死锁:就是指两个以上的进程相互请求对方已经占有的资源时而导致无法继续运行下去的现象。
几种会产生死锁的情况:进程推进程顺序不当,同类资源分配不当,PV使用不当。
进程资源有向图:由方框、圆圈和有向边3部分组成。其中资源用方框表示,进程用圆圈表示。在方框中每一个小圆圈代表一个资源。有向边分别代表请求资源和分配资源。
死锁产生的原因:因为竞争资源或进程推进顺序非法。进程推进顺序仍是关于进程请求和释放资源的顺序。
死锁产生的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
互斥是说进程对所要求的资源有排它性控制。请求保持是说进程断续地请求资源,但后续的资源被阻塞。环路是指在发生死锁时在进程资源有向图中,每个进程都占有了下一个进程请求的一个或多个资源。
死锁的4种处理:鸵鸟策略;
预防策略,即破坏死锁产生的4个必要条件之一;
避免策略,即精心分配资源,主动回避死锁;
检测与解除死锁
13、线程
传统的进程有两个基本属性,即可拥有资源的独立单位,和可独立调度、分配的基本单位。引入线程后,将传统进程的两个属性分开,线程作为可独立调度和分配的基本单位,进程作为独立拥有资源的单位。因此,用户可以通过创建线程来完成任务,以减少程序并发执行时的时空开销。
14、存储器的结构:(寄存器)--缓存-
主存-辅存。
虚拟地址,又称为逻辑地址、相对地址、程序地址。它是从0号单元开始编址,并顺序分配所有的符号名所对应的地址单元,它不是主存中的真实地址。
地址空间,又称逻辑地址、虚地址。
存储空间,又称物理地址空间,是物理地址的集合。相对地址空间通过地址再定位机构转换到绝对地址空间。
重定位:程序的逻辑地址被转换成主存的物理地址的过程称为地址重定位。分为静态重定位和动态重定位。
静态地址重定位的优点是无需硬件地址变换机构的支持,它的缺点是必须为程序分配连续的存储区域且执行期间不能扩充不能移动并难以共享;
动态地址重定位要依赖于硬件的地址变换机构。它解决了静态重定位的各种缺点。
进行存储管理的目的是:对主存空间进行分配和管理;主存扩充;存储保护;提高空间的利用率。
主存扩充技术,通过交换和覆盖实现,其中交换是由操作系统实现,覆盖是由操作系统提供覆盖机制但由用户进行控制。
15、分区存储管理,按分区方式的不同分为固定分区、可变分区、可重定位分区。
可变分区有4种请求和释放分区的算法:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法。
为减少分区碎片而使用的可重定位算法,基本思想是移动所有已分好的分区,使其靠拢成为连续区域。
分区保护管理:有2种方法。一是"上界/下界寄存器",另一种是"基址/限长寄存器"的方法。其中上界寄存器和基址寄存器都是放的作业的装入地址。下界寄存器放作业的结束地址,限长寄存器放作业的长度。因此调入作业所需要的物理地址必需满足:
上界寄存器<=物理地址<=下界寄存器
或 基址寄存器<=物理地址<=物理地址+限长寄存器
分区管理方案是解决多道程序共享主存的可行方案,但它要求用户的程序必须装入地址连续的空间中。
16、页式存储管理
分页原理:将一个进程的地址空间划分成若干大小相等的区域,称为页。相应地将主存空间划分成与页相同大小的若干物理块,称为块或页框。在为进程分配主存时,将进程中若干页分别装入多个不相邻的块中。
地址结构由2部分组成:页号+页内地址
页表:又称为页面映射表。作用是实现从页号到物理块号的地址映射。
快表:是页表方式的改良,是在地址映射机构中增加一个联想存储器(是由一组高速存储器组成),这就是所谓的快表。它用来保存当前访问频率最高的少数活动页的页号及相关信息。 另外还有一种方
法是增加高速寄存器来保存页表,但这样的成本太大。
两级页表机制:是为了减少页表占用的连续地址空间,而提出的方法。使用两级或多级页表机制来存储页表。
17、分段存储管理
原理:在分段式存储管理系统中,为每个段分配一个连续的分区,而进程中的各个段可以离散地分配到主存的不同分区中。在系统中为每个进程建立一张段映射表,简称段表。每个段在表中占有一个项,记录该段在主存中的起始地址(基址)和段的长度。进程在执行时,通过查段表来到每个段所对应的主存区。因此,段表实现了逻辑段到物理主存区的映射。
分段系统的地址结构:段号(名)+段内地址
特点:段是信息的逻辑单位,因此分段的一个突出优点是易于实现段的共享,即若干个进程共享一个或多个段,而且对段的保护也很简单。在分页系统中,虽然也能实现程序和数据的共享,但远不如分段系统方便。
段页式存储管理,原理是先将主存划分为大小相等的存储块(页框),再将用户程序按程序的逻辑关系分为若干个段,为每个段命名,然后将每个段划分为若干个页,以页架为单位离散分配。
段页式系统的地址结构:段号+段内页号+页内地址
18、虚拟存储管理
程序的局部性:时间局限性和空间局限性。前者指程序中的某条指令或某个存储单元一旦被执行或访问,则在不久的将来可能会再次发生(因为程序中存在着大量的循环操作);后者指一旦程序访问了某个存储单元,则不久的将来该存储单元附近的存储单元也最有可能被访问(因为程序是顺序执行的)。
虚拟存储器,从用户的角度看,是这样一个系统,它所具有的主存容量比实际主存容量大得多。它是根据局部性原理,在一个作业运行之前只把部分程序和数据装入主存,其余部分留在磁盘上。如果要访问的页或段未在主存中(称为缺页或缺段)则将它们调入主存。
虚拟存储器的实现:
请求分页系统,它是在分页系统的基础上,增加了请求调页和页面置换功能后所形成的页式虚拟存储系统。
请求分段系统,它是在分段系统的基础上,增加了请求调段和段置换功能后所形成的段式虚拟存储系统。
请求段页式系统,它是在段页式基础上,增加了请求调页和页面置换功能后所形成的段页式虚拟存储系统。
其中请求分页系统是目前常用的一种虚拟存储器方式。其页面置换算法的好坏直接影响系统性能,不当的置换算法可能会导致系统"抖动"。常用的页面置换算法有:最佳置换算法、先进先出置
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论