01-操作系统概述
什么是操作系统
操作系统(OS)是管理硬件资源、提供程序运行环境的系统软件。它是应用程序与硬件之间的桥梁。
操作系统核心职责
- 进程管理 — 创建、调度、终止进程
- 内存管理 — 分配、回收、虚拟内存映射
- 文件系统 — 组织和管理持久化存储
- 设备管理 — 通过驱动程序与硬件交互
- 网络栈 — 实现网络协议,提供 Socket 接口
- 安全与权限 — 用户隔离、访问控制
内核态 vs 用户态
| 特性 |
内核态 (Kernel Space) |
用户态 (User Space) |
| 权限 |
完全访问硬件 |
受限,通过系统调用 |
| 内存 |
可访问全部地址空间 |
只能访问自身虚拟地址空间 |
| 切换代价 |
系统调用/中断/异常触发切换 |
开销约 50-100ns (现代 CPU) |
Linux 哲学
- 一切皆文件 — 设备、进程、网络 socket 都抽象为文件
- 小而美 — 每个程序只做一件事,并做好
- 组合优于大而全 — 通过管道组合简单工具完成复杂任务
发行版选型(SRE 视角)
| 发行版 |
适用场景 |
| CentOS Stream / RHEL |
传统企业,长期支持,稳定优先 |
| Ubuntu LTS |
互联网公司,生态丰富,包版本新 |
| Debian |
追求极致稳定,基础镜像首选 |
| Alpine |
容器镜像,极致轻量(musl libc) |
| Fedora |
尝鲜新技术,个人学习 |
延伸阅读