一、操作系统是什么?

操作系统是什么?

教科书上的定义是:“操作系统是管理计算机硬件与软件资源的系统软件。”它负责进程管理、内存管理、文件系统、设备驱动——这些是每一个计算机专业学生都能背出来的标准答案。

但如果我们换一个角度,用钱学森的眼光来看操作系统,会发现一个被长期忽视的事实:

操作系统本质上是一个控制系统。

它管理的不是“物”,而是“关系”——进程与CPU之间的关系、程序与内存之间的关系、数据与存储之间的关系、用户与设备之间的关系。它不是在处理静态的资源,而是在控制一个动态系统的运转状态

钱学森在《工程控制论》中将这门学科的内容界定为“系统各个部分之间的相互作用的定性性质以及整个系统的运转状态”-。用这个定义来衡量操作系统,几乎就是为它量身定做的:

  • “系统各个部分之间的相互作用”——进程调度、内存分配、中断处理、设备通信

  • “整个系统的运转状态”——系统负载、响应时间、吞吐量、稳定性

操作系统就是一个典型的“被控制系统”——它接收硬件的中断信号、用户的操作指令、应用程序的系统调用,然后做出响应、调度资源、执行任务。但它对自己的“运转状态”有多少感知?

答案令人遗憾:非常有限。

二、操作系统的“运转状态”盲区

今天的操作系统,在管理资源方面已经非常成熟。它知道CPU利用率是多少、内存占用了多少、磁盘I/O有多快。但这些是“性能指标”,不是“运转状态”。

“性能指标”和“运转状态”有什么区别?

性能指标回答的是“多快、多少”——CPU用了80%,内存用了12GB。运转状态回答的是“好不好、稳不稳”——系统是健康的还是脆弱的?是确定的还是不确定的?是安全的还是即将出问题的?

今天的操作系统,能精确告诉你CPU利用率,但无法告诉你“系统现在是否处于不确定状态”。当多个进程发生死锁、当内存出现泄漏、当磁盘出现坏道时,操作系统通常是在问题已经发生之后才报告异常。它缺乏对自身“运转状态”的实时感知能力

更关键的是,操作系统没有“知道自己不知道”的能力。当系统负载突然升高、当I/O延迟突然增加、当大量中断同时到达时,操作系统不知道“自己是不是快撑不住了”。它只会继续按照预设的调度算法运行,直到彻底崩溃。

这正是钱学森在《工程控制论》中所指出的问题:控制系统必须能够感知自身的状态,并根据状态调整行为。 一个没有状态感知能力的控制系统,就像一辆没有仪表盘的汽车——你只能凭感觉判断它还能开多久。

三、钱学森系统科学的视角:操作系统是一个“开放的复杂巨系统”

钱学森在1990年提出了“开放的复杂巨系统”概念。他指出,这类系统“与周围的环境有物质、能量、信息等的交换,并包含诸多的子系统,这些子系统之间有层次结构,各层次结构之间存在复杂的关系”-。

操作系统恰恰符合这个定义:

  • 开放性:操作系统与硬件、应用程序、用户、网络持续交换信息

  • 复杂性:包含进程管理、内存管理、文件系统、网络协议等众多子系统

  • 巨量性:数百万行代码、数千个并发进程、数万个内核对象

  • 层次性:硬件层→内核层→系统服务层→应用层,每一层都有不同的规律和特征

钱学森进一步指出,社会系统、人脑系统、人体系统等都是“开放的复杂巨系统”-。操作系统作为连接硬件与软件的枢纽,其复杂程度虽然不及社会系统和人脑系统,但在人工系统中,它是最接近“开放的复杂巨系统”的存在之一。

面对这类系统,钱学森提出的方法是“从定性到定量综合集成法”——把专家体系、知识体系和计算机体系三者结合起来,构成一个“人机结合”的智能化系统-。

今天的操作系统,恰恰缺少这个“综合集成”的视角。它擅长“定量”(精确的资源管理),但缺乏“定性”(对系统整体态势的判断)。它擅长“计算”,但缺乏“判断”。

四、传统方法的局限:为什么“监控指标”解决不了问题

面对操作系统的“运转状态盲区”,传统方法只有一条路:增加更多监控指标。

CPU利用率、内存使用率、磁盘I/O、网络带宽、进程数、上下文切换次数、中断频率……监控指标越加越多,仪表盘越来越复杂,但系统管理员面临的问题没有变少:

  • 当一个指标异常时,它意味着什么?是系统即将崩溃的前兆,还是正常波动?

  • 当多个指标同时异常时,哪个是原因,哪个是结果?

  • 当所有指标都正常但系统还是出问题了——怎么办?

问题在于:监控指标回答的是“什么”,不是“意味着什么”。 它们告诉你CPU利用率是95%,但不告诉你“系统现在处于高负载但稳定的状态”还是“系统正在崩溃的边缘”。前者是数据,后者是判断。

这就是钱学森所说的“从定性到定量”的反面——只有定量(数据),没有定性(判断)。

五、WOLM能给操作系统带来什么

WOLM给操作系统带来的,不是一个“更好的监控工具”,而是一套完整的运转状态感知与自主调节能力

1. U值:系统“健康度”的实时量化指标

U值(全局认知势)是系统内部状态的统计方差。在WOLM中,U值度量的是认知系统的确定程度。在操作系统中,U值可以度量系统运转状态的“一致程度” :

  • 当所有子系统运行正常、各项指标协调一致时,U值低——系统“健康”

  • 当某些子系统出现异常、各项指标互相矛盾时,U值高——系统“不确定”

U值让操作系统第一次拥有了一个综合的、实时的“健康度”指标。它不是某一个具体的性能数据,而是对系统整体运转状态的量化评估。

2. 从“异常检测”到“态势感知”

传统操作系统做的是“异常检测”——CPU超过90%就告警,内存不足就报错。WOLM做的是“态势感知”——系统通过接收来自各个子系统的事件(“进程调度延迟增加”、“内存分配失败率上升”、“磁盘响应时间变长”),在64卦完备态势空间中涌现出当前系统的整体态势:

  • “系统处于高负载但稳定的运行态势”

  • “系统处于资源紧张但可调节的态势”

  • “系统处于即将崩溃的危险态势”

这不是从单一指标推导出来的,而是从所有事件的综合关系中涌现出来的。

3. 从“被动响应”到“自主调节”

传统操作系统对异常是“被动响应”的——问题发生了,记录日志,通知管理员。WOLM让操作系统具备了“自主调节”的能力:

  • U值低时:系统确定,继续保持当前运行策略

  • U值升高时:系统不确定,主动调整调度策略、限制非关键进程、释放缓存

  • U值超过警戒阈值时:触发内生安全降级——强制进入安全模式、限制新任务接入、优先保障核心服务

这不是“更复杂的规则”,而是系统根据自身状态自主调整行为的动力学机制

4. 从“事后诊断”到“事前预判”

传统操作系统的问题诊断是“事后的”——系统出问题了,管理员去查日志、分析原因、修复问题。WOLM让操作系统具备了“事前预判”的能力——当U值持续升高时,系统知道自己正在走向不确定状态,在问题发生之前就主动调节。

这正是钱学森所说的“反馈系统要比开环系统强”——系统通过U值这个反馈信号,在问题发生之前就做出调整。

六、一个直观的场景

假设一个服务器操作系统正在经历流量高峰。

传统操作系统:CPU利用率从60%升到85%,再升到95%。监控系统在CPU超过90%时发出告警。系统继续运行,直到某个进程因资源不足被杀死,或者响应时间变得不可接受。管理员收到告警后登录服务器,查看日志,手动调整参数。

装了WOLM的操作系统:系统持续接收来自各个子系统的事件。当CPU升高时,U值开始上升。当内存分配开始出现延迟时,U值进一步上升。系统在64卦空间中涌现态势——“系统处于资源紧张但可调节的态势”。系统自动调整调度策略,限制非关键进程的资源占用。如果流量继续攀升,U值继续升高,系统触发安全降级——优先保障核心服务,拒绝新连接,直到U值回落到安全区间。

它不是在“执行规则”,它是在判断

七、结语

钱学森在《工程控制论》中指出,控制论的基本问题“就在于存在各种不确定因素”-。他研究的核心是“系统各个部分之间的相互作用的定性性质以及整个系统的运转状态”-。

操作系统,这个连接硬件与软件、管理所有计算资源的系统软件,正是这样一个“控制系统”。但今天的操作系统,在“运转状态”的感知和“不确定性”的处理上,还有很长的路要走。

WOLM不是要替代操作系统的资源管理功能。它是在操作系统之上,给它装上了一个它一直没有的东西:对自身运转状态的感知能力,以及在不确定时自主调节的判断力。

让操作系统从“被动的资源管理器”升级为“能感知自身状态的智能系统”,让操作系统从“事后诊断”变成“事前预判”——这正是钱学森系统科学思想在操作系统领域的当代实践。

正如钱学森在《工程控制论》中所期望的——“给人们提供一个更加广阔的视野和更加系统的解决问题方法”-——WOLM把工程控制论关于“系统运转状态”和“不确定性处理”的核心思想,与当代操作系统的实际工程经验结合起来,让操作系统第一次拥有了真正意义上的“系统感知”能力

Logo

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

更多推荐