第 1 章:为什么选择 Linux
学习目标
- 理解 Linux 在计算机体系结构学习中的重要性
- 了解 Linux 的历史和发展
- 认识 Linux 的优势
1.1 Linux 简史
Unix 的诞生
1969 年,贝尔实验室的 Ken Thompson 和 Dennis Ritchie 开发了 Unix 操作系统。Unix 的设计哲学影响了后来几乎所有的操作系统。
Linux 的诞生
1991 年,芬兰大学生 Linus Torvalds 开发了 Linux 内核。他在新闻组发布了著名的邮件:
“I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu)…”
如今,Linux 已经成为服务器、超级计算机、嵌入式系统的主流操作系统。
1.2 为什么学习体系结构要用 Linux?
1. 开源透明
Linux 是开源的,你可以查看和修改任何代码。学习处理器设计时,你需要深入理解操作系统如何与硬件交互,Linux 提供了这个机会。
2. 强大的命令行
处理器开发涉及大量的编译、仿真、调试工作,Linux 的命令行工具链非常强大且高效。
3. 丰富的开发工具
- GCC/Clang:编译器
- GDB:调试器
- Make/CMake:构建工具
- Verilator/Vivado:硬件仿真工具
这些工具在 Linux 上运行最稳定。
4. 行业标准
几乎所有的处理器设计公司(Intel、AMD、ARM、RISC-V)都使用 Linux 作为开发环境。
1.3 Linux 发行版选择
推荐发行版
Ubuntu(推荐新手)
- 用户友好,文档丰富
- 软件包齐全
- 社区活跃
Debian
- 稳定可靠
- Ubuntu 的上游发行版
Arch Linux(进阶用户)
- 滚动更新
- 高度可定制
本课程使用
我们推荐使用 Ubuntu 22.04 LTS 或更新版本。
1.4 Linux 哲学
一切皆文件
在 Linux 中,硬件设备、进程信息都以文件形式呈现。这种抽象简化了系统设计。
小而美的工具
Unix/Linux 提倡开发小而专注的工具,通过管道组合完成复杂任务。
# 统计代码行数
find . -name "*.c" | xargs wc -l | sort -n
自动化一切
重复的工作应该用脚本自动化。这在处理器开发中尤为重要。
实践练习
- 阅读 《Unix 编程艺术》 第一章
- 观看纪录片 Revolution OS
- 思考:为什么开源对处理器设计很重要?
下一步
准备好了吗?让我们开始 第 2 章:Linux 安装与配置