系统架构设计笔记(1)—— 操作系统的类型与结构

掌握操作系统原理的关键:一个观点、两条线索。

  • 一个观点:以资源管理的观点来定义操作系统;从资源管理的角度看,操作系统主要是对处理器、存储器、文件、设备和作业进行管理。
  • 两条线索:如何管理计算机各类资源、控制程序的执行。

现在讲讲操作系统的类型与结构。

操作系统(Operating System,OS)是计算机系统中的核心系统软件,负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机工作流程和有效地利用资源,在计算机与用户之间起接口的作用。

对象 接口形式
用户 命令、菜单、窗口等。
应用程序 API。

系统架构设计笔记(1)—— 操作系统的类型与结构_第1张图片

其他系统软件属于第二层,如编辑程序、汇编程序 、 编译程序和数据库管理系统等系统软件。这些软件工作于操作系统之上,服务于应用软件,所以有别于应用软件。

1操作系统类型

按使用环境和对作业的处理方式,操作系统可分为批处理操作系统 、 分时操作系统 、 实时操作系统 、 网络操作系统和分布式操作系统 。后来又加入了嵌入式与微内核操作系统。

系统架构设计笔记(1)—— 操作系统的类型与结构_第2张图片

  1. 批处理操作系统把用户提交的作业分类,把一批中的作业编成一个作业执行序列。批处理又可分为联机批处理和脱机批处理。批处理系统的主要特征有 : 用户脱机使用计算机 、 成批处理 、 多道程序运行。

  2. 分时操作系统采用分时技术,使多个用户同时以会话方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的 、支持自己请求服务的系统。分时技术把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另个一作业使用,等待下一轮轮到自己时再继续运行。分时系统的主要特征有 : 交互性 、 多用户同时性、独立性 。

  3. 实时操作系统往往是专用的,系统与应用很难分离,常常紧密结合在一起。实时系统并不强调资源利用率,而是更关心及时性 ( 时间紧迫性) 、可靠性和完整性。实时系统又分为实时过程控制与实时信息处理两种。实时系统的主要特征有 : 提供即时响应、高可靠性。

  4. 网络操作系统按照网络架构的各个协议标准进行开发,包括网络管理 、 通信 、 资源共享 、 系统安全和多种网络应用服务等。在网络系统中,各计算机的操作系统可以互不相同,它需要有一个支持异种计算机系统之间进程通信的网络环境,以实现协同工作和应用集成。网络操作系统的主要特征有 : 互操作性 、 协作处理。

  5. 分布式操作系统要求有一个统一的操作系统,实现系统操作的统一性,负责全系统的资源分配和调度,为用户提供统一的界面。它是一个逻辑上紧密耦合的系统。目前还没有真正实现的网络操作系统。

  6. 嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。

  7. 微内核操作系统由一群尽可能将数量最小化的软件程序组成,它们负责提供实现一个操作系统所需要的各种机制与功能,微内核操作系统就是一种基于微内核架构的操作系统。

不管哪一种操作系统,都应该具有5个基本功能,即处理机管理 、 存储管理 、 设备管理 、 文件管理和作业管理 。

2 操作系统结构

操作系统的结构可以分为 5 种结构:无序结构 、 层次结构 、 面向对象结构 、 对称多处理结构和微内核结构。

  1. 无序结构,又称整体结构或模块组合结构。它以大型表格和队列为中心,操作的各部分程序围绕着表格运行,整个系统是个程序。这种操作系统常称为面向过程的操作系统。操作系统由许多标准的 、 可兼容的基本单位构成 ( 称为模块 ) ,各模块相对独立,模块之间通过规定的接口相互调用。模块化设计方法的优点是缩短了系统的开发周期, 缺点是模块之间调用关系复杂 、 相互依赖,从而使分析 、 移植和维护系统较易出错。

  2. 层次结构。把一个大型复杂的操作系统分解成若干个单向依赖的层次,由多层的正确性保证操作系统的可靠性。层次结构清晰,大大地简化了接口的设计,且有利于系统功能的增加或删改,易于保证可靠性,也便于维护和移植。

  3. 面向对象结构。基于面向对象程序设计的概念,采用了各种不同的对象技术。在计算机系统中对象是操作系统管理的信息和资源的抽象,是一种抽象的数据类型。可以把对象作为系统中的最小单位,由对象 、 对象操作 、 对象保护组成的操作系统,就是面向对象的操作系统,如 WindowsServer 中有执行体对象 ( 例如,进程 、 线程 、 文件和令牌等 ) 和内核对象 ( 例如时钟 、 事件和信号等 ) 。面向对象结构的优点是适用于网络操作系统和分布式操作系统中。

  4. 对称多处理结构。如果一个操作系统在系统中的所有处理机运行且共享同一内存,这样的系统就是一个对称多处理系统。优点是适合共享存储器结构的多处理机系统,即紧耦合的多处理机系统。

  5. 微内核结构。把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其他功能以服务器形式建立在微内核之上。它具有良好的模块化和结构化特征,模块之间和上下层之间通过消息来通信。建立在微内核上的服务器可以根据不同的需要构造,从而形成不同的操作系统。

现代操作系统大多拥有两种工作状态 : 核心态和用户态。我们使用的一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。

微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语仅仅包括了建立一个系统必需的几个部分,如线程管理 、 地址空间和进程间通信等。
微内核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入 / 输出锁定服务可以由运行在微内核之外的一个服务组件来提供。这些模块化的用户态服务用于完成操作系统中比较高级的操作,这样的设计使内核中最核心的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其他的部分。

微内核技术的主要优点如下 :

  1. 具有统一的接口,在用户态和核心态之间无需进程识别 。
  2. 可伸缩性好,能适应硬件更新和应用变化 。
  3. 可移植性好,所有与具体机器特征相关的代码,全部隔离在微内核中,如果操作系统要移植到不同的硬件平台上,只需修改微内核中极少代码即可 。
  4. 实时性好,微内核可以方便地支持实时处理 。
  5. 安全可靠性高,微内核将安全性作为系统内部特性来进行设计,对外仅使用少量应用编程接口 。
  6. 支持分布式系统,支持多处理器的架构和高度并行的应用程序 。
  7. 真正面向对象的操作系统。由于操作系统核心常驻内存,而微内核结构精简了操作系统的核心功能,内核规模比较小,一些功能都移到了外存上,所以微内核结构十分适合嵌入式的专用系统,对于通用性较广的系统,将使 CPU(CentralProcessingUnit ,中央处理单元 ) 的通信开销增大,从而影响到计算机的运行速度。

微内核技术的缺点是:运行效率不如传统的操作系统。

你可能感兴趣的:(系统架构设计)