操作系统——(1)概述

一、概述

1、定义

操作系统:是一组计算机程序的集合,用以有效控制和管理计算机的硬件和软件资源,合理的组织计算机的工作流程,控制程的执行;向应用程序接口和用户提供方便、快捷、友好的功能/资源使用接口;是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。是计算机系统中最基本、最核心、最重要也是最复杂的软件系统。对内管理+对外服务

2、作用

1. 管理设备

2. 提高设备利用率和系统的吞吐量

3. 为用户和应用程序提供一个方便使用计算机的接口

3、引入 OS 的主要目的

为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的、高效地运行,并能最大程度提高系统中各种资源的利用率,方便用户使用。

4、目标(设计现在OS的主要目标)

  1. 方便性:如果直接在计算机(裸机)上运行编写的程序,必须使用机器语言书写程序。但如果计算机上配置了OS,系统便可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,或直接通过OS所提供的各种命令操纵总计算机系统,极大的方便用户

  2. 有效性:第一层含义是提高系统资源的利用率,第二层含义是提高系统的吞吐量

  3. 可扩充性:为适应计算机硬件、体系结构以及计算机应用发展的要求发展而来。必须能方便的添加新的功能及模块,并能修改老的功能和模块,以适应计算机硬件、体系结构以及应用发展的要求

  4. 开放性:遵循开放系统互连OSI国际标准;软、硬件相互兼容。

5、OS设计原则

  1. 可靠性。系统可靠性是指系统发现、诊断、恢复硬件或软件故障的能力,也包括对用户误操作的容错能力。

  2. 方便性。用户通过操作系统提供的接口使用计算机,更有效,更方便。

  3. 高效率。一方面要能充分发挥现有资源的最大效能,另一方面能及时、迅速地响应和处理尽量多的用户提出的各项要求。

  4. 易维护性。操作系统安装之后,在使用过程中需要进行一定的维护性工作来不断满足用户的需求。系统维护包括改正性维护、适应性维护和完善性维护等。

  5. 可扩充性。操作系统的功能应该不断被加强、改进和完善。在引进新的系统组件时不应干扰现有的服务能力,从而能够适应不断发展的应用需求。

  6. 开放性。要求操作系统具有开放性,是为了能够集成不同厂家生产的计算机设备和各种各种的应用软件,且能正确有效地协同工作,支持应用程序的可移植性和互操作性。

6、推动操作系统发展的主要动力

  1. 不断提高计算机的资源利用率

  2. 方便用户

  3. 器材的不断更新迭代

  4. 计算机体系结构的不断发展

  5. 不断提出新的应用需求

二、功能和特征

1、功能(4+2)

  1. 处理机管理机制

    • 进程控制

    • 进程同步

    • 进程通信

    • 调度++

  2. 存储器管理功能

    • 内存分配

    • 内存保护

    • 地址映射

    • 内存扩充

  3. 设备管理功能

    • 缓冲管理

    • 设备分配

    • 设备处理

  4. 文件管理功能

    • 文件存储空间的管理

    • 目录管理

    • 文件的读/写管理和保护

  5. 网络通信与服务

  6. 安全保护

2、特征

  1. 并发性(最基本特征)

    • 并行性:两个或多个事件同时刻发生

    • 并发性:两个或多个时间同一时间间隔内发生

  2. 共享性(最基本特征)

    • 互斥共享方式

    • 同时访问方式

  3. 虚拟性(通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”)

    • 时分复用技术

    • 空分复用技术

  4. 异步性(随机性)

三、操作系统的发展过程

1、单道批处理系统SBPS

单道批处理系统:在内存中仅装入一道用户程序,由它独占系统中的所有资源,只有在一个用户程序执行完成后,才允许装入另一个程序并执行(程序的执行方式是顺序执行)

缺点:系统中的资源得不到充分的利用

2、多道批处理系统MBPS

多道批处理系统:用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”,然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使他们共享CPU和系统中的各种资源

形成和发展的主要动力:提高资源利用率和系统吞吐量

虚拟处理机技术:利用多道程序设计技术,为每道程序建立起至少一个进程,让多道程序并发进行

  • 优点:资源利用率高;系统吞吐量大

  • 缺点:平均运转时间长;无交互能力

3、分时系统TSS

分时系统:在一台主机上连接有多个配有显示器和键盘的终端,同时允许多个用户通过自己的终端以交互方式使用计算机,共享计算机中的资源。

形成和发展的主要动力:为了满足用户对人——机交互的需求,该需求表现在人——机交互、共享主机两个方面

分时系统实现中的关键问题:如何使用户能与自己的作业进行交互,为此,系统必须能提供多个终端,同时给多个用户使用;其次,当用户在自己的中单上键入命令时,系统应能及时接受,并及时处理该命令,再将结果返回给用户。

分时系统特征:

1. 多路性

2. 独立性

3. 及时性

4. 交互性

分时操作系统系统与批处理操作系统的差异:

  1. 作业控制方式不同。批处理系统接收用户利用作业控制语言编写的作业控制说明,按作业控制说明运行用户作业。分时系统用户通过命令与机器交互,达到控制作业运行的目的。

  2. 适应的作业不同。批处理系统适应已调试好的、运行期间不需用户交互的大作业。分时系统适应运行期间需用户交互的较小的作业,如编辑程序、调试程序等。

  3. 系统追求目标不同。批处理系统以提高系统资源利用率和作业吞吐率为目标。分时系统以满足用户交互的及时响应为目标。

多道程序系统和分时技术的出现标志着操作系统渐趋成熟的阶段已经到来。

4、实时系统RTS

       特征:将时间作为关键参数,必须对所接收到的某些信号做出“及时”或者“时间”的反应, 实时操作系统初期主要用于过程控制和实时信息处理系统。

(1)、实时系统类型

  1. 工业(武器)控制系统——硬实时系统

  2. 信息查询系——软实时系统

  3. 多媒体系统——软实时系统

  4. 嵌入式系统

(2)、实时任务的类型

  • 周期性实时任务和非周期性实时任务

  • 硬实时任务和软实时任务

(3)、实时系统与分时系统特征的比较

1. 多路性

2. 独立性

3. 及时性

4. 交互性

5. 可靠性

5、微机操作系统

  1. 单用户单任务操作系统 含义:只允许一个用户上机,且只允许用户程序作为一个任务运行。主要配置在8位和16位微机上,该操作系统最具代表性的是 CP/M 和 MS—DOS

  2. 单用户多任务操作系统 含义:只允许一个用户上机,但允许用户程序分为若干个任务,使他们并发执行,从而有效的改善了系统的性能。配置在32位微机上,该操作系统最具代表性的是 Windows

  3. 多用户多任务操作系统 含义:允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能够并发执行,从而进一步提高资源利用率和系统吞吐量。配置在32位微机上,该操作系统最具代表性的是 UNIX OS

6、网络操作系统

           网络操作系统主要采用客户机/服务器工作方式。这种工作方式的网络中网点分为两类:客户机和服务器。客户机一般由微型计算机承担,它主动从本地向服务器提出服务请求。服务器接收客户机请求、处理请求的服务、返回服务结果。服务器一般由高档微机、小、中、大型机承担。

7、分布式操作系统

         分布操作系统也可以定义为通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。

特点如下:

  1. 分布式计算机系统是计算机网络系统的高级形式,由多台计算机组成,计算机之间没有主次之分。

  2. 分布式系统的特点是数据和控制及任务的分布性、整体性、资源共享的透明性、各节点的自制性和协同性。

分布式虚拟现实系统的特征:

  1. 共享的虚拟工作空间;

  2. 伪实体的行为真实感;

  3. 支持实时交互,共享时钟;

  4. 多个用户以多种方式相互通信;

  5. 资源信息共享以及允许用户自然操作环境中对象。

四、操作系统的接口

1、面向程序的接口

即提供一组广义指令供用户程序和其他系统程序使用。

  1. 系统调用:为了扩充机器功能、增强系统能力、方便用户使用而建立的。

  2. API: API是Windows操作系统提供的一种应用程序编程接口,它是在操作系统系统调用的基础经过规范整理出来,面向社会公布的唯一的接口方式。

2、面向操作的接口

即提供一组控制操作方式或命令供用户去组织和控制自己作业的运行。

  1. 命令界面:用户通过输入命令使用计算机系统。计算机通过键盘等输入设备来接收用户命令。

  2. 图形界面:如果操作系统的最主要输入设备是鼠标等点击设备(point-and-click device),那么它采用的是图形用户界面。图形化用户接口GUI(Graphics User Interface)是克服命令行的不足应运而生的,是近年来最为流行的联机用户接口形式。

  3. 作业控制命令:这种接口是专为批处理作业的用户提供的,所以,也称批处理用户接口。操作系统提供了一个作业控制语言JCL(Job Control Language),它由一组作业控制语句、作业控制操作命令及相应语法规范组成。

五、操作系统的体系结构

1、操作系统的体系结构发展

  1. 无结构OS(整体式结构)

  2. 模块化结构OS

  3. 分层式结构OS

  4. 微内核结构OS

2、传统操作体系结构

(1)、无结构操作系统(又称整体系统结构)

    整个操作系统是各种过程的集合,每个过程都可以调用任意其他过程,操作系统内部不存在任何结构。采用该结构的操作系统不仅调试和操作不方便,而且其可读性和可扩充性都较差

(2)、模块化操作系统OS(采用模块化程序设计技术)

    将操作系统按其功能划分成若干个具有一定独立性和大小的模块,并规定好各模块间的接口,使得它们之间能够交互,对较大的模块还可进一步细化为若干个子模块。采用这种结构可加速操作系统的研制过程,操作系统设计的正确性高、适应性好,模块化操作系统的优点是可以将系统功能切分为多个不同的模块,由多人并行合作,在很短的周期内完成系统设计。

         缺点在于:由于操作系统功能强大、模块较多导致模块之间交叉引用很多,形成了复杂的调用关系,使得系统结构不清晰,正确性难保证,可靠性降低,系统功能的增加、删除和改动十分困难。

(3)、模块接口法与无结构OS的优缺点

  • 提高OS设计的正确性,可理解性和可维护性

  • 增强OS的可适应性

  • 加速OS的开发过程

  • 在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求

  • 在OS设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一个决定的基础上,但模块化结构设计中,各模块的设计齐头并进,无法寻找一个可靠的决定顺序,造成各种决定的 “无序性”,这将使程序人员很难做到“设计中的每一步决定”都是建立在可靠的基础上,因此模块-接口法又被称为“无序模块法”

(4)、衡量模块的独立性的两个标准

  • 内聚性:指模块内部各部分间联系的紧密程度。 内聚性越高,模块独立性越强

  • 耦合度:指模块间相互联系和相互影响的程度。 显然,耦合度越低,模块独立越好

3、分层式结构OS

    将操作系统按其功能流图的调用次序以及其他一些原则划分为若干个层次,每一层代码只能使用较低层代码提供的功能和服务,并采用自底向上或自顶向下增添软件的方法来研制操作系统。由于它将模块之间的复杂依赖关系改为单向依赖关系,并消除了某些循环依赖关系,因此能使OS 结构变得非常清晰,从而使系统的正确性更高、扩充性和维护性更好。

(1)、优点

  • 易保证系统的正确性。 自下而上的设计方式使所有设计中的决定都是有序的,或者说是建立在较为可靠的基础上的,这样比较容易保证整个系统的正确性。

  • 易扩充和易维护性。在系统中增加、修改或替换一个层次中的模块或整个层次时,只要不改变相应层次间的接口,就不会影响其他层次,这必将使系统维护和扩充变得更加容易。

(2)、缺点

  • 系统效率降低。 由于层次结构是分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。

4、 客户/服务器结构(微内核结构OS)

将操作系统中运行的实体按照所处的地位不同,分成两个部分:客户和服务器。客户指的是请求服务的进程,服务器是提供某种服务的进程。操作系统提供基本功能的部分就对应若干相对独立的进程,每一个进程实现一类服务,称服务器进程。服务器进程的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了客户/服务器关系。

微内核结构OS:微内核结构是指将客户/服务器技术,面向对象技术用于基于微内核技术的OS中所形成的OS结构。

微内核的主要思想形成所谓的“客户/服务器”模式。 普通用户进程(即客户进程)可通过内核向服务器进程发送请求,以取得操作系统的服务。由于微内核OS结构是建是:在操作系统内核中只留下一些最基本的功能,而将其他服务尽可能地从内核中分离出去,用若干个运行在用户态下的进程(即服务器进程)来实现,立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术,因而它具有提高了系统的可扩展性,增强了系统的可靠性和可移植性,提供了对分布式系统的支持等优点。

(1)、基本功能

  1. 进程(线程)管理

  2. 低级存储器管理

  3. 中断和陷入处理

(2)优点

  1. 提高系统的可扩展性

  2. 增强了系统的可靠性

  3. 可移植性强

  4. 提供了对分布式系统的支持

  5. 融入了面向对象技术

5、虚拟机结构

将物理计算机资源通过多重化和共享技术可改变成多个虚拟机。使相同硬件系统的计算机由于软件不同而具有各种不同的性能。

虚拟机结构通常采用层次化结构的设计方法来实现。通过用一类底层物理设备来模拟上层另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。这样,虚拟机结构在裸机上扩展了一层软件,向上提供了若干台虚拟机。

猜你喜欢

转载自blog.csdn.net/qq_41819893/article/details/121328846