跳转到内容

碎碎念:计算机系统方向

当我们写下一行代码时,它最终是如何在机器上运行起来的?

一份程序运行为什么有时只需要几毫秒,有时却会卡上几秒?

操作系统如何管理成千上万个进程?

云服务商如何管理海量实例?

GPU、网络、存储……它们在计算机系统中又都扮演了什么角色?

如果说寻常的应用级编程关注的是 “怎样解决一个问题” ,那么 Computer Systems 更关心的是:

怎样让计算机真正高效、可靠地把这些事情做出来。

我们关注计算机世界里那些藏在应用代码背后的部分——从体系结构、操作系统、网络与编译器,到支撑现代云计算和 AI 应用的基础架构(Infrastructure)

事实上,选择在微光入门 System 是非常有竞争力的,我们历届的优秀学长学姐深耕了许多常见主流的 System (尤其是Infra)大方向,以及部分交叉方向,包括但不限于:

操作系统、计算机网络、云计算 & Serverless、虚拟化、分布式系统、高性能计算、编译器 & Programming Languages,以及近年火热的 AI Infra / ML Systems 等。

此外,西南地区高校唯一一篇操作系统第一顶会 osdi 是本工作室成员的本科工作产出。

假设微光科技集团今天挂牌成立。作为 CTO,你需要从 0 到 1 建设公司的业务系统。很快你会发现,除了实现具体的业务代码,还需要面对:

  • CPU / GPU / Memory / Storage / Network
  • Virtual Machine / Container
  • Database / Object Storage
  • Message Queue
  • Kubernetes
  • Logging / Monitoring
  • CI/CD
  • ……

当你脱离最表层的业务逻辑,开始以 CTO 视角审视整套系统,你就会追问:这些组件为什么这样设计?它们如何协同?当系统规模不断扩大,又如何保证性能、可靠性与可维护性?

这就是一个 System 方向关注的典型问题。

学习 System,你会逐渐发现:

与某些技术不一样,计算机本身并不是一个黑盒。

从 CPU、Memory 等硬件,到编译器、操作系统、网络、数据库、虚拟机和分布式系统,它们层层构建,最终支撑起今天的互联网、云服务和 AI Infrastructure。

因此,当你理解 System 后,看到的就不再只是:

request → response

而会开始追问:

这一毫秒花在哪里?为什么这里会慢?并发提高 10 倍会怎样?瓶颈会在网络,计算还是访存呢?如果机器宕机、网络丢包呢?

System 关注的,正是如何让系统从“能运行”走向“高效、稳定、规模化地运行”。


System 更像是一张连接计算机不同领域的地图:

  • Operating Systems:进程、线程、调度、虚拟内存、文件系统、系统调用、异步同步、I/O
  • Computer Networks:协议栈、RPC、负载均衡、路由、拥塞控制、RDMA
  • Distributed Systems:一致性、共识、容错、分布式存储与调度
  • Cloud & Infrastructure:虚拟化、容器、Kubernetes、Serverless、Observability、弹性伸缩
  • ……

它们总的来说,是在共同回答一个问题:

如何让越来越复杂、越来越庞大的计算机系统可靠地、高效地运行起来?


当前,AI 发展如日中天,System 也正在与 AI 越来越紧密地结合。

过去业界中更多关注:

“如何训练一个模型?”

而现在随着各家大模型供应商越来越重视Infra,也正在转向:

“如何让一个大模型在海量 GPU 上高效训练和推理?”

于是, GPU Architecture、CUDA、GPU Memory、Distributed Training、Scheduling、Inference Serving 等问题自然出现,System 问题如萌芽而生。AI Infra与传统 infra 也许技术栈上有差异,但是其类似统筹规划的思想是相通的:瓶颈在哪里?优化思路有哪些?如何组织规划多结构协作系统的各部分资源?


当然,以上的所有论述均只为了引人入胜,我们并不硬性要求大家对以上任何知识面熟悉或了解,Sys 方向的学习是循序渐进的。

本方向招新题会从基础的 C 语言教程入手,由浅入深地带大家接触系统方向的基础知识,并在复杂度允许的范围内,带大家体会计算机系统的魅力。

比起“会多少工具”,我们更看重的是:

你有没有兴趣深挖问题的本质。

学习过程中,你需要认真点出每一题的前置技能树,一点一点找到答案。

这也是我们认为系统方向学习中最重要的能力

面对复杂的计算机系统,建立抽象、定位问题、验证猜想,并最终把它真正搞明白。

如果你对底层、性能、系统设计、基础设施,或者“一个程序究竟是怎么跑起来的”感兴趣,欢迎来尝试。

我们期待和你一起,把计算机从黑盒拆开。

相信你会不虚此行。

对于已经进入大二,并且希望继续深入 Sys / Infra 方向的同学,我们更鼓励通过「光点计划」加入工作室

当然,有能力、有兴趣的大一同学同样欢迎尝试。