操作系统结构 (1)

操作系统结构 (1)
操作系统结构 (1)

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

1.2.1 操作系统的组件

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

1.内核

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

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

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

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

(2)短程调度。主要职能是分配处理器。当系统中发生了一个事件之后,可能一个进程要让出处理器,而另一个进程又要获得处理器。短程调度按照一定的策略管理处理器的转让,以及完成保护和恢复现场的工作。由于它是协调进程竞争处理器资源的程序,所以它不是进程而是内核中的一个程序。

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

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

(1)虚拟机没有中断,因而,进程的设计者不再需要有硬件中断的概念,用户进程执行中无须处理中断;

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

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

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

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

2.进程管理

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

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

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

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

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

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

(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.辅助存储器管理

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

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

空闲空间管理;

空间分配;

磁盘调度。

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

7.网络管理

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

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

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

8.系统保护

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

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

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

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

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 设备(包括调制解调器和网络适配器)免于非法的访问企图和记录所有这样的非法闯入。如果一个系统受到保护并且是安全的,那么就必须要建立预防措施。一般,系统的安全强度与其最薄弱的一个环节密切相关。

1.2.2 操作系统功能的实现模型

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

1.非进程内核模型

许多老式操作系统的实现采用非进程内核模型,即操作系统的功能都不组织成进程来实现,如图1-2所示,该模型包括一个较大的操作系统内核程序,进程的执行在内核之外。当中断发生时,当前运行进程的上下文现场信息将被保存,并把控制权传递给操作系统内核。操作系统具有自己的内存区和系统堆栈区,用于控制过程调用和返回。它将在核心态执行相应的操作,并根据中断的类型和具体的情况,或者是恢复被中断进程的现场并让它继续执行,或是转向进程调度指派另一个就绪进程运行。

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

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

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

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

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

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.操作系统是一种: 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、操作系统的主要功能 操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。 2、中断的概念 CPU 暂时停下现行程序的执行,转向为临时发生的事件进行处理,处理完后,再返回执行原程序。中断是一种在发生了一个外部的事件时调用相应的处理程序(或称服务程序)的过程。中断服务程序与中断时CPU正在运行的程序是相互独立的,相互不传递数据。 3、进程从等待态进入就绪态的原因 输入、输出事件完成 4、能扩充主存容量的分配是什么 虚拟储存器,自动覆盖和交换技术 5、通道在输入输出操作完成出错时形成什么 中断请求,I/O中断 6、段页式存储管理的是什么地址格式 离散分配方式二维地址 7、用户程序的逻辑地址可以是不连续储存的格式是什么 段页 8、硬件采用中断和通道技术使得CPU会怎样 CPU与外设能并行工作、提高效率和处理速度 9、创建完成进程后,进程为什么状态 就绪态 10、能使高地址空间成为大的空闲区的分配算法是什么 首次适应法 11、虚拟储存器地址空间大小是什么 由计算机系统的地址结构和外存结构决定的 12、分页储存管理中页面是越小越好吗 不是 13、多中断硬件支持是什么操作系统必须存在的 基于时间片调度的多任务操作系统 14、死锁指的是什么 指的是系统中存在一组进程,他们中每一个进程都占用了某种资源而又在等待着其中另一进程所占用的资源而无限期的僵持下去的局面。 15、引导操作系统进入内存的程序一般放在计算机的什么地方 固件 16、多道功能操作系统是什么操作系统 多用户操作系统 17、进程的并发是什么 在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。18、分段储存与分页储存的区别

操作系统复习资料大全——考试必备

操作系统 学习指导书 操作系统课程组 信息工程学院计算机系

第1章操作系统引论 知识点总结 1、什么是操作系统 操作系统:是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。 1) OS是什么:是系统软件(一整套程序组成,如UNIX由上千个模块组成) 2) 管什么:控制和管理系统资源(记录和调度) 2、操作系统的主要功能 操作系统的功能:存储器管理、处理机管理、设备管理、文件管理和用户接口管理。 1) 存储器管理:内存分配,地址映射,内存保护和内存扩充 2) 处理机管理:作业和进程调度,进程控制和进程通信 3) 设备管理:缓冲区管理,设备分配,设备驱动和设备无关性 4) 文件管理:文件存储空间的管理,文件操作的一般管理,目录管理,文件的读写管理和存取控制 5) 用户接口:命令界面/图形界面和系统调用接口 3、操作系统的地位 操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。它是整个系统的控制管理中心,既管硬件,又管软件,它为其它软件提供运行环境。 4、操作系统的基本特征 操作系统基本特征:并发,共享和异步性。 1) 并发:并发性是指两个或多个活动在同一给定的时间间隔中进行。 2) 共享:共享是指计算机系统中的资源被多个任务所共用。 3) 异步性:每个程序什么时候执行,向前推进速度快慢,是由执行的现场所决定。但同一程序在相同的初始数据下,无论何时运行都应获得同样的结果。 5、操作系统的主要类型

多道批处理系统、分时系统、实时系统、个人机系统、网络系统和分布式系统 1) 多道批处理系统 (1) 批处理系统的特点:多道、成批 (2) 批处理系统的优点:资源利用率高、系统吞吐量大 (3) 批处理系统的缺点:等待时间长、没有交互能力 2) 分时系统 (1) 分时:指若干并发程序对CPU时间的共享。它是通过系统软件实现的。共享的时间单位称为时间片。 (2) 分时系统的特征: 同时性:若干用户可同时上机使用计算机系统 交互性:用户能方便地与系统进行人--机对话 独立性:系统中各用户可以彼此独立地操作,互不干扰或破坏 及时性:用户能在很短时间内得到系统的响应 (3) 优点主要是: 响应快,界面友好 多用户,便于普及 便于资源共享 3) 实时系统 (1) 实时系统:响应时间很快,可以在毫秒甚至微秒级立即处理 (2) 典型应用形式:过程控制系统、信息查询系统、事务处理系统 (3) 与分时系统的主要区别: 4) 个人机系统 (1) 单用户操作系统 单用户操作系统特征: 个人使用:整个系统由一个人操纵,使用方便。 界面友好:人机交互的方式,图形界面。

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

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.所谓()是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其它资源。 A. 多重处理 B.多道程序设计 C. 实时处理 D. 共同执行 2.下列进程调度算法中,可能引起进程长时间得不到运行的算法是( )。 A. 时间片轮转法 B. 不可抢占式静态优先级算法 C. 可抢占式静态优先级算法 D. 不可抢占式动态优先级算法 3.信箱通信是一种( )的通信方式。 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. 有n个进程需要访问同一类资源,假定每个进程需要3个资源,系统至少要提供()个资源才能保证不会死锁。 A.3n B.2n C.2n+1 D.3n-1 10. 设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表

操作系统复习资料

一、单项选择题 1.()不是基本的操作系统。 A、批处理操作系统 B、分时操作系统 C、实时操作系统 D、网络操作系统 2.()不是分时系统的基本特征: A、同时性 B、独立性 C、实时性 D、交互性 3.处理器执行的指令被分成两类,其中有一类称为特权指令,它只允许()使用。 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. 12.作业调度是从输入井中处于()状态的作业中选取作业调入主存运行。 A、运行 B、收容 C、输入 D、就绪 13.一作业进入内存后,则所属该作业的进程初始时处于()状态。 A、运行 B、等待 C、就绪 D、收容 14.共享变量是指()访问的变量。 A、只能被系统进程 B、只能被多个进程互斥 C、只能被用户进程 D、可被多个进程 15.临界区是指并发进程中访问共享变量的()段。 A、管理信息 B、信息存储 C、数据 D、程序 16.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。 A、5 B、2 C、3 D、4 17.产生系统死锁的原因可能是由于()。 A、进程释放资源 B、一个进程进入死循环 C、多个进程竞争,资源出现了循环等待 D、多个进程竞争共享型设备

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

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)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令、系统调用和原语所组成的新的指令系统。 为了保证系统的有效性和灵活性,设计内核应遵循少而精的原则。如果内核功能过强,则一方面在修改系统时可能牵动内核;另一方面它占用的内存容量和执行时间都会增大,且屏蔽中断的时间过长也会影响系统效率。因而,设计内核时应注意:

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

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

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

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

数据结构和操作系统试题

数据结构和操作系统试题 姓名________ 学号_________ 得分__________ 数据结构部分 一、判断题。(正确的在括号里打√,错误的打×) ①数据元素是数据的最小单位。() ②完全二叉树中,若一个结点没有左孩子,则必是树叶。() ③关键路径是AOE网络中从源点到汇点的最长路径。() ④顺序存储法适用于存储结构为顺序或链式存储的线性表。() ⑤对任何一棵二叉树,如果叶子结点数为n0,度为2的结点数为n2,则n2 = n0 - 1。() ⑥快速排序是一种属于选择排序类的方法,时间效率较高。() ⑦数组的常见操作有存取、修改、删除、插入。() ⑧若非空二叉树中每个结点有两个子结点,且左子树的根小于根结点,右子树的根不小于根结点,则是二叉排序树。() ⑨将一棵树转换为二叉树后,根结点没有左子树。() ⑩在一般情况下,处理冲突方法相同的哈希表,其平均查找长度依赖于哈希表的装填因子。() 二、选择和填空 1.在一个长度为n的顺序表(即顺序存储的线性表)中,向第i个元素(1<=i<=n+1)之前插入 一个新元素时,需向后移动______个元素。 A. n-i B. n-i+1 C. n-i-1 D. i 2.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为__________。 3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用 ________存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C. 双向循环链表 D.仅有尾指针的单循环链表 4.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过________。 A.n/2 B.n C.(n+1)/2 D.n+1 5. 对有18个元素的有序表A[1]~A[18]作二分查找,则查找A[3]的比较序列的下标为______。 A.1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 6. 下面程序段的时间复杂度是______________。 for (i=0; i

操作系统重点概念知识讲解

1.CPU的两种运行模式:内核态(又称核心态、系统态、管态)和用户态(又称目态)。 2.指令是控制计算机执行某种操作的命令。 3.特权指令:是一类具有特殊权限的指令,只用于操作系统或其他系统软件,普通用户不 能直接使用 4.非特权指令:也称为用户指令或普通指令,是普通用户能够直接使用的指令。这是指令 集中除特权指令外的所有指令。 5.操作系统的用户观点和系统观点:用户观点:为用户提供使用计算机系统的接口和各种 资源管理服务(从系统外部看)系统观点:管理和分配计算机系统硬件及软件资源。因此,操作系统是计算机资源的管理者(从系统内部看 6.操作系统:是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行 的系统软件(或程序集合),是用户与计算机之间的接口。 功能:处理机管理、存储器管理、设备管理、文件管理、用户接口 7.多道程序设计的基本思想:在内存中同时存放多道程序,在管理程序的控制下交替 地执行。这些作业共享CPU和系统中的其他资源。 8.多道批处理系统优缺点:优点:系统资源利用率高;系统吞吐量大。缺点:用户作业等待 时间长;无交互性,用户一旦提交作业就失去了对其运行的控制能力 9.多道:系统在内存中存放多个作业,并且在外存上还保存大量的后备作业。 10.成批:系统按批次调度作业,而在系统运行过程中不允许用户和机器之间发生交互作用。 11.分时:对时间的共享。在分时系统中,分时主要是指若干并发程序对CPU时间的共享 12.Linux系统特点:与UNIX兼容;自由软件,源码公开;性能高,安全性强;便于定 制和再开发;互操作性高;全面的多任务和真正的32位操作系统 13.进程概念:程序在并发环境中的执行过程 进程最根本的属性:是动态性和并发性 进程的特征:动态性并发性独立性异步性 批处理系统的特征:脱机多道成批处理 分时系统的特征:多路性独立性及时性交互性 14.进程间的相互关系主要分为如下三种形式:1.互斥——竞争同一资源而发生相互制约2. 同步——协同完成一项任务 3. 通信——交换信息,合作完成一项工作 15.进程和程序的区别和联系:(1)进程是动态概念,程序是静态概念(2)进程有并发性, 程序没有(3)一个程序对应多个进程(4)进程有三个基本状态 进程的三种状态及其转换 16.进程控制块的作用:每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控 制和管理;进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的唯一标识 17.临界资源:一次仅允许一个进程访问的资源 18.临界区:简称CS区进程中访问临界资源的那段程序代码 19.原语是为完成某些特定的功能而编制的一段系统程序。原语操作也称做“原子操作”,即 一个操作中的所有动作要么全做,要么全不做。执行原语操作时,要屏蔽中断,以保证

操作系统核心资料

操作系统核心资料 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑

计算题:<不一定是这两个题目,但题型肯定) 1、作业调度算法(P155 应用题T8> 2、FIFO LRU OPT 页面算法 问答题:<考五个,以下仅供参考) 1、操作系统的定义,目标,功能,主要特征<考一点)

答:定义:管理系统资源、控制程序运行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便而有效地使用计算机提供良好运行环境的最基本的系统软件。b5E2RGbCAP 目标:方便用户使用、扩充机器功能、管理各类资源、提高系统效率、构筑开放环境、 功能:1、处理器管理2、存储管理3、设备管理4、文件管理 5、网络与通信管理 6、用户接口。 特征:并发性、共享性、异步性 2、死锁产生的条件

3、进程状态转化

相关文档
最新文档