Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • 操作系统概述
  • 计算机基础

    • 计算机系统全景
      • 1. 学习目标
      • 2. 知识框架
      • 3. 核心概念
      • 4. 机制与实践
      • 5. 常用命令与工具
      • 6. 常见误区
      • 7. 进阶研究方向
      • 8. Tips 快问快答
      • 9. 总结
    • 数制编码与数据表示
    • CPU架构与指令执行
    • 内存层次与缓存
    • 总线IO与设备模型
    • 文件存储与磁盘
    • 网络基础与协议栈
    • 虚拟化容器与云基础
  • 操作系统原理

  • Linux

  • MacOS

  • Windows

  • 系统工程与研究专题

目录

计算机系统全景

学习操作系统之前,先要知道一台计算机由哪些层次组成。应用、运行时、操作系统、驱动、硬件并不是孤立模块,而是一条从业务逻辑到电子信号的执行链路。

# 1. 学习目标

  • 理解计算机从应用到硬件的分层模型。
  • 能解释程序运行时 CPU、内存、磁盘、网络分别承担什么职责。
  • 建立后续学习操作系统、网络、数据库和 JVM 的统一底座。

# 2. 知识框架

计算机系统全景
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料

可以把计算机系统看作“应用提出需求,操作系统分配资源,硬件执行动作”。新手先记住层次,进阶再理解每层接口,专家要能跨层定位问题。

# 3. 核心概念

主题 说明 工程关注
硬件 CPU、内存、磁盘、网卡、总线等物理资源 性能上限、故障边界、容量规划
操作系统 管理硬件并向应用提供抽象 进程、文件、网络、权限、调度
运行时 JVM、.NET、Node.js、Python 解释器等 把语言模型映射到系统调用和资源使用
应用程序 业务代码和第三方依赖 可靠性、可观测性、资源释放

# 4. 机制与实践

  1. 画出一次 HTTP 请求在应用、运行时、内核、网卡之间的流转路径。
  2. 遇到慢请求时,同时观察 CPU、内存、磁盘 IO、网络连接和应用日志。
  3. 把“现象、资源、调用链、配置变更”分开记录,避免只凭直觉调参。

# 5. 常用命令与工具

命令或工具 作用 使用建议
uname -a 查看类 Unix 系统内核和平台信息 定位平台差异时先确认环境
lscpu 查看 Linux CPU 拓扑 分析线程数、NUMA 和虚拟化时使用
systeminfo 查看 Windows 系统信息 排查补丁、启动时间和硬件概况

# 6. 常见误区

  • 只学命令不学模型:命令只是入口,真正排障需要知道命令背后的资源模型。
  • 把应用问题和系统问题割裂:线程阻塞、文件句柄耗尽、DNS 慢解析都可能从应用层表现出来。
  • 忽略环境差异:同一段程序在容器、虚拟机、物理机上的资源边界可能完全不同。

# 7. 进阶研究方向

  • 阅读经典教材中关于“计算机系统抽象”的章节。
  • 用一次简单程序的执行过程串起编译、加载、系统调用和硬件执行。
  • 建立自己的故障分析模板:现象、影响面、时间线、证据、假设、验证。

# 8. Tips 快问快答

Q:为什么学习操作系统要先学计算机基础?

A:因为操作系统本质上是在管理硬件资源,如果不知道 CPU、内存、磁盘、网络的基本职责,就很难理解调度、缓存、IO 和隔离。

Q:应用开发者需要懂硬件吗?

A:需要懂到“能解释性能和故障”的程度,不一定要做电路设计,但要理解缓存、磁盘、网络和虚拟化对程序的影响。

Q:计算机基础和操作系统的关系是什么?

A:计算机基础回答硬件和数据如何工作,操作系统回答如何把这些能力抽象成进程、文件、内存和网络接口。

# 9. 总结

计算机系统不是一个黑盒,而是一组层次清晰的协作组件。掌握这张全景图后,学习操作系统时就不会只停留在命令和界面,而能理解资源、抽象和边界。

上次更新: 2026/06/25, 10:02:19
操作系统概述
数制编码与数据表示

← 操作系统概述 数制编码与数据表示→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式