「OPERATING-SYSTEM」- 操作系统 | Operating System

该部分笔记:侧重于操作系统原理,涉及较少操作,操作偏向于验证原理;

虽然我们的工作以维护应用服务为主(例如 DB、Webserver、MQ、Java Web 等等环境),但是操作系统的使用却是基本功。例如,我们必须了解如何在系统中如何配置网络,每个发行版的配置方法都有所出入;我们也必须了解如何配置磁盘,以对数据盘进行扩容;我们还必须了解进程管理的方法,以处理服务的极端情况。这些都是使用操作系统的基本知识,只有掌握这些知识,才能在此之上流畅的进行服务管理;

鉴于此,该部分笔记更加偏向于操作系统的日常维护,比如网络配置、日志管理、存储管理、数据备份(操作系统层面)、进程管理等等。且偏向于操作系统在终端环境(multi-user.target)下的使用与维护(是在操作系统启动之后需要进行的工作);

该笔记将记录:与操作系统维护相关的内容(比如,网络配置、日志管理、数据备份(操作系统层面)、进程管理等等),以及常用配置场景、相关问题的处理方法;

认识

WIP

组成

《操作系统原理》

核心组成

内核核心功能(进程、内存、设备管理,系统调用)。
进程管理进程调度、同步、通信。
内存管理内存分配、虚拟内存、地址转换。
文件系统文件存储、目录管理、权限控制。
设备管理驱动管理、I/O 调度、即插即用。
安全模块认证、权限控制、加密。
网络模块协议支持、资源共享、网络安全。

系统调用接口

系统调用接口是应用程序访问操作系统服务的入口,提供 API(应用程序接口)和 ABI(应用二进制接口)规范。应用程序通过系统调用请求操作系统服务,如文件操作、进程管理和网络通信。

系统工具和软件库

这些组件为操作系统提供基本功能,包括:

  • ‌工具软件‌:如任务管理器、磁盘清理程序等,用于系统维护和优化。
  • ‌软件库‌:如编译器和程序库,支持应用程序开发和运行。

用户交互接口

用户接口是用户与操作系统交互的桥梁,主要包括:

  • ‌图形用户界面 (GUI)‌:通过可视化方式与用户交互,如 Windows 的桌面环境。
  • ‌命令行界面 (CLI)‌:通过文本命令与系统交互,如 Linux 的 Shell。

附加服务

现代操作系统通常还包括一些附加软件,如:

  • ‌常用应用程序‌:如日历、计算器、浏览器等。
  • ‌实用程序‌:如杀毒软件、防火墙等,用于系统安全和维护。

应用服务

针对特定场景,现代操作系统通常附带特定应用:

  • 路由器操作系统,其附带网络相关的服务;
  • 防火墙操作系统,其附带网络安全相关的服务;
  • 存储操作系统,其附带很多存储相关的软件及服务;

构建

WIP

性质

—— 该部分将介绍:我们拥有操作系统之后,能够使用操作系统完成的工作或解决的问题。限于篇幅的原因,该处仅记录我们日常接触到(或需要使用的操作系统)。

通用操作系统(General-Purpose Operating System)是指设计用于支持广泛应用程序和任务的计算机操作系统,与专用操作系统(如嵌入式系统、实时操作系统等)相对。主流通用操作系统有桌面操作系统(Windows、Linux、macOS)、服务器操作系统(Linux Server、Windows Server、Unix)等等。针对该类操作系统,其通常不会服务于特定的应用场景,而是针对场景安装工具之后使用。

专用操作系统(Special-Purpose Operating System,SPOS)是指为特定应用场景或硬件平台设计的操作系统,与通用操作系统(如Windows、Linux、macOS)不同,它通常针对特定任务进行优化,提供更高的效率、实时性或安全性。例如,网络操作系统(Cisco IOS、SONiC)、车载系统(Tesla Version 12、BMW OS 8)、空间计算系统(NASA cFS、SpaceX Dragon)、实时操作系统(VxWorks、FreeRTOS、RT-Thread)。针对该类系统,其通常具有高度定制化、资源高效利用和特定功能强化等特点。

Linux Distribution | Linux 发行版 | LINUX-DISTRIBUTION

WIP

交换机操作系统

开源网络交换机操作系统(NOS)是近年来网络技术发展的重要趋势之一,它们为数据中心、云计算和企业网络提供了灵活、可定制和高性能的解决方案。

SONiC (Software for Open Networking in the Cloud)
https://github.com/sonic-net/SONiC
开发者:微软主导,现由 Linux 基金会管理。
特点

– 基于 Debian Linux,模块化设计,支持容器化部署(如 Docker)。

– 通过 SAI(Switch Abstraction Interface)兼容多种 ASIC 芯片(如 Broadcom、Mellanox 等)。

– 支持 BGP、VXLAN、EVPN 等协议,广泛应用于云数据中心(如微软 Azure)。

– 提供 REST API 和自动化工具(Ansible、NETCONF),适合 SDN 和 NetDevOps 场景。

应用案例:阿里、腾讯、百度等中国互联网公司参与的“凤凰项目”对其进行了适配和增强。

OpenSwitch (HP/Aruba)
https://www.openswitch.net/
开发者:惠普联合英特尔、VMware 等推出。
特点

– 基于 Linux,专注于超大规模数据中心和 BGP 场景。

– 支持白盒交换机(如惠普 Altoline),强调开源社区的协作开发。

现状:惠普曾计划推出“品牌化”版本,但后续发展较少见公开更新。

ONL (Open Network Linux)
https://github.com/opencomputeproject/OpenNetworkLinux | 04/08/2025 latest commit 28f52e6 7 months ago
角色:作为基础操作系统(Base OS),为 SONiC 等提供底层支持。
特点

– 专为白盒交换机设计,包含硬件驱动(如风扇、电源管理)。

– 通常与 SAI 和 SONiC 组合使用,形成完整的 NOS 解决方案。

DENT | by Linux 基金会
https://dent.dev/
开发者:针对边缘网络和中小企业。
特点

– 基于 Linux 内核,支持轻量级部署。

– 目标是与 SONiC 互补,覆盖更广泛的网络场景。

Stratum | by 谷歌等公司推动
https://github.com/stratum/stratum
特点

– 专注于 P4 可编程芯片和白盒交换机。

– 支持 OpenFlow 和 P4 运行时,适合 SDN 研究。

FBOSS (Facebook Open Switching System) | by Facebook
https://github.com/facebook/fboss | 04/08/2025 latest commit 3963a55 4 minutes ago
特点

– 基于 Linux,通过 Thrift 接口实现集中管理。

– 强调高可用性和状态管理,适合大规模数据中心。

现状:Facebook 内部使用较多,开源生态相对较小。

### 选择建议:
云数据中心:SONiC 是首选,因其成熟度和社区支持。
企业网络:可考虑基于 SONiC 的发行版(如星融元的 AsterNOS),提供增强功能和支持服务。
边缘 / 实验场景:DENT 或 Stratum 可能更合适。

该类系统均通过开源模式降低了硬件依赖,推动了网络设备的标准化和灵活性。

防火墙操作系统

List of router and firewall distributions – Wikipedia

pfSense,World’s Most Trusted Open Source Firewall
OPNSense,Secure Your Network with ease
IPFire,通过 frr/bird 动态路由,支持 VPN 组网(IPSec/OpenVPN),作为我们的备选方案
Sophos | Free Firewall Home Edition | https://www.sophos.com/en-us/free-tools/sophos-xg-firewall-home-edition

  • 功能:免费;功能上没区别;硬件 4c6g 限制;据说漏洞较多(04/11/2025);

OpenGFW | OpenGFW is your very own DIY Great Firewall of China, … | https://gfw.dev/

  • 功能:支持处理多种 TCP UDP 协议;加密流量识别,例如 SS VMess 等等;高性能架构;负载均衡;可扩展性;……

路由器操作系统

List of router and firewall distributions
Comparison of router software projects
List of router firmware projects
5 Router OS Turns Old PC Into High Performance Router And Enterprise Network Switch
13 Best Open Source Router OS for Small to Large Networks (2022)

硬件路由器,比如以前很火的就是极 1s 路由宝斐讯 k2 联想的 N1 刷潘多拉 opt lede 之类的都可以刷的闲鱼上的很多卖的 30 50 块就可以买一个了 ⇒ 在硬件路由器上,刷入新的路由器系统,也算是软路由。但这与我们的场景无关,这里仅作记录,一笔带过;/////

针对嵌入式路由器使用的操作系统,该”嵌入式“是为了形容这些路由器系统为小型的,能满足基本的路由功能。比如 Padavan、海蜘蛛、爱快、koolshare(koolshare 论坛于 2021 年 10 月 1 日前关闭)等等,这些都是我们听说过的、常见的路由器系统。

企业级路由器操作系统,比如 VyOS、RouterOS、pfsense、Zeroshell 等等,有开源的,也有付费的,这些路由器操作系统的功能更加复杂,适用于大型网络环境;

VyOS,能够满足我们的需求。但其主要使用 GPL 许可(无法商用),并且需要订阅才能获取软件更新和安全修复;
Sophos XG Home FirewallMicroTik RouterOSUntangle,为商业软件,需要购买相关许可;
OpenWRTDD-WRTAdvanced TomatoFresh Tomato,该类

  • 场景:家用路由器、物联网设备、定制化网络解决方案。刷机家用路由器,提升原厂固件功能。路由器系统具备基础的网络路由功能,但是并不具备企业路由的功能及特性;

ClearOS,运行在 HPE 中,适合小型的网络。虽然其中集成网络、网关等等组件,但严格说我们认为它并不适合做路由器系统;

Zeroshell,功能相对丰富,偏向与小型企业网络环境。但该项目已不再维护(Zeroshell End Of Life);

Fli4I,从功能上看,并不能满足我们的需求;

Azure/SONiC: Landing page for Software for Open Networking in the Cloud (SONiC) – http://azure.github.io/SONiC/

Cisco IOS

Kubernetes Operating System

Kairos 是一个专为 Kubernetes 设计的不可变操作系统(Immutable OS),特别适用于边缘计算和云原生环境。它通过独特的设计理念简化了 Kubernetes 节点的管理和部署。
https://kairos.io/
https://kairos.io/docs/
https://github.com/kairos-io/kairos

应用

常用办公的桌面操作系统 | OS for Working

桌面操作系统是一种软件,用于管理计算机上的硬件和软件资源,并提供用户界面,使用户可以与计算机进行交互。桌面操作系统在个人电脑和工作站上广泛使用;

常见的桌面操作系统包括:

  • Windows:由微软开发的操作系统,目前最常用的桌面操作系统之一。Windows 提供了用户友好的图形用户界面和广泛的应用程序支持;
  • macOS:由苹果公司开发的操作系统,专门用于苹果电脑(Mac)系列产品。macOS 注重用户体验和设计,具有强大的多媒体功能和内置的创作工具;
  • Linux:一种开源的操作系统,具有多个发行版(如 Ubuntu、Fedora、Debian 等)。Linux 具有高度的可定制性和灵活性,广泛用于个人电脑和服务器;

这些桌面操作系统都提供了文件管理、应用程序运行、网络连接、安全管理等基本功能,同时还支持各种应用程序和工具的安装和运行。选择哪个桌面操作系统取决于用户个人偏好、硬件要求和特定的应用需求;