操作系统重点(非官方版本)

更新时间:2024-03-12 20:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

声明:非官方版本 本人整理 斟酌使用

操作系统最主要的任务是实现资源共享.

操作系统的目标:1)有效性2)方便性3)可扩充性4)开放性

操作系统的作用:1)OS作为用户与计算机硬件系统之间的接口2)OS作为计算机系统资源的管理者3)OS实现了对计算机资源的抽象

操作系统的基本特性:1)并发性2)共享性3)虚拟技术4)异步性

操作系统的功能:1)处理机管理功能2)存储器管理功能3)设备管理功能4)文件管理功能

操作系统的发展过程:1)无操作系统的计算机系统2)单道批处理系统3)多道批处理系统4)分时系统5)实时系统

批处理操作系统、分时操作系统和实时操作系统是3种基本的操作系统,如果一个操作系统具有批处理、分时处理和实时处理系统三者或其中两者的功能,那就能形成通用操作系统。 单道批处理系统的特征:1)自动性2)顺序性3)单道性

多道批处理系统的优缺点:优点:1)资源利用率高2)系统吞吐量大…缺点:3)平均周转时间长4)无交互能力 多道批处理系统需要解决的问题:1)处理机管理问题2)内存管理问题3)I/O设备管理问题4)文件管理问题5)作业管理问题

分时系统的特征:1)多路性2)独立性3)及时性4)交互性 程序顺序执行时的特征:1)顺序性2)封闭性3)可再现性 程序并发执行时的特征:1)间断性2)失去封闭性3)不可再现性 进程的特征:1)结构特征2)动态性3)并发性4)独立性5)异步性 进程的基本状态:1)就绪2)执行3)阻塞

进程的创建:1)申请空白PCB2)为新进程分配资源3)初始化进程控制块4)将新进程插入就绪队列

//进程的终止过程:1)

管程的定义:代表共享资源的数据结构,以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序,共同构成了一个操作系统的资源管理模块,我们称之为管程。 进程通信的类型:1)共享存储器系统2)消息传递系统3)管道通信 消息传递通信实现方法:1)直接通信方式2)间接通信方式 信箱分类:1)私用信箱2)公用信箱3)共享信箱 实时系统与分时系统的比较:

多路性:实时系统与分时系统一样具有多路性,即系统能同时为多个终端用户服务。

独立性:实时系统与分时系统一样具有独立性,每个终端用户可独立地向实时系统提出服务请求,彼此互不干扰。

及时性:实时信息处理系统对及时性的要求与分时系统类似,都是以用户能接受的等待时间来确定的;而实时控制系统的及时性通常高于分时系统,它是以控制对象所能接受的等待时间来确定的,一般要求秒级、毫秒级甚至微秒级的响应时间。

交互性:实时系统虽然也具有交互性,但其交互性通常不及分时系统。这里,用户与系统的交互,仅限于访问系统中某些特定的专用服务程序,它不像分时系统那样能向终端用户提供数据处理、资源共享等多方面的服务。

可靠性:分时系统也要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何操作都可能带来巨大的经济损失,甚至无法预料的灾难性后果。因此,在实时系统中,常采用多级容错措施来保障系统和数据的安全性。

线程的属性:1)轻型实体2)独立调度和分配的基本单位3)可并发执行4)共享线程资源 进程和线程的关系

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识

别的最小执行和调度单位。

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。

(3)处理机分给线程,即真正在处理机上运行的是线程。

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

线程与进程的比较: 1.调度

在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位。而把进程作 为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而可显著地提高系统的并发程度。在同一进程中,线程的切换不会引起进程的切换,在 由一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。 2.并发性

在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使 用系统资源和提高系统吞吐量。例如,在一个未引入线程的单CPU操作系统中,若仅设置一个文件服务进程,当它由于某种原因而被阻塞时,便没有其它的文件服 务进程来提供服务。在引入了线程的操作系统中,可以在一个文件服务进程中,设置多个服务线程,当第一个线程等待时,文件服务进程中的第二个线程可以继续运 行;当第二个线程阻塞时,第三个线程可以继续执行,从而显著地提高了文件服务的质量以及系统吞吐量。 3.拥有资源

不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。一般地说,线程自己不拥有系统资源(也有一点必 不可少的资源),但它可以访问其隶属进程的资源。亦即,一个进程的代码段、数据段以及系统资源,如已打开的文件、I/O设备等,可供问一进程的其它所有线 程共享。 4.系统开销

由于在创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/o设备等。因此,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。类 似地,在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置。而线程切换只须保存和设置少量寄存器的内容,并 不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。此外,由于同一进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的实现,也变得比较容易。在有的系统中,线程的切换、同步和通信都无须操作系统内核的干预 线程实现方式:1)内核支持线程2)用户级线程3)组合方式

产生死锁的原因:1)竞争资源。当系统中供多个进程共享的资源如打印机.公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁

2)进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。 产生死锁的必要条件:

1)互斥条件:指进程对所分配到的资源进行排它行使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有该资源的进程用毕释放。

2)请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。

3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。

4)环路等待条件:指在发生死锁时,必然存在一个进程-------资源的环形链,即进程集合{P0,P1,P2,P3……Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……….,Pn正在等待已被P0占用的资源。 处理死锁的基本方法

1. 死锁的预防:通过设置某些限制条件,破坏产生死锁的四个必要条件的一个或几个,来防止死锁的发生。但这种方法可能导致资源利用率降低和系统吞吐量降低。

2. 避免死锁:在资源的动态分布过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁,可获得较高资源利用率和系统吞吐量,但实现有困难。

3. 检测死锁:通过系统设置的检测机构确定与死锁有关的进程和资源,采取适当措施,从系统中将发生的死锁除掉。

4. 解除死锁:撤消或挂起一些未发生死锁的进程,以便收回一些资源,再将这些资源分给已处于阻塞状态的进程,使之转为就绪状态以运行

动态分区分配: 动态分区分配是根据进程的实际需要,动态的为之分配内存空间。

分区分配中常用的数据结构:①空闲分区表。在系统中设置一张空闲分区表,用于记录每一个空闲分区的情况。每个空闲分区表站一个表目,表目中包括分区五号、分区始址级分区的大小等数据项 ②空闲分区链,它是一个双向链

分区分配算法: 常用的五种分区分配算法:①首次适应算法②循环首次适应算法③最佳适应算法④最坏适应算法⑤快速适应算法

首次适应算法的优点:该算法倾向于优先利用内存中低址部分的空闲分区,从而保留了高址部分的大空闲

区。为以后达到的大作业分配大的内存空间创造了条件。缺点:低址部分不断被划分,会留下许多难以利用的、很小的空闲分区,,而每次查找又都是从低址部分开始,这无疑会增加查找可用空闲分区时的开销。 循环首次适应算法的优点:该算法能使内存中的空闲分区分布得更均匀,从而减少查找空闲分区时的开销。缺点:缺乏大的空闲分区。

最佳适应算法优点:每次分区后所切割下来的剩余部分总是最小的。缺点:存储器中的会留下许多难以利用的小空闲区。

最坏适应算法优点:总是挑选出一个最大的空闲区分隔给作业使用,使剩下的空闲区不至于太小,产生的碎片的几率最小,对中小作业有利,他是查找效率很高的算法。缺点:他会使存储器中缺乏大的空闲分区。它和首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法一起,也称为顺去搜索法。 快速适应算法优点:查找效率高,仅需要根据进程的长度,寻找到能容纳它的最小空闲区链表,并去下第一块进行分区即可。不会对任何分区产生分隔,所以能保留大的分区,免租对多达空间分区的需求,也不会产生内存碎片。缺点:在分区归还主存时算法复杂,系统开销大。此外,该算法在分配空闲分区时是以进程为单位,一个分区只属于一个进程,因此在为进程所分配的一个分区中,或多或少的存在一定的浪费。空闲分区划分越细,浪费越严重,整体上会造成客观的存储空间浪费。 分区分配操作: 主要操作分为:分配内存和回收内存 回收内存可能出现四种情况:

① 回收区与插入点的前一个空闲分区F1相邻接。此时应将回收去与插入点的前一分区合并,不必为回收

分区分配新表项,而只需要修改其前一分区F1的大小。

② 回收区与插入点的后一个空闲分区F2相邻接。此时应将两个分区合并,形成新的空闲分区,但用会收

取的首址作为新空闲区的首址,大小为两者的和。

③ 回收区与插入点的前后两个空闲分区F2相邻接,此时应将三个分区合并,使用F1的表项和F1的首址,

取消F2的表象,大小为三者的和。

④ 回收区既不与F1邻接也不和F2相邻接。这是要为回收区单独建立以新表项,填写会收取的首址和大小,

并根据首址插入到空闲链在的适当位置。 伙伴系统:

固定分区和动态分区方式都有不足之处。固定分区方式限制了活动进程的数目,当进程大小与空闲分区大小不匹配时,内存空间利用率很低。动态分区方式算法复杂,回收空闲分区时需要进行分区合并等,系统开销较大。伙伴系统方式是对以上两种内存方式的一种折衷方案。

伙伴系统规定,无论已分配分区或空闲分区,其大小均为2的K次冥,K为整数,1<=K<=m,其中:2^1表示分配的最小分区的大小,2^m表示分配的最大分区的大小,通常2^m是整个可分配内存的大小。

在伙伴系统中,起分配和回收的时间性能取决于查找空闲分区的位置和分割.合并空闲分区所花费的时间。 分页和分段的主要区别:

1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。

2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。

3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。 分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。 虚拟存储器的特征:1)多次性2)对换性3)虚拟性 I/O 系统:用于实现数据输入、输出及数据存储的系统。

I/O 设备分类:按使用特性:存储设备和输入/输出设备;按传输速率:低速设备、中速设备和高速设备;按信息交换单位:块设备和字符设备;按共享属性:独占设备、共享设备和虚拟设备。

设备控制器:计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。功能:接收识别命令、数据交换、识别报告设备状态、地址识别、缓冲数据和差错控制。 I/O 通道:一种特殊的的处理机,他具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。通道类型:字节多路通道、数组选择通道和数组多路通道。

DMA控制方式的特点:1)数据传输的基本单位是数据块2)所传送的数据从设备直接送入内存或者相反3)仅在传送一个或多哥数据块的开始和结束时,才需CPU的干预,整块数据的传送是控制器的的控制下完成。 缓冲的引入原因:1)缓存和CPU与I/O设备间的速度不匹配的矛盾2)减少对CPU的终端频率3)提高CPU和I/O设备之间的并行性。

设备独立性:应用程序独立于具体使用的的物理设备。优点:1.设备分配时的灵活性2.易于实现I/O充定向。

设备独立性软件功能:1)执行所有设备的公有操作2)向用户层软件提供统一接口。

什么是SPOOLing系统:在联机情况下实现的同时外围操作成为SPOOOLing,或称为假脱机操作。 SPOOLing系统组成:1)输入井和输出井2)输入缓冲区和输出缓冲区3)输入进程SPi和输出进程SPo。特点:1)提高了I/O的速度2)将独占设备改造为共享设备3)实现了虚拟机设备功能。 磁盘性能:数据组织、磁盘的类型和访问的时间。 文件和文件系统

定义:文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统

文件的基本特征 :文件的内容为一组相关信息 ;文件具有保存性 ;文件可按名存取

文件系统的功能 :完成文件存储空间的管理 ;实现文件名到物理地址的映射;实现文件和目录的操作管

理;提供文件共享能力和安全可靠措施;文件系统向用户提供了有关文件和目录操作的接口。 数据项是最低级的数据组织形式

基于文件系统,数据分为文件、记录、数据项

文件属性包括:文件类型、文件长度、文件物理位置、文件的建立时间。

文件类型分类:①按用途分:系统文件、用户文件、库文件;②按文件中的数据形式分类:源文件、目标文件、可执行文件;③按存取控制属性分析:只执行文件、只读文件、读写文件;④按组织形式和处理方式分类:普通文件、目录文件、特殊文件。⑤按文件的数据流向:输入型文件、输出型文件、输入输出文件。⑥根据使用和管理情况:临时文件、永久文件、档案文件。

文件系统模型三个层次:对象及其属性,对象操纵和管理软件集合,文件系统的接口 文件最基本操作:创建文件、删除文件、读文件、写文件、截断文件和设置文件的读写位置。 文件的逻辑结构和外存分配方式:

文件的逻辑结构分为有结构文件和无结构文件。有结构文件(大量的数据结构和数据库等):定长记录、变长记录、顺序文件、索引文件、索引顺序文件。无结构:源程序、可执行文件、库函数等采用无结构即流式文件。

顺序文件:定义:将一个文件中逻辑上连续的信息存放到磁盘上的依次相邻的块上便形成顺序结构,这类文件叫顺序文件,又称连续文件。连续分配方式:优点:顺序访问容易、速度快。缺点:要求有连续的存储空间、必须事先知道文件的长度。

链式文件:定义:顺序的逻辑记录被存放在不连续的磁盘块上,用指针把这些磁盘块按逻辑记录的顺序链接起来,则形成了文件的链接结构,链接结构的文件称为“链接文件”或“串联文件”。隐式链接:在每个盘块中部含有一个指向下一个盘块的指针;显示链接:把用于链接文件物理块的指针显式地存放在外存的一张链接表(FAT)中。链接分配:优点:消除了外部碎片、显著地提高外存空间的利用率、无需事先知道文件的长度 、插入删除记录容易。缺点:隐式链接,只适合于顺序访问、直接访问低效 、可靠性较差 ;隐式连接,不能支持高效地直接存取、存放链接指针的表会占用较大的内存空间。

索引文件:定义:为每个文件分配一个索引块(用来存放索引的盘块),把分配给该文件的所有盘块号都记录在该索引块中,按照这种分配方式存储的文件就是索引文件。索引分配(单级、多级、混合):优点:支持直接访问。缺点:索引要花费较多的外存空间。

索引顺序文件:最常见的一种逻辑文件形式。(除上述之外还有直接文件和哈希文件)

NTFS文件系统的物理文件:NTFS是一个可恢复的,安全高效的文件系统,NTFS在设计时还考虑到了支持多数据流,西欧字符集名称和坏簇重定向功能。NTFS文件系统与FAT文件系统相比最大的特点是安全性,NTFS提供了服务器或工作站所需的安全保障。

文件目录管理应达到的要求:实现“按名存取” 、提高对目录的检索速度、文件共享、允许文件重名。 文件控制块包含:1)基本信息类(文件名、物理位置、文件逻辑结构、文件物理结构)2)存取控制信息类(文件主的存取权限)3)使用信息类(建立时间、修改时间、当前使用信息)

文件目录结构:文件系统把若干个文件的文件目录组织成一个独立的文件,这个全部由文件目录组成的文件称为目录文件。一级目录结构:实现方式:最简单的文件目录,在操作系统中构造一张线性表,与每个文件有关的说明信息占用一个目录项。优点 :实现容易、管理简单、实现了按文件名存取。缺点:查找速度慢,不允许重名。二级目录:实现方式:第一级为主文件目录,用于管理所有用户文件目录,它的目录项登记了系统用户的名字及该用户文件目录的地址。第二级为用户文件目录,它为该用户的每个文件保存一登记栏,其内容与一级目录的目录项相同 。优点:提高了检索速度,实现了对文件的保密和保护、允许不同用户使用相同的文件名、可以实现文件共享。多级文件目录结构:实现方式:主文件目录演变为根目录。根目录项既可以表示一个普通文件,也可以是下一级目录的目录文件一个说明项。如此层层类推,形成了一个树型层次结构。优点:解决了文件重名问题、有利于文件的分类、便于制定保护文件的存取权限,有利于文件的保密。

目录查询:线性检索、hash方法。

文件存储空间的管理:空闲表法、空闲链表法、位图法、成组连接法。

本文来源:https://www.bwwdw.com/article/a5k8.html

Top