操作系统结构

操作系统结构
操作系统结构

1.2操作系统结构设计

操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。操作系统的结构设计有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。采用不同的构件和构造方法可组成不同结构的操作系统。本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。

操作系统的组件

通常把组成操作系统程序的基本单位称作操作系统的构件。剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。

1.内核

现代操作系统中xx采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。

由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内核(microkernel),其他功能都在核外实现,通过微内核提供

的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核(monolithic kernel)。操作系统的一个基本问题就是内核的功能设计。微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。

一般而言,内核必须提供以下3个方面的功能。

(1)xx处理。xx处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽xx的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。当xx事件产生时,先由内核截获并转向xx处理例行程序进行原则处理,它分析xx事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。例如,产生外围设备结束xx事件时,内核首先分析是否正常结束,如果是正常结束,那么,就应释放等待该外围传输的进程;否则启动相应设备管理进程进行出错或异常处理。又如当操作员请求从控制台输入命令时,内核将把这一任务转交给命令管理进程去处理,以接收和执行命令。

(2)短程调度。主要职能是分配处理器。当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。短程调度按照一定的策略管理处理器的转让,以及完成保护和恢

复现场的工作。由于它是协调进程竞争处理器资源的程序,所以它不是进程而是内核中的一个程序。

(3)原语管理。原语是内核中实现某一功能的不可xx过程。为了协调进程完成通信、并发执行和共享资源,各种原语是必不可少的。通信原语为进程相互传递消息,同步原语能协调并发进程之间的种种制约关系。此外,还有其他原语,如启动外围设备工作的启动原语,若启动不成功则请求启动者应等待,显然,这个启动过程应该是完整的,否则在成为等待状态时,可能外围设备已经空闲。由于设备的操作与硬件密切相关,故通常设备驱动程序等功能都放在内核中完成。

内核是操作系统对裸机的首次改造,内核和裸机组成了一台虚拟机,进程就在这台虚拟机上运行,它比裸机的功能更强大,具有以下特性:

(1)虚拟机没有xx,因而,进程的设计者不再需要有硬件xx

的概念,用户进程执行中无须处理xx;

(2)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好像在各自的私有处理器上顺序地推进,实现了多个进程的并发执行;

(3)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令、系统调用和原语所组成的新的指令系统。

为了保证系统的有效性和灵活性,设计内核应遵循少而精的原则。如果内核功能过强,则一方面在修改系统时可能牵动内核;另一方面它占用的内存容量和执行时间都会增大,且屏蔽xx的时间过长也会影响系统效率。因而,设计内核时应注意:xx处理要简单;调

度算法要有效;原语应灵活有力、数量适当。这样就可以做到下次修改系统时,尽量少改动内核,执行时xx屏蔽时间缩短。

2.进程管理

程序本身并不能做什么,只有在CPU执行它的指令时才能有所作为;因此,可以把进程看做是正在运行的程序。但是当我们进一步研究时,对进程的定义将更为普遍。例如:一个分时用户程序(如编译器)是一个进程,个人用户在PC 上运行的字处理程序是一个进程,一个系统任务(如输出到打印机)也是一个进程,并可以提供允许进程创建与其并发执行的子进程的系统调用。

进程需要特定的资源(包括CPU时间、内存、文件和I/O设备)来完成工作。这些资源或者在进程创建时分配给它,或者在其运行时分配。除了在进程创建时所获得的各种物理资源和逻辑资源以外,各种各样的初始化数据(或输入)也可能一同传送给进程。例如,考虑一个能够在终端的显示屏上显示一个文件状态的进程。这个进程将获得包含输入的文件名,将执行相应的指令和系统调用来获取所期望的信息并显示在终端上。

着重强调程序本身不是进程;程序是静态实体(passive entity)(好像是存储在磁盘中的文件的内容),而进程是动态实体(active entity),它用一个程序计数器来指明要执行的下一条指令。进程必须要按顺序执行,CPU执行完进程的一条指令后再执行下一条,直到进程结束。进一步地讲,一次最多执行一条代表该进程的指令。这样,从来就不会出现两个独立运行的序列。但一个程序在运行时创建多个

进程是非常普遍的。

进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计,由于进程能确切、动态地刻画计算机系统内部的并发性,更好地解决系统资源的共享性,所以,在操作系统的发展史上,进程概念被较早地引入了系统。它在操作系统的理论研究和设计实现上均发挥了重要作用。采用进程概念使得操作系统结构变得清晰,主要表现如下。

(1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。

(2)进程之间的交互如信号发送、消息传递和同步互斥等活动由通信及同步机制完成,从而使进程无法有意或无意破坏其他进程的数据。因此,每个进程相对独立,相互隔离,提高了系统的xx和可靠性。

(3)进程结构较好地刻画了系统的并发性,动态地描述出系统的执行过程,因而具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。

3.主存储器管理

主存储器是现代计算机系统运行的核心。主存储器是由字或字节组成的大型队列,每个字或字节都有它自己的地址。主存储器是CPU 和I/O 设备共享的大容量快速存储器。中央处理器在取指令周期中从主存储器中读取指令,而且在取数据周期中从主存储器中读/写数据。通过DMA(动态内存存取),I/O操作也实现了对主存储器的数

据读/写。通常主存储器是CPU唯一能够直接寻址和访问的大容量存储空间。例如,CPU要处理磁盘中的数据,那么 CPU首先发出I/O调用将这些数据传送到主存储器中。同样,指令必须在存储器中才能够由CPU执行。

必须要把程序映射到绝对地址并载入内存中才可以执行。在程序运行时,它通过产生绝对地址来从内存中访问程序指令和数据。最后,程序结束,释放所占的内存空间,方便下一个程序载入。

为了提高CPU利用率和计算机响应速度,必须在内存中保留多个程序。有许多不同的内存管理策略,而且不同算法的效率取决于具体的环境。为具体的系统选择内存管理策略要考虑许多因素——尤其是系统的硬件设计。每种算法都需要自己的硬件支持。

操作系统要负责下列与内存管理相关的工作:

跟踪内存使用情况,明确哪一部分正在使用和为谁所用;

在内存空间有效时决定将哪个进程载入内存;

根据需要分配和释放内存空间。

4.文件管理

文件管理是操作系统中可视性最强的组件之一。计算机能够将数据存储在各种类型的物理介质上。磁带、磁盘和光盘是最常用的介质。每种介质都有自己的特性和物理结构。每个存储媒体由一个驱动器控制(如磁盘驱动器或磁带驱动器),这种驱动器也有自己的独有特性。这些特性包括访问速度、容量、数据传输率和存取方式(顺序的或随机的)。

为了便于使用计算机系统,操作系统提供了一个计算机系统的整体逻辑层面。操作系统把存储设备的物理属性抽象定义为一个逻辑存储单元——文件。文件被映像到物理媒介中,通过存储设备来访问这些文件。

文件是由其创建者定义的相关信息的集合。一般的文件表现为程序(源程序和目标代码)和数据。数据文件可能是数字的、字母的或二者混合的。文件可能是形式自由的(如文本文件),也可能有严格定义的格式(如固定字段)。由字、字节、行或记录组成的文件结构是其创建者定义的。文件概念具有相当广泛的含义。

操作系统通过管理大容量存储体(如由驱动器控制的磁盘和磁带)实现了文件的抽象概念。另外,为了更简易地使用文件,通常将他们组织到目录中。最后,如果有多个用户访问文件,可能需要控制谁以什么样的方式访问(例如:读、写、追加)。

操作系统要负责下列与文件管理相关的工作:

创建和删除文件;

创建和删除目录;

将文件映像到辅助存储器中;

将文件备份到永久(非易失性)存储体中。

5.I/O系统管理

操作系统的目的之一就是要向用户隐藏具体的硬件特性。例如,在UNIX 中,通过I/O 子系统向操作系统隐藏了I/O设备的特性。I/O 子系统由以下几个方面组成:

一个内存管理模块,这包括Buffering、Caching 和SPOOLing;

一个通用设备驱动程序接口;

针对具体硬件设备的驱动程序。

6.辅助存储器管理

操作系统的主要目的是执行程序。这些程序在运行时(以及它们要访问的数据)都必须在主存储器中。因为主存储器的容量太小不能存储所有的程序和数据,而且掉电后会丢失所有的存储信息,所以计算机系统必须要提供辅助存储器作为主存储器的后备。大多数现代计算机系统使用磁盘作为存储程序和数据的主要联机存储体。大多数程序(包括编译程序、汇编程序、排列程序、编辑程序和xx程序)在载入内存之前存储在磁盘上,并且在运行时利用磁盘存储它们所处理的源文件和目标文件。因此,合理的磁盘管理对一个计算机系统来说是至关重要的。

操作系统要负责下列与辅助存储器管理相关的工作:

空闲空间管理;

空间分配;

磁盘调度。

因为频繁地使用辅助存储器,所以必须要能够高效运行。而且计算机的整体运行速度取决于磁盘子系统的速度和该子系统实现算法的效率。

7.网络管理

分布式系统是一个处理机的集合,这些处理机既不共享内存和外

围设备,也不共享时钟。而是每个处理机拥有自己的本地内存和时钟,并且这些处理机可以通过各种通信线路(如高速总线或网络)进行通信。一个分布式系统中的处理机在规模和功能上有所不同,其中可能包括小型微处理器、工作站、小型机和大型通用计算机。

在(分布式)系统中,处理机通过通信网络xx,有多种不同的方法可以配置该网络。这种网络可以完全或部分地连接。通信网络的设计必须要考虑报文路由选择和连接策略,以及争用和安全的问题。

分布式系统将物理上相互独立的可能不同种类的系统集合成为

一个独立相连的系统,它具有向用户提供访问由系统维护的各种资源的能力。对共享资源的访问加快了计算速度、增强了系统功能、提高了数据的可用性并加强了可靠性。操作系统把网络细节包含在了网络接口设备驱动程序中,于是将网络访问泛化为一种文件访问的形式。因此,分布式系统所使用的协议在很大程度上影响到系统的效率和xx。

8.系统保护

如果一个计算机系统有多个用户并允许并行执行多个进程,那么必须要保护各个进程免受其他进程的侵扰。为此,需要提供一种机制来保证只有那些从操作系统获取了合适权限的进程能够操作文件、存储段、CPU和其他资源。

例如,内存寻址硬件确保了一个进程只能在自己的地址空间内执行,计时器确保进程最终能够放弃对CPU的控制,用户不能够访问设备控制寄存器;这样,就保护了各种外围设备的完整性。

保护是操作系统定义的控制程序,是进程或用户访问的机制。这个机制必须要提供一种方法来描述要施加的控制,以及强制执行的方法。

通过检测子系统接口中潜伏的错误,保护能够增强系统的可靠性。对接口错误的早期检测常常能够阻止一个子系统故障xx到其他正常的子系统。一个未受保护的资源难以防止未授权或不适当的用户的使用(或误用)。一个面向保护的系统提供了一种区分授权的和未授权的使用方法。

9.操作系统服务

操作系统提供了程序运行的环境。它为程序和程序用户提供了特定的服务。当然,不同的操作系统提供的具体服务不同,但是我们能够找出其共同部分。提供的这些操作系统服务是为了便于程序员设计程序。具体如下。

程序执行:系统必须能够将程序载入内存并运行它。程序必须能够正常地或异常地(指示错误)结束运行。

I/O 操作:一个正在运行的程序可能要请求I/O 操作。这可能会涉及文件或I/O 设备。针对具体的设备,需要特定的功能(如倒卷一个磁带驱动器或清空一个CRT屏幕显示)。出于系统效率和保护的原因,用户通常不能够直接控制I/O 设备。因此,操作系统必须要提供一种I/O 运行机制。

文件系统处理:文件系统相当有意思。显然,程序需要能够读写文件,也要能够创建和删除文件。

通信:在很多情况下,一个进程需要与另外一个进程交换信息。通信有两种主要的方式。第一种方式是在运行在同一台计算机上的进程间通信;另外一种方式是运行在由一个计算机网络连接的不同的计算机系统上的进程间通信。可以通过共享存储器或报文传送(这种方式中,操作系统在进程之间将信息打包移动)的方式实现进程间的通信。

错误检测:操作系统需要经常注意可能发生的错误。错误可能发生在CPU、内存(如存储错误或电源故障)、I/O 设备(如磁带奇偶检验错误、连结网络失败或打印机缺纸)及用户程序(如运算溢出、试图访问非法存储器地址或过多占用CPU 时间)中。对于每种类型的错误,操作系统应该能够采取针对性措施以确保计算的正确性和相容性。

另外,操作系统还存在另外一些功能,它们不是为了帮助用户工作,而是为了确保系统本身的高效运行。如:

资源分配:当多个用户登录到系统中或同时有多个作业运行时,必须要在它们之间分配资源。操作系统管理许多不同类型的资源。有些资源(如CPU 周期、主存储器和外存储器)可能有专用的分配代码,而其他的(如I/O 设备)可能有更通用的请求和释放代码。例如,在决定如何最好地使用CPU 的问题上,操作系统的CPU 调度程序要考虑CPU 速度、必须要执行的作业、有效的寄存器数量和其他的一些因素;

账户管理:我们希望跟踪记录每个用户使用哪些类型的计算机资

源和用了多少。这个记录保持可能用于记账(以便用户付账)或简单地用于累加使用率统计。对于研究者来说,使用率统计可能是个有效的工具。利用使用率统计,研究者可以重新配制系统以改善计算服务;

保护:存储在多用户计算机系统上的信息的所有者希望能够控制对该信息的使用。当多个不相关的进程并发执行时,一个进程不应该能够干扰其他进程或操作系统本身。保护包括了监控所有对系统资源的访问。对来自外界的系统安全检测(security)也是非常重要的。这种保护往往通过密码的方式,用户向系统验证口令才能访问资源。它也包括了保护外部I/O 设备(包括调制解调器和网络适配器)免于非法的访问企图和记录所有这样的非法闯入。如果一个系统受到保护并且是安全的,那么就必须要建立预防措施。一般,系统的安全强度与其最薄弱的一个环节密切相关。

操作系统功能的实现模型

操作系统本身是一组程序,像其他程序一样也在处理器上执行,那么,操作系统程序是否组织成进程?它是如何控制和怎样执行的呢?下面来讨论这个问题。从操作系统的执行方式来看,可以把它分成:非进程内核模型、OS功能(函数)在用户进程内执行的模型和OS功能(函数)作为独立进程执行的模型3种。

1.非进程内核模型

许多老式操作系统的实现采用非进程内核模型,即操作系统的功能都不组织成进程来实现,如图1-2所示,该模型包括一个较大的操作系统内核程序,进程的执行在内核之外。当xx发生时,当前运

行进程的上下文现场信息将被保存,并把控制权传递给操作系统内核。操作系统具有自己的内存区和系统堆栈区,用于控制过程调用和返回。它将在核心态执行相应的操作,并根据xx的类型和具体的情况,或者是恢复被xx进程的现场并让它继续执行,或是转向进程调度指派另一个就绪进程运行。

在这种情况下,进程的概念仅仅是针对用户程序而言的,操作系统代码作为一个独立实体在内核模式下运行。

2.OS功能在用户进程内执行的模型

小型机和工作站操作系统(如UNIX等)往往采用OS的所有功能在用户进程内执行的模型,如图1-3所示,在这种实现模型中,大部分操作系统功能组织成一组例行程序供用户程序调用,认为操作系统例程与用户进程是上下文相关的,操作系统的地址空间被包含在用户进程的地址空间中;因而,操作系统例行程序也在用户进程的上下文环境中执行。图1-4给出了OS的所有功能在用户进程内执行的模型中的进程映像,它既包含进程控制块、用户堆栈、xx用户程序和数据的地址空间等,还包括操作系统内核的程序、数据和系统堆栈区。

当发生一次xx或系统调用后,处理器状态将被置成内核模式,控制从用户进程手中被剥夺并传递给操作系统例行程序。此时,发生了模式切换,模式上下文(现场)信息被保存,但是进程上下文切换并没有发生,操作系统仍在该用户进程中执行,提供单独的内核堆栈

用于管理进程在核心态下执行时的调用和返回,操作系统例行程序和数据放在共享地址空间,且被所有用户进程共享。

当操作系统例程完成了工作之后,如果让当前进程继续运行的话,就可以做一次模式切换来恢复执行原先被xx的用户进程。这种技术提供了不必要通过进程上下文切换就可以xx用户进程来调用操作系统例行程序的手段。如果发生进程切换,控制就被传递给操作系统的进程切换例行程序,由它来实现进程切换操作,把当前进程的状态置为非运行状态,而指派另一个就绪进程来占有处理器运行。需要指出的是,一些系统中进程切换例行程序是在当前进程中执行的,而另一些系统则不是。

3.OS功能作为独立进程执行的模型

OS 功能作为独立进程执行的模型把操作系统组织成一组系统进程、即操作系统功能是这些系统进程集合运行的结果,这些系统进程也称为服务器或服务器进程,于是与用户进程或其他服务器进程之间构成了Client/Server 关系,Windows 2000/XP采用了这种结构。如

图1-5所示,除了极少部分功能在内核模式下运行,大部分操作系统功能被组织在一组分离的独立进程内实现,这组进程在用户模式下运行,而进程切换例行程序的执行仍然在进程之外。

这一实现模型有很多优点。首先,它采用了模块化的操作系统实现方法,模块之间具有最少和简洁的接口。其次,大多数操作系统功能被组织成独立的进程,有利于操作系统的实现、配置和扩充,如性能监控程序用来记录各种资源的利用率和系统中用户进程的执行速度,由于这些程序并不提供给进程特别的服务,仅仅被操作系统调用,把它设计成一个服务器进程,便可赋予一定的优先级,夹在其他进程中运行。最后,这一结构在多处理器和多计算机的环境下非常有效,一些操作系统服务可指派到专门处理器上执行,有利于系统性能的改进。

移动终端操作系统架构概览解剖

现有的终端操作系统: Android、Windows Mobile、Symbian、iPhone、BlackBerry、Windows Phone 7、Beda Android操作系统 Android是Google公司基于Linux平台的开源智能移动终端操作系统。 历代Android 系统的名称,这真的是一份小吃的盛宴啊: Android 1.5 Cupcake(纸杯蛋糕) Android 1.6 Donut(甜甜圈) Android2.0/2.0.1/2.1 Eclair(松饼) Android 2.2/2.2.1 Froyo(冻酸奶) Android 2.3 Gingerbread(姜饼) Android 3.0/3.1/3.2 Honeycomb(蜂巢) Android 4.0 Ice Cream Sandwich(冰激凌三明治) Android 5.0 Jelly Bean(果冻豆) Android 6.0 Key Lime Pie(柠檬派) Android是一个针对移动设备的程序集, 其中包括一个操作系统, 一个中间件和一些关键性应用. 特性 ?程序程序框架可重用及可复写组件组成 ?针对移动设备优化过的Dalvik虚拟机 ?整合浏览器, 该浏览器基于开源的WebKit引擎开发 ?提供了优化过得图形系统, 该系统由一个自定义的2D图形库; 一个遵循OpenGL ES 1.0标准(硬件加速)的3D图形库组成 ?使用SQLite来实现结构化数据的存储 ?媒体方面对一些通用的audio, video, 和图片格式提供支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ?GSM技术(依赖硬件) ?蓝牙, EDGE, 3G和WiFi(依赖硬件) ?Camera, GPS, 指南针, 和加速计(依赖硬件) ?非常丰富的开发环境, 包括一个设备模拟器, 调适工具, 内存和效率调优工具和一个Eclipse的插件ADT Android平台的整体架构分为4层:①Linux内核层、②系统运行库、③应用程序框架层、④应用程序层Android采用层次化系统架构。其软件层次结构包括操作系统(OS)、中间件(MiddleWare)和应用程序(Application)。

操作系统1

操作系统的基本特征 1.并发:同一段时间内多个程序执行(注意区别并发和并行,前者是同一时刻的多个事 件,后者是统一时间段内的多个事件) 2.共享:系统中的资源可以被内存中多个并发执行的进线程共同使用 3.虚拟:通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个 物理实体虚拟为多个 4.异步:系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进操作系统的主要功能 1.处理机管理:处理机分配都是以进程为单位,所以处理机管理也被看做是进程管理。 包括进程控制,进程同步,进程通信和进程调度 2.存储器管理(或者内存管理):内存分配,内存保护,地址映射,内存扩充 3.设备管理:管理所有外围设备,包括完成用户的IO请求;为用户进程分配IO设备; 提高IO设备利用率;提高IO速度;方便IO的使用 4.文件管理:管理用户文件和系统文件,方便使用同时保证安全性。包括:磁盘存储 空间管理,目录管理,文件读写管理以及文件共享和保护 5.提供用户接口:程序接口(如API)和用户接口(如GUI) 进程和线程的区别 进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(具有动态、并发、独立、异步的特性,以及就绪、执行、阻塞3种状态;也有5状态或者7状态;资源拥有单位的属性);引入进程是为了使多个程序可以并发的执行,以提高系统的资源利用率和吞吐量。 线程:是比进程更小的可独立运行的基本单位,可以看做是轻量级的进程(具有轻型实体,独立调度分派单位,可并发执行,共享进程资源等属性);引入目的是为了减少程序在并发执行过程中的开销,使OS的并发效率更高。 两者的对比: 1. 调度方面:在引入线程的OS中,线程是独立的调度和分派单位,而进程作为资源的拥有单位(相当于把未引入线程的传统OS中的进程的两个属性分开了)。由于线程不拥有资源,因此可以显著的提高并发度以及减少切换开销。 2. 并发性:引入了线程的OS中,进程间可以并发,而且一个进程内部的多个线程之间也是可以并发的,这就使OS具有更好的并发性,有效的提高了系统资

操作系统自学考试复习资料及答案

操作系统自学考试复习资料 一、单项选择题 ()1.操作系统是一种: A.系统软件 B.系统硬件 C.应用软件 D.支援软件 ()2.下列操作系统中,交互性最强的是: A.批处理操作系统 B.实时操作系统 C.分时操作系统 D.网络操作系统 ()3.UNIX操作系统属于交互式操作系统。 A.批处理操作系统 B.实时操作系统 C.分时操作系统 D.分布式操作系统 ()4.操作系统通过管理进程。 A. 作业控制块 B. 进程控制块 C.文件控制块 D.设备控制块 ()5.把用户作业的相对地址转换成绝对地址的工作称为: A.地址逻辑话 B.地址重定位 C.地址绝对化 D.地址相对化 ()6.固定分区存储管理中,每个连续分区的大小是: A.相同的 B.不相同的 C.可以变化的 D.预先固定划分,可以相同,也可以不同 ()7.存储分配算法中,采用“总是把程序装入主存中最大的空闲区域”的算法是: A.最优适应算法 B. 最坏适应算法 C.最先适应算法 D. 最后适应算法 ()8.存储在相联存储器中的部分页表称为: A. 相联页表 B. 页表 C. 段表 D.快表 ()9.按保护级别,文件可以分为: A.系统文件和用户文件 B.只读文件、读写文件、执行文件 C.输入和输出文件 D.临时文件、永久文件、档案文件 ()10.文件采用二级目录结构,可以: A.节省空间 B.实现文件保护 C.缩短存储时间 D.解决不同用户之间的文件名的冲突

()11.文件的逻辑结构类型包括流式文件和: A.纪录式文件 B.顺序文件 C. 链接文件 D.索引文件 ()12.以下哪种不是常用的磁盘存储空间管理方法: A.位示图法 B.先进先出法 C. 空闲块表法 D. 空闲块链法 ()13.操作系统为每个文件开辟一个存储区,存放该文件的有关信息,这就是: A.进程控制块 B.作业控制块 C.文件控制块 D.设备控制块 ()14.利用SPOOLing技术可以提高的利用率。 A.内存 B. 辅存 C. 共享设备 D.独享设备 ()15.一般,缓冲区位于: A.内存 B.辅存 C.寄存器 D.设备控制器 ()16. 计算机系统结构由硬件系统和组成。 A. 软件系统 B. 输入设备 C.输出设备 D.CPU ()17.处理机调度分为作业调度和调度两级。 A. 进程 B. 设备 C. 磁盘 D.文件 ()18. 地址重定位包括静态重定位和两种方式。 A. 动态重定位 B.地址绑定 C.地址映射 D.动态绑定 ()19. 单用户连续存储管理中,内存中最多可以存放运行用户作业的个数为: A.0 B. 1 C. 2 D.3 ()20.用来指出相对地址中页号和主存中块号的对应关系的是: A.快表 B. 页表 C.慢表 D.段表 ()21. 下面哪种不是文件在磁盘的组织方式: A.串联结构 B. 顺序结构 C. 链接结构 D.索引结构 ()22. 参与死锁的进程至少个。 A.2 B.3 C. 4 D.5 ()23. 磁盘存储空间的每一块的位置应由参数、磁盘号和扇区号确定。 A. 柱面号 B.磁头号 C. 盘面号 D.块号 ()24. 进程从就绪状态进入运行状态的原因可能是: A. 被选中占有处理机 B. 等待某一事件 C. 等待的事件已发生 D. 时间片用完 ()25. 文件系统采用多级目录结构后,对于不同用户的文件,其文件名:

操作系统复习资料1

操作系统概论模拟试题一 一.单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分) 1. 在多道程序环境下,操作系统分配资源的基本单位是( ) A.进程 B.线程 C.程序 D.作业 2. 在段页式系统中(无快表),为获得一条指令或数据,必须( )访问内存。 A. 1次 B. 2次 C. 3次 D. 4次 3. 最有利于提高系统吞吐量的作业调度算法是( )。 A. 先进先出算法 B. 优先级调度算法 C. 时间片轮转算法 D. 短作业优先调度算法 4. 对于P,V操作,下列说法正确的是() A. 执行一次P操作,可以理解为唤醒一个进程 B. 执行一次V操作,可以理解为唤醒一个进程. C. 执行一次P操作,可以理解为释放一个资源. D. 执行一次V操作,可以理解为挂起一个进程. 5. 有关并发进程相互之间的关系,正确的说法是( ) A.肯定是无关的 B.肯定是有交往的 C.可能是无关的,也可能是有交往的 D.一定要互斥执行 6. 单用户连续存储管理中地址重定位的硬件执行机构是() A.界限寄存器B.基址寄存器 C.不需要的D.下限寄存器 7. 指定扇区旋转到磁头位置所需的时间称为()时间。 A.寻找B.延迟 C.传送D.旋转 8. 多道程序环境下,操作系统分配资源以()为基本单位。 A.程序 B.指令 C.进程 D.作业 9. 操作系统是一种系统软件,它的职能是() A.只管理软件 B.只管理硬件 C.既不管理硬件,也不管理软件 D.既管理硬件,也管理软件 10. 采用多道程序设计能() A.增加平均周转时间B.发挥且提高并行工作能力 C.缩短每道程序执行时间D.降低对处理器调度的要求 二.填空题(将正确的答案填入下列空格,每格1分,共10分) 1. 计算机系统包括(硬件)和(软件)两大部分 2. 进程最基本的三态为(运行)、(就绪)、(等待) -

操作系统简答题(含答案)

1.OS的主要功能 操作系统的基本功能:处理机管理、存储管理、设备管理、信息管理(文件系统管理)、用户接口。 2.OS有哪三种类型?各有什么特点? 操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。 批处理操作系统的特点是:多道和成批处理。 分时系统具有多路性、交互性、“独占”性和及时性的特征。 实时系统特点:及时响应和高可靠性 3.OS的基本特征是什么? 并发性、共享性、虚拟技术、异步性 4.OS一般为用户提供了哪三种接口?各有什么特点? 1.联机命令接口 提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。 2.程序接口 程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。3.图形界面接口 通过图标窗口菜单对话框及其他元素,和文字组合,在桌面上形成一个直观易懂使用方便的计算机操作环境. 5.OS主要有那些类型的体系结构? 单体结构、层次结构、微内核结构与客户机-服务器模型、虚拟机结构 6.多道程序设计的主要特点是什么? 多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。 [特点]:多道、宏观上并行(不同的作业分别在CPU和外设上执行)、微观上串行(在单CPU上交叉运行)。 7.OS在计算机系统中处于什么地位? 操作系统在计算机系统中占有特殊重要的位置,所有其他软件都建立在操作系统基础上,并得到其支持和服务;操作系统是支撑各种应用软件的平添。用户利用操作系统提供的命令和服务操纵和使用计算机。可见,操作系统实际上是一个计算机系统硬件、软件资源的总指挥部。操作系统的性能决定了计算机系统的安全性和可靠性。 8.解释一下术语:进程、进程控制块、进程映像、线程、进程的互斥和同步、临界区和临 界资源、竞争条件、原语、信号量、管程、死锁、饥饿 进程:进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立的基本单位。 进程控制块(Procedure Control Block):使一个在多道程序环境下不能独立运行的程序(含

操作系统结构

操作系统结构设计 操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。操作系统的结构设计 有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。采用不同的构件和构造方法可组成不同结构的操作系统。本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。 1.2.1 操作系统的组件 通常把组成操作系统程序的基本单位称作操作系统的构件。剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。 1.内核现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。 由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内 核(microkernel ),其他功能都在核外实现,通过微内核提供的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核 (monolithickernel )。操作系统的一个基本问题就是内核的功能设计。微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。 一般而言,内核必须提供以下 3 个方面的功能。 (1)中断处理。中断处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽中断的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。当中断事件产生时,先由内核截获并转向中断处理例行程序进行原则处理,它分析中断事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。例如,产生外围设备结束中断事件时,内核首先分析是否正常结束,如果是正常结束,那么,就应释放等待该外围传输的进程;否则启动相应设备管理进程进行出错或异常处理。又如当操作员请求从控制台输入命令时,内核将把这一任务转交给命令管理进程去处理,以接收和执行命令。 (2)短程调度。主要职能是分配处理器。当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。短程调度按照一定的策略管理处理器的转让,以及完成保护和恢复现场的工作。由于它是协调进程竞争处理器资源的程序,所以它不是进程而是内核中的一个程序。 (3)原语管理。原语是内核中实现某一功能的不可中断过程。为了协调进程完成通信、并发执行和共享资源,各种原语是必不可少的。通信原语为进程相互传递消息,同步原语能协调并发进程之间的种种制约关系。此外,还有其他原语,如启动外围设备工作的启动原语,若启动不成功则请求启动者应等待,显然,这个启动过程应该是完整的,否则在成为等待状态时,可能外围设备已经空闲。由于设备的操作与硬件密切相关,故通常设备驱动程序等功能都放在内核中完成。 内核是操作系统对裸机的首次改造,内核和裸机组成了一台虚拟机,进程就在这台虚拟机上运行,它比裸机的功能更强大,具有以下特性: (1)虚拟机没有中断,因而,进程的设计者不再需要有硬件中断的概念,用户进程执行中无须处理中断; (2)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好像在各自的私有处理器上顺序地推进,实现了多个进程的并发执行; (3)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令、系统调用和原语所组成的新的指令系统。 为了保证系统的有效性和灵活性,设计内核应遵循少而精的原则。如果内核功能过强,则一方面在修改系统时可能牵动内核;另一方面它占用的内存容量和执行时间都会增大,且屏蔽中断的时间过长也会影响系统效率。因而,设计内核时应注意:中断处理要简单;调度算法要有效;原语应灵活有力、数量适当。这样就可以做到下次修改系统时,尽量少改动内核,执行时中断屏蔽时间缩短。 2.进程管理 程序本身并不能做什么,只有在CPL执行它的指令时才能有所作为;因此,可以把进程看做是正在运行的程序。但是当我们进一步研究时,对进程的定义将更为普遍。例如:一个分时用户程序(如编译器)是一个进程,个人用户在PC上运行的字处理程序是一个进程,一个系统任务(如输出到打印机)也是一个进程,并可以提供允许进程创建与其并发执行的子进程的系统调用。 进程需要特定的资源(包括CPU寸间、内存、文件和I/O设备)来完成工作。这些资源或者在进程创建时分配给它,或者在其运行时分配。除了在进程创建时所获得的各种物理资源和逻辑资源以外,各种各样的初始化数据(或输入)也可能一同传送给进程。例如,考虑一个能够在终端的显示屏上显示一

1计算机操作系统复习要点2

1计算机操作系统复习要点2 操作系统的基本特征 ?并发:同一段时间内多个程序执行(注意区别并发和并行,前者是同一时刻的多个事件,后者是统一时间段内的多个事件) ?共享:系统中的资源可以被内存中多个并发执行的进线程共同使用 ?虚拟:通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个 ?异步:系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进 操作系统的主要功能 ?处理机管理:处理机分配都是以进程为单位,所以处理机管理也被看做是进程管理。包括进程控制,进程同步,进程通信和进程调度 ?存储器管理(或者内存管理):内存分配,内存保护,地址映射,内存扩充 ?设备管理:管理所有外围设备,包括完成用户的IO请求;为用户进程分配IO设备;提高IO设备利用率;提高IO速度;方便IO的使用 ?文件管理:管理用户文件和系统文件,方便使用同时保证安全性。包括:磁盘存储空间管理,目录管理,文件读写管理以及文件共享和保护 提供用户接口:程序接口(如API)和用户接口(如GUI) 进程和线程的区别 进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(具有动态、并发、独立、异步的特性,以及就绪、执行、阻塞3种状态;也有5状态或者7状态;资源拥有单位的属性);引入进程是为了使多个程序可以并发的执行,以提高系统的资源利用率和吞吐量。 线程:是比进程更小的可独立运行的基本单位,可以看做是轻量级的进程(具有轻型实体,独立调度分派单位,可并发执行,共享进程资源等属性);引入目的是为了减少程序在并发执行过程中的开销,使OS的并发效率更高。

两者的对比: 1. 调度方面:在引入线程的OS中,线程是独立的调度和分派单位,而进程作为资源的拥有单位(相当于把未引入线程的传统OS中的进程的两个属性分开了)。由于线程不拥有资源,因此可以显著的提高并发度以及减少切换开销。 2. 并发性:引入了线程的OS中,进程间可以并发,而且一个进程内部的多个线程之间也是可以并发的,这就使OS具有更好的并发性,有效的提高了系统资源利用率和吞吐量。 3. 拥有资源:无论OS是否支持线程,进程都是基本的资源拥有单位,线程只拥有很少的基本的资源,但是线程可以访问所隶属的进程的资源(进程的代码段,数据段和所拥有的系统资源如fd) 4. 系统开销:创建或者撤销进程的时候,系统要为之创建或回收PCB,系统资源等,切换时也需要保存和恢复CPU环境。而线程的切换只需要保存和恢复少量的寄存器,不涉及存储器管理方面的工作,所以开销较小。此外,统一进程中的多个线程由于共享地址空间,所以通信同步等都比较方便。 进程的几种状态 主要是3中基本状态,5状态和7状态可以直接看书 1. 就绪状态:进程获得了除了CPU之外的所有的必要资源,只要获得CPU就可以立即执行,此时的进程处于就绪态 2. 执行状态:进程已经获得CPU,正在运行,在多处理其系统中,会有多个进程同时处于运行状态 3. 阻塞状态:处于执行状态的进程由于发生某些事件而暂时无法继续执行,放弃处理机而处于暂停状态,此时进程就处于阻塞(执行受到阻塞)状态 就绪->执行:调度进程为其分配了处理机 执行->就绪:时间片用完 执行->阻塞:申请临界资源而未被满足,如IO请求或者申请缓存 阻塞->就绪:请求得到满足,如IO完成 进程同步 多进程虽然提高了系统资源利用率和吞吐量,但是由于进程的异步性可能造成系统的混乱。进程同步的任务就是对多个相关进程在执行顺序上进行协调,使并发执行的多个进程之间可以有效的共享资源和相互合作,保证程序执行的可再现性 同步机制需要遵循的原则:

操作系统复习1

练习 1 一、单项选择题 1. A 不是分时系统的基本特征 A.同时性 B.独立性 C.实时性 D.交互性 2.在单一处理机上执行程序,多道程序的执行是在B进行的。 A.同一时刻 B. 同一时间间隔内 C.某一固定时刻 D. 某一固定时间间隔内 3.为了描述进程的动态变化过程,采用了一个与进程相联系的 C ,系统根据它而感知进程的存在。 A.进程状态字 B. 进程优先数 C.进程控制块 D. 进程起始地址 4.经过 B ,目标程序可以不经过任何改动而装入物理内存单元 A.静态重定位 B.动态重定位 C.编译或汇编 D.存储扩充 5.若处理器有32位地址,则它的虚拟地址空间为 B 字节 A. 2GB B.4GB C.100KB D.640KB 6.在分段管理中, A 。 A.以段为单位分配,每段是一个连续存储区 B.段与段之间必定不连续 C.段与段之间必定连续 D.每段是等长的 7. C存储管理方式提供一维地址结构 A.固定分区 B.分段 C.分页 D.分段和段页式 8.作业在系统中存在与否的唯一标志是 C 。 A-1 共9 页

A.源程序 B.作业说明书 C.作业控制块 D.目的程序 9.文件系统为每个文件另建立一张指示逻辑记录和物理记录之间的对应 关系表,由此表和文件本身构成的文件是D。 A.连续文件 B.串连文件 C.索引文件 D.逻辑文件 10. 操作系统中采用缓冲技术的目的是为了增强系统 D 的能力。 A.串行操作 B. 控制操作 C.重执操作 D.并行操作 11.如果分时操作系统的时间片一定,那么 B 则响应时间越长。 A.用户数越少B.用户数越多C.内存越少D.内存越多 12. 解决“碎片”问题最好的存储管理方法是 A 。 A. 页式管理 B. 段式管理 C. 固定分区管理 D. 可变分区管理 13. 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是 B 。 A. 224 B. 216 C. 28 D. 232 14. 下列算法中用于磁盘移臂调度的是 C 。 A. 时间片轮转法 B. LRU算法 C. 电梯算法 D. 优先级高者优先算法 15. 进程从运行状态进入就绪状态的原因可能是 D 。 A. 被选中占有处理机 B. 等待某一事件 C. 等待的事件已发生 D. 时间片用完 16.在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻 塞队列等待的条件是 C 。 A. S>0 B. S=0 C. S<0 D. S=1 17.在一个单处理机系统中,若有6个用户进程,在非管态的某一时刻,

(完整版)操作系统复习题简答题总结

1操作系统的基本特征有哪些? 答:操作系统的基本特征: (1)并发。并发是指两个或多个活动在同一给定的时间间隔中进行。(2)共享。共享是指计算机系统中的资源被多个任务所共用。 (3)异步性。在多道程序环境下,各个程序的执行过程有“走走停停”的性质。每一道程序既要完成自己的事情,又要与其他程序共享系统中 的资源。这样,它什么时候得以执行、在执行过程中是否被其他事情 打断(如I/O中断)、向前推进的速度是快还是慢等,都是不可预知的, 由程序执行时的现场所决定。另外,同一程序在相同的初始数据下, 无论何时运行,都应获得同样的结果。这是操作系统所具有的异步性。2操作系统的主要功能有哪些? 答:操作系统的主要功能包括:存储管理,进程和处理机管理,文件管理,设备管理以及用户接口管理。 3、操作系统一般为用户提供了哪三种界面?它们各有什么特点? 答: 4、操作系统主要有哪三种基本类型?它们各有什么特点? 5、操作系统主要有哪些类型的体系结构?UNIX系统和Linux系统各采用哪些结构? 答:一般说来,操作系统有四种结构:整体结构、层次结构、虚拟机结构、客户机-服务器结构。Linux系统采用的是整体结构。UNIX系统采用的是层次结构。

6、Linux系统有什么特点? 7、使用虚拟机有哪些优势和不足? 8、现代计算机系统由什么组成的? 9、在操作系统中,为什么要引入进程的概念?它与程序的区别和联系分别是什么?

10、操作系统在计算机系统中处于什么位置? 11、进程的基本状态有哪几种? 答:进程的基本状态有三种,分别为运行态、就绪态、阻塞态。 12、你熟悉哪些操作系统?想一想你在使用计算机过程中,操作系统如何提供服务? 答:我们最熟悉的一般为Windows操作系统,它是由微软(Microsoft)公司推出的一个功能强大的图形界面操作系统。常用的操作系统还有Linux,UNIX 操作系统。 我们在使用计算机时,首先接触的是用户界面,我们可以通过键盘上输入命令,在桌面上点击鼠标完成操作,这时系统就知道执行相应的功能。 13、PCB的作用是什么?它是怎样描述进程的动态性质的? 答:进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的唯一标志。 PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。 14、PCB表的组织方式主要有哪几种?分别简要说明。 答:PCB表的组织方式主要有:线性方式、链接方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。 链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。 15、进程和线程的区别是什么? 答:(1)动态性。程序是静态、被动的概念,本身可以作为一种软件资源长期保存;而进程是程序的一次执行过程,是动态、主动的概念,有一定的生命周期,会动态地产生和消亡。 (2)并发性。传统的进程是一个独立运行的单位,能与其他进程并发执行。进程是作为资源申请和调度单位存在的;而通常的程序是不能作为一个独立运行的单位并发执行的。 (3)非对应性。程序和进程无一一对应关系。一个程序可被多个进程共用;一个进程在其活动中又可以顺序地执行若干个程序。 (4)异步性。各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。而程序本身是静态的,不存在这种异步特征。

操作系统结构

1.2操作系统结构设计 操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。操作系统的结构设计有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。采用不同的构件和构造方法可组成不同结构的操作系统。本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。 操作系统的组件 通常把组成操作系统程序的基本单位称作操作系统的构件。剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。 1.内核 现代操作系统中xx采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。 由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内核(microkernel),其他功能都在核外实现,通过微内核提供

的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核(monolithic kernel)。操作系统的一个基本问题就是内核的功能设计。微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。 一般而言,内核必须提供以下3个方面的功能。 (1)xx处理。xx处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽xx的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。当xx事件产生时,先由内核截获并转向xx处理例行程序进行原则处理,它分析xx事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。例如,产生外围设备结束xx事件时,内核首先分析是否正常结束,如果是正常结束,那么,就应释放等待该外围传输的进程;否则启动相应设备管理进程进行出错或异常处理。又如当操作员请求从控制台输入命令时,内核将把这一任务转交给命令管理进程去处理,以接收和执行命令。 (2)短程调度。主要职能是分配处理器。当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。短程调度按照一定的策略管理处理器的转让,以及完成保护和恢

操作系统结构 (1)

操作系统是一种大型、复杂的并发系统,为了研制操作系统,首先必须研究它的结构,力求设计出结构良好的程序。操作系统的结构设计有两层含义:一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。采用不同的构件和构造方法可组成不同结构的操作系统。本节将在讨论操作系统构件之后,全面介绍各种操作系统的构造方法。 1.2.1 操作系统的组件 通常把组成操作系统程序的基本单位称作操作系统的构件。剖析现代操作系统,构成操作系统的基本单位除内核之外,主要还有进程、线程、类程和管程。 1.内核 现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。 由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。有些设计希望把内核做得尽量小仅具有极少的必需功能,称为微内核(microkernel),其他功能都在核外实现,通过微内核提供的消息传递机制完成其余功能模块间的联系;有些设计则希望内核具有较多的功能,虽然其内部也可划分成层次或模块,但运行时是一个大二进制映像,模块间的联系可通过函数或过程调用实现,称为单内核(monolithic kernel)。操作系统的一个基本问题就是内核的功能设计。微内核结构是现代操作系统的特征之一,这种方法把内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合分布式系统的构造。 一般而言,内核必须提供以下3个方面的功能。 (1)中断处理。中断处理是内核中最基本的功能,也是操作系统赖以活动的基础,为了缩短屏蔽中断的时间,增加系统内的并发性,通常它仅仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。当中断事件产生时,先由内核截获并转向中断处理例行程序进行原则处理,它分析中断事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。例如,产生外围设备结束中断事件时,内核首先分析是否正常结束,如果是正常结束,那么,就应释放等待该外围传输的进程;否则启动相应设备管理进程进行出错或异常处理。又如当操作员请求从控制台输入命令时,内核将把这一任务转交给命令管理进程去处理,以接收和执行命令。 (2)短程调度。主要职能是分配处理器。当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。短程调度按照一定的策略管理处理器的转让,以及完成保护和恢复现场的工作。由于它是协调进程竞争处理器资源的程序,所以它不是进程而是内核中的一个程序。 (3)原语管理。原语是内核中实现某一功能的不可中断过程。为了协调进程完成通信、并发执行和共享资源,各种原语是必不可少的。通信原语为进程相互传递消息,同步原语能协调并发进程之间的种种制约关系。此外,还有其他原语,如启动外围设备工作的启动原语,若启动不成功则请求启动者应等待,显然,这个启动过程应该是完整的,否则在成为等待状态时,可能外围设备已经空闲。由于设备的操作与硬件密切相关,故通常设备驱动程序等功能都放在内核中完成。 内核是操作系统对裸机的首次改造,内核和裸机组成了一台虚拟机,进程就在这台虚拟机上运行,它比裸机的功能更强大,具有以下特性: (1)虚拟机没有中断,因而,进程的设计者不再需要有硬件中断的概念,用户进程执行中无须处理中断; (2)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好像在各自的私有处理器上顺序地推进,实现了多个进程的并发执行; (3)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令、系统调用和原语所组成的新的指令系统。 为了保证系统的有效性和灵活性,设计内核应遵循少而精的原则。如果内核功能过强,则一方面在修改系统时可能牵动内核;另一方面它占用的内存容量和执行时间都会增大,且屏蔽中断的时间过长也会影响系统效率。因而,设计内核时应注意:

操作系统1(参考答案)

一、选择题 1 BCBCA 6 C BAAA 二、判断题TFTFT 三、填空题 1外部设备联机并行操作 2安全性和简明性 3内存、缺页 4作业 5执行和完成 6段、系统 7多用户、多任务 8就绪、执行 9虚拟 四、简答题 1.什么是系统调用? 答:系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。每一个子功能称作一条系统调用命令。它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。 2.什么是临界资源? 一次仅允许一个进程使用的资源。 3.什么是抖动(或称颠簸)? 页面抖动是系统中频繁进行页面置换的现象。即如果一个进程没有一定数量的内存 块,它很快就发生缺页。此时,它必须淘汰某页。由于所有这些页面都正在使用,所以刚被淘汰出去的页很快又被访问,因而要把它重新调入。可是调入不久又再被 淘汰出去,这样再访问,再调入,如此反复,使得整个系统的页面替换非常频繁,以致大部分机器时间都用在来回进行的页面调度上,只有一小部分时间用于进程的 实际运算方面。 4.影响缺页中断率的因素有哪些? 影响缺页中断率的因素有四个: ①分配给作业的主存块数多则缺页率低,反之缺页中断率就高。 ②页面大,缺页中断率低;页面小缺页中断率高。 ③程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各 元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。 ④页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。 五、应用题(每题10分,共20分)

1.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题: (1)按FIFO调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。(2)按LRU调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。答: 页面走向为:1,2,1,0,4,1,3,4,2,1 (1)按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;缺页中断率为:5/10=50% (3’) 1 2 1 0 4 1 3 4 2 1 0 0 0 0 0 4 4 4 4 4 4 1 1 1 1 1 1 3 3 3 3 2 2 2 2 2 2 2 2 1 ×××××(2’) (2)按LRU调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3;缺页中断率为:6/10=60% (3’) 1 2 1 0 4 1 3 4 2 1 0 0 0 0 0 0 0 3 3 3 3 1 1 1 1 1 1 1 1 2 2 2 2 2 4 4 4 4 4 1 ××××××(2’) 2.有一个具有如下作业流的批处理处理系统,作业调度采用短作业优先,进程调度采用基于优先数的抢先式调度算法。下表给出的是作业序列和相应进程的优先数,优先数越小优先级越高。 作业名到达时间估计运行时间/min 优先数 1 8:00 40 4 2 8:20 30 2 3 8:30 50 3 4 8:50 20 5 (1)列出所有作业进入内存时间及完成时间 (2)计算作业的平均周转时间和平均带权周转时间 解答: (1)作业进入内存时间与结束时间如下所示:(`4’=1’*4) 作业名进入内存时间结束时间 1 8:00 9:10 2 8:20 8:50 3 9:10 10:00 4 8:50 10:20 (2)各作业的周转时间为:(`4’=1’*4) 作业A:9:10 – 8:00 = 70 min 作业B:8:50 – 8:20 = 30 min 作业C:10:00 – 8:30 = 90 min

计算机操作系统体系结构实验报告

操作系统实验报告 实验目的: 随着操作系统应用领域的扩大,以及操作系统硬件平台的多样化,操作系统的体系结构和开发方式都在不断更新,目前通用机上常见操作系统的体系结构有如下几种:模块组合结构、层次结构、虚拟机结构和微内核结构。为了更好的了解计算机操作系统体系结构,以及linux 的体系结构,特作此报告。 实验内容: 计算机操作系统体系结构 一、模块组合结构 操作系统刚开始发展时是以建立一个简单的小系统为目标来实现的,但是为了满足其他需求又陆续加入一些新的功能,其结构渐渐变得复杂而无法掌握。以前我们使用的MS-DOS 就是这种结构最典型的例子。这种操作系统是一个有多种功能的系统程序,也可以看成是一个大的可执行体,即整个操作系统是一些过程的集合。系统中的每一个过程模块根据它们要完成的功能进行划分,然后按照一定的结构方式组合起来,协同完成整个系统的功能。如图1所示: 在模块组合结构中,没有一致的系统调用界面,模块之间通过对外提供的接口传递信息,模块内部实现隐藏的程序单元,使其对其它过程模块来说是透明的。但是,随着功能的增加,模块组合结构变得越来越复杂而难以控制,模块间不加控制地相互调用和转移,以及信息传递方式的随意性,使系统存在一定隐患。 二、层次结构 为了弥补模块组合结构中模块间调用存在的固有不足之处,就必须减少模块间毫无规则的相互调用、相互依赖的关系,尤其要清除模块间的循环调用。从这一点出发,层次结构的设计采用了高层建筑结构的理念,将操作系统或软件系统中的全部构成模块进行分类:将基础的模块放在基层(或称底层、一层),在此基础上,再将某些模块放在二层,二层的模块在基础模块提供的环境中工作;它只能调用基层的模块为其工作,反之不行。严格的层次结构,第N+l层只能在N层模块提供的基础上建立,只能在N层提供的环境中工作,也只能向N 层的模块发调用请求。 在采用层次结构的操作系统中,各个模块都有相对固定的位置、相对固定的层次。处在同一层次的各模块,其相对位置的概念可以不非常明确。处于不同层次的各模块,一般而言,不可以互相交换位置,只存在单向调用和单向依赖。Unix/Linux系统采用的就是这种体系结构。 在层次结构中,强调的是系统中各组成部分所处的位置,但是想要让系统正常运作,不得不协调两种关系,即依赖关系和调用关系。 依赖关系是指处于上层(或外层)的软件成分依赖下层软件的存在、依赖下层软件的运行而运行。例如,浏览器这部分软件就依赖GUI的存在和运行,GUI又依赖操作系统的存在和运行。在操作系统内部,外围部分依赖内核的存在而存在,依赖内核的运行而运行,内核又依赖HAL而运行。处在同层之内的软件成分可以是相对独立的,相互之间一般不存在相互依赖关系。 三、虚拟机结构 虚拟机的基本思想是系统能提供两个功能:①多道程序处理能力;②提供一个比裸机有更方便扩展界面的计算机。操作系统是覆盖在硬件裸机上的一层软件,它通过系统调用向位于

操作系统1

《操作系统》 题目一:页面置换算法FIFO算法 总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术 要求) 要求:(1)撰写一份word文档,里面包括(算法思路、算法数据结构、算法流程图、主要函数代码、测试案例)章节。 (2)算法思路:FIFO为先进先出算法,简单介绍该算法 的基本思想,100字左右即可。 (3)算法数据结构:列出主要用的数据结构,比如存储页 面号序列page[],存储装入物理块中的页面memery[]等, 只需要列出数据结构名称即可。 (4)算法流程图:绘制页面置换算法的流程图。 (5)主要函数代码:列出先进先出页面置换算法的代码。 不需要列出主函数。 (6)给出一个测试案例即可,比如设置物理块个数为3, 页面序号7 0 1 2 3 0 4 2 3,代码应列出算法 置换的具体细节。

1.这种调度算法总是调出最先进入主存储器的那一页,FIFO算法简单,易实现。一种实现方法是把装入主存储器的那些页的页号按进入的先后顺序排成队列,先进先出,后进后出。 2. #include "stdio.h" #define n 9 #define m 3 void main() { int ym[n],i,j,q,mem[m]={0},table[m][n]; char flag,f[n]; printf("请输入页面访问序列\n"); for(i=0;i

操作系统概论重点整理(2017年张琼声版)

操作系统概论-02323(2017年张琼声版本) 第一章:操作系统简介 操作系统概念:操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。 操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。 接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。 操作系统完成的两个目标: ○1与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务。○2为运行在计算机系统上的应用程序(即用户程序)提供执行环境 现代计算机特点是支持多任务,,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能 操作系统的功能:处理机管理、内存管理、设备管理、文件管理。 ●操作系统的发展: 无操作系统--单道批处理系统--多道批处理系统--微机操作系--实时操作系统 无操作系统阶段:电子管,无存储设备,第一台:1946年宾夕法尼亚大学的「埃尼阿克」 单道批处理系统:晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。 吞吐量是指单位时间内计算机系统处理的作业量 多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。 微机操作系统:第一台Intel公司顾问GaryKildall 编写的CP/M系统,是一台磁盘操作系统,用于Intel8080. 实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。 ●批处理、实时、分时系统的优缺点比较: 单道批处理系统:自动性、顺序性、单道性。优点:减少了等待人工操作的时间缺点:CPU资源不能得到有效的利用。 多道批处理系统:多道性、无序性、调度性、复杂性。优点:能够使CPU和内存IO资源得到充分利用,,提高系统的吞吐量。缺点:系统平均周转时间长,缺

相关文档
最新文档