作为一个程序员,你肯定设想过创造属于自己的操作系统,这其中涉及非常多的知识。本文大概介绍了涉及的知识点,并给出了相关书籍和参考源代码仓库!
OS的层级模型
层级 | 涉及知识 | |
---|---|---|
材料,工艺 | ||
电路设计 | EDA, VHDL, Verilog | |
硬件 | CPU,内存,硬盘,显示器等 | 串口,网口,bt1120等协议,电磁兼容。总线协议 |
CPU | X86, ARM, RISC, DSP, | 指令集,体系结构。专用加速核心 H264等 |
汇编 | intel, AT&T | 不同的体系结构和语法 |
链接器 | ld | uboot,kernel链接过程 |
编译器 | gcc, golang | ld,编译器,makefile, gdb |
OS | 进程,内存,文件,IO等 | |
标准库 | open,close,read,fork等 | posix接口,glibc, QT,MFC,TF, Caffe等 |
实用程序 | shell,编辑器,浏览器 | 软件协议,OSI网络模型 |
用户 | 交互设计 |
LFS
Linux From Scratch 从源码开始构建一个可用的 Linux 操作系统。 可以从 LFS BLFS CLFS 这几个项目入手!
学习 Linux From Scratch(LFS)是一个深入了解 Linux 内部工作原理的有趣而丰富的过程。以下是一份简单的学习 LFS 的资源链接列表:
LFS 官方网站
LFS 项目手册
Beyond Linux From Scratch (BLFS)
LFS 论坛
LFS 下载页面
LFS 指南
Hints 文档
在线交流
LFS Git 仓库
视频教程
- Linux from Scratch (LFS) Tutorial by TheUrbanPenguin on YouTube.
其他资源
学习步骤:
- 阅读 LFS 指南,了解整个 LFS 构建过程。
- 下载 LFS 项目手册,并按照其中的步骤逐步构建自己的 Linux 系统。
- 深入学习 Beyond Linux From Scratch (BLFS),这是一个提供额外软件安装的扩展。
- 在 LFS 论坛或 Reddit 上寻求帮助,与其他学习者和有经验的用户交流经验。
记住,LFS 是一项深入的任务,需要花费一些时间和耐心。确保在学习过程中理解每个步骤,这将有助于提高对 Linux 系统的整体理解。
相关书籍
30天自制操作系统
自制编译器
自制搜索引擎
自己动手实现Lua
两周自制脚本语言
自制编程语言
CPU自制入门
link and loader
Orange’S:一个操作系统的实现
Linux内核完全注释
没看过这本书,可以说内核没入门。
作为一个合格的计算机专业学生,半年搞懂OS并实现一个,就是个大作业水平!
相关仓库
https://rcore-os.github.io/rCore-Tutorial-Book-v3/
相关文章
手把手教你构建 C 语言编译器
“手把手教你构建 C 语言编译器” 这一系列教程将带你从头编写一个 C 语言的编译器。希望通过这个系列,我们能对编译器的构建有一定的了解,同时,我们也将构建出一个能用的 C 语言编译器,尽管有许多语法并不支持。
- 相关书籍和源代码仓库收集中!
- 有什么好的仓库可以留言建议!