原创

作为一个程序员,你肯定设想过创造属于自己的操作系统,这其中涉及非常多的知识。本文大概介绍了涉及的知识点,并给出了相关书籍和参考源代码仓库!

OS的层级模型

层级涉及知识
材料,工艺
电路设计EDA, VHDL, Verilog
硬件CPU,内存,硬盘,显示器等串口,网口,bt1120等协议,电磁兼容。总线协议
CPUX86, ARM, RISC, DSP,指令集,体系结构。专用加速核心 H264等
汇编intel, AT&T不同的体系结构和语法
链接器lduboot,kernel链接过程
编译器gcc, golangld,编译器,makefile, gdb
OS进程,内存,文件,IO等
标准库open,close,read,fork等posix接口,glibc, QT,MFC,TF, Caffe等
实用程序shell,编辑器,浏览器软件协议,OSI网络模型
用户交互设计

computer architecture

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 仓库

视频教程

其他资源

学习步骤:

  1. 阅读 LFS 指南,了解整个 LFS 构建过程。
  2. 下载 LFS 项目手册,并按照其中的步骤逐步构建自己的 Linux 系统。
  3. 深入学习 Beyond Linux From Scratch (BLFS),这是一个提供额外软件安装的扩展。
  4. 在 LFS 论坛或 Reddit 上寻求帮助,与其他学习者和有经验的用户交流经验。

记住,LFS 是一项深入的任务,需要花费一些时间和耐心。确保在学习过程中理解每个步骤,这将有助于提高对 Linux 系统的整体理解。

相关书籍

30天自制操作系统

自制编译器

自制搜索引擎

自己动手实现Lua

两周自制脚本语言

自制编程语言

CPU自制入门

Orange’S:一个操作系统的实现

Linux内核完全注释

没看过这本书,可以说内核没入门。

作为一个合格的计算机专业学生,半年搞懂OS并实现一个,就是个大作业水平!

相关仓库

https://rcore-os.github.io/rCore-Tutorial-Book-v3/

相关文章

如何编写Linux驱动
本文介绍了编写驱动必备基础知识,编写驱动的难点之处。并从按键驱动到Sensor驱动简单介绍示范了驱动编写过程。并给出了驱动学习方法和评价驱动能力的技术指标!
3G,4G,Wifi选型需求分析及技术简介
详细介绍了3G,4G,wifi技术类型,选型,移植,性能介绍全过程。写了好多年了,禁止转载,第一次公开发表。
海思MPP&UNF构架源代码级分析
行业中分析海思MPP内核构架,源码分析,多年经验总结积累结果。写了好多年了,禁止转载,第一次公开发表。
如何实现自己的操作系统
作为一个程序员,你肯定设想过创造属于自己的操作系统,这其中涉及非常多的知识。本文大概介绍了涉及的知识点,并给出了相关书籍和参考源代码仓库!
手把手教你构建 C 语言编译器
“手把手教你构建 C 语言编译器” 这一系列教程将带你从头编写一个 C 语言的编译器。希望通过这个系列,我们能对编译器的构建有一定的了解,同时,我们也将构建出一个能用的 C 语言编译器,尽管有许多语法并不支持。
  • 相关书籍和源代码仓库收集中!
  • 有什么好的仓库可以留言建议!

参考

系列教程

全部文章RSS订阅

系统编程系列


作者: 夜法之书
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 夜法之书 !
评论
数据加载中 ...
 上一篇

阅读全文

如何编写Linux驱动?
如何编写Linux驱动? 如何编写Linux驱动?
本文介绍了编写驱动必备基础知识,编写驱动的难点之处。并从按键驱动到Sensor驱动简单介绍示范了驱动编写过程。并给出了驱动学习方法和评价驱动能力的技术指标!
2022-07-28
下一篇 

阅读全文

手把手教你构建 C 语言编译器
手把手教你构建 C 语言编译器 手把手教你构建 C 语言编译器
“手把手教你构建 C 语言编译器” 这一系列教程将带你从头编写一个 C 语言的编译器。希望通过这个系列,我们能对编译器的构建有一定的了解,同时,我们也将构建出一个能用的 C 语言编译器,尽管有许多语法并不支持。
2022-07-27