一、特殊的操作系统

1. 操作系统的分类概述

除通用操作系统外,针对不同应用场景发展出了多种特殊类型的操作系统。如嵌入式操作系统实时操作系统微内核系统网络/分布式操作系统

2. 嵌入式操作系统

定义与特点

嵌入式操作系统运行在嵌入式设备(如智能家电、工业控制器、汽车电子)中,具有以下特点:

  • 微型化:内核精简,占用资源少
  • 可定制性:能针对硬件变化进行结构和功能配置
  • 实时性:部分嵌入式系统要求确定性响应时间
  • 可靠性:7×24小时稳定运行
  • 易移植性:通过HAL(硬件抽象层)和BSP(板级支持包)支持不同微处理器平台

嵌入式操作系统结构图:
在这里插入图片描述

例:VxWorks(航天、军工)、μC/OS-II、FreeRTOS、RT-Thread、Linux(嵌入式版本)

3. 实时操作系统(RTOS)

定义与特点

实时操作系统能够在规定时间内完成对外部事件的响应,强调确定性而非单纯的“快速”。

  • 硬实时:必须在截止时间前完成,否则系统失效(如航天器控制、汽车安全气囊)
  • 软实时:偶尔超时可接受,但会降低服务质量(如多媒体播放、音视频编码)

实时系统的调度

实时调度算法包括:

  • 速率单调调度(RMS):周期越短优先级越高
  • 最早截止时间优先(EDF):截止时间越早优先级越高

实时操作系统调度算法对比:
在这里插入图片描述

4. 微内核操作系统

定义与特点

微内核架构将操作系统内核精简到最小,只保留最核心的功能(进程间通信、基本内存管理、CPU调度),而将文件系统、设备驱动等传统内核功能移至用户态服务中运行。

微内核操作系统架构图:在这里插入图片描述

优点

  • 可靠性高——服务崩溃不影响内核
  • 可移植性好——硬件相关代码集中在微内核
  • 可扩展性强——增减服务无需修改内核
  • 适合分布式系统

缺点

  • 用户态与内核态频繁切换,性能有一定损失

例:QNX、Mach(macOS/OS X内核基础)、L4微内核系列

5. 网络操作系统与分布式操作系统

类型 特点 典型例子
网络操作系统 各节点独立运行,有自己的操作系统,通过网络共享资源 Windows Server、Linux + NFS
分布式操作系统 多节点统一管理,对用户呈现为“一台虚拟计算机” Amoeba、Plan 9、Google的Borg

在这里插入图片描述

区别:网络操作系统的用户知道资源在哪台机器上;分布式操作系统的用户完全无感知,系统自动完成资源定位和调度。

6. 操作系统可移植性设计原则

在设计可移植的操作系统时,应遵循以下规则:

  • 将设备相关程序和设备无关程序分开设计
  • 采用平台无关的程序设计语言(如C语言)
  • 不使用依赖于某一平台的类库
  • 避免使用特定环境的专用功能(这会降低可移植性)
    在这里插入图片描述

二、总结对比表

操作系统类型 核心特点 典型应用 软考常考知识点
通用操作系统 分时、多用户、资源管理 PC、服务器 五大功能、进程调度、内存管理
嵌入式操作系统 微型化、可定制、高可靠 智能设备、工控 可定制性、实时性、可移植性
实时操作系统 确定性响应、硬/软实时 航天、军工、汽车 RMS、EDF调度算法
微内核系统 内核精简、用户态服务 QNX、车载系统 可靠性、可移植性、分布式支持
网络/分布式系统 资源共享/统一管理 服务器集群 区别:透明性程度

三、练习

题目1:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,该要求体现了嵌入式操作系统的( )。

A. 可定制性
B. 实时性
C. 可靠性
D. 易移植性

答案:A

解析:题干强调“针对硬件变化进行结构与功能上的配置”,这体现的是可定制性。易移植性侧重于跨平台运行的能力。

题目2:(2010年下半年系统架构设计师真题)采用微内核结构的操作系统提高了系统的灵活性和可扩展性,()。

A. 并增强了系统的可靠性和可移植性,可运行于分布式系统中
B. 并增强了系统的可靠性和可移植性,但不适用于分布式系统
C. 但降低了系统的可靠性和可移植性,可运行于分布式系统中
D. 但降低了系统的可靠性和可移植性,不适用于分布式系统

答案:A

解析:微内核将非核心功能移至用户态,内核本身更小、更稳定,增强了可靠性和可移植性,且天然支持分布式系统。

题目3:在设计中实现可移植性设计的规则不包括( )。

A. 将设备相关程序和设备无关程序分开设计
B. 可使用特定环境的专用功能
C. 采用平台无关的程序设计语言
D. 不使用依赖于某一平台的类库

答案:B

解析:使用特定环境的专用功能会使代码依赖该平台,在其他平台上无法运行,会大大降低可移植性。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐