自制操作系统系统性学习(OS)

这篇博客分享了作者系统学习操作系统的路径,包括从硬件基础知识到深入理解计算机系统,再到实践操作系统的课程和资源。作者通过学习哈工大李治军老师的课程和《一个64位操作系统的设计与实现》,逐步扩展Linux0.1.1并编写了自己的64位操作系统。博客还包含了学习过程中的实验说明、代码和思考,旨在鼓励持久、系统性的学习。
摘要由CSDN通过智能技术生成

项目地址:自制操作系统系统性学习

前言

在这里插入图片描述

操作系统,作为人类当前创造出来的最复杂的系统,其蕴含了大量精巧的设计。完全理解操作系统,应该是每一个程序员都想做的事情,但是每当我们想要去学习操作系统,了解其奥秘时,都会被里面 晦涩难懂的设计和一些闻所未闻的名词劝退。即使没有被劝退,非常痛苦的看完一本晦涩难懂的操作系统的书籍后,也会发现自己好像只是理解了一点操作系统的皮毛,并没有对其有一个很透彻的理解。而且时间长了之后,那些好不容易学到的"皮毛"也会被时间带来的“遗忘之风”吹散。

而且操作系统不仅要求对底层的硬件知识有一定的了解,对于汇编语言、C语言、数据结构与算法都需要有一定的基础。这些基础里面任何一个看起来都需要很长的时间去学习。因此完全理解操作系统,变成了一件非常非常困难的事情。而且在国内,由于操作系统的相关书籍水平参差不齐,大学的课程也大都将多个科目分开讲授,没有从实践的角度的解释清楚各个科目之间的联合,因此完全理解操作系统更是变得尤其困难。

在这里插入图片描述

但是近几年随着国内教育的变革,以及国内一些年轻的、怀着理想的程序员们可以在视频软件(如:B站) 上发布自己对一些知识的理解,并尝试用十分通俗易懂且形象的方式将其呈现出来。“星星之火,可以燎原。”这些微小的变化与努力汇集到一起,使得我们如果想要系统性地学习与了解操作系统,变得没有那么困难。下面是我自己整理的一些课程:

编程前你最好了解的基本硬件和计算机基础知识(模拟电路)

编程前你最好了解的基本硬件和计算机基础知识(数字电路)

从0到1设计一台计算机

北京大学精品公开课:计算机组成与设计

操作系统(哈工大李治军老师)

《一个64位操作系统的设计与实现》

深入理解计算机系统(动画视频)

深入理解计算机系统(原书第3版)

这些课程大多形象具体,老师们授课由浅入深,风格诙谐幽默,让晦涩难懂的东西变得通俗易懂。而且这些课程涵盖计算机系统的几个大的方面,大家可以按照 模电——> 数电 ——> 从0到1设计与实现计算机——> 计算机组成原理(北大)——>操作系统(哈工大)——>《一个64位操作系统的设计与实现》的顺序,并以《深入理解计算机系统》为辅助材料来进行学习。诚然,这是一个漫长的过程,但是大家按照这个顺序去学习,必然会有一定的收获。快餐式的学习一定会伴随着快餐式的遗忘,唯有缓慢地长期地系统性地学习才会为自己带来真正的成长,对一些知识也会有自己的理解。

在这里插入图片描述

而本项目除了介绍上面这些课程以外,主要记录了操作系统的学习过程中对于李志军老师讲授的操作系统课程中的 linux0.1.1进行扩展的一些实验说明及代码,以及通过阅读《一个64位操作系统的设计及实现》来自己编写的一个64位的操作系统,同时记录了自己实现过程的一些自己的想法与收获。如果哪些地方有问题,也欢迎各位指出来,一起进行学习与讨论。

项目结构说明

  • linux-0.1.1 : linux0.1.1 本身的源码。
  • linux-0.1.1-plus : linux0.1.1 扩展后的代码。
  • Without-OS :自己编写的完整的64位操作系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值