操作系统实战
文章平均质量分 92
操作系统实战
_Rye_
左手代码右手诗
一行代码一行诗
展开
-
05 | CPU工作模式:执行程序的三种模式
我们在前面已经设计了我们的 OS 架构,你也许正在考虑怎么写代码实现它。恕我直言,现在我们还有很多东西没搞清楚。由于 OS 内核直接运行在硬件之上,所以我们要对运行我们代码的硬件平台有一定的了解。接下来,我会通过三节课,带你搞懂硬件平台的关键内容。今天我们先来学习 CPU 的工作模式,硬件中最重要的就是 CPU,它就是执行程序的核心部件。而我们常用的电脑就是 x86 平台,所以我们要对 x86 CPU 有一些基本的了解。按照 CPU 功能升级迭代的顺序,CPU 的工作模式有。原创 2023-10-11 21:00:26 · 471 阅读 · 0 评论 -
04 | 震撼的Linux全景图:业界成熟的内核架构长什么样?
什么?你想成为计算机黑客?梦想坐在计算机前敲敲键盘,银行账号里的数字就会自己往上涨。拜托,估计明天你就该被警察逮捕了。真正的黑客是对计算机技术有近乎极致的追求,而不是干坏事。下面我就带你认识这样一个计算机黑客,看看他是怎样创造出影响世界的 Linux,然后进一步了解一下 Linux 的内部结构。同时,我也会带你看看 Windows NT 和 Darwin 的内部结构,三者形成对比,你能更好地了解它们之间的差异和共同点,这对我们后面写操作系统会很有帮助。原创 2023-10-11 20:52:07 · 169 阅读 · 0 评论 -
03 | 黑盒之中有什么:内核结构与设计
在上节课中,我们写了一个极简的操作系统——Hello OS,并成功运行,直观地感受了一下自己控制计算机的乐趣,或许你正沉浸在这种乐趣之中,但我不得不提醒你赶快从这种快乐中走出来。因为我们的 Hello OS 虽然能使计算机运行起来,但其实没有任何实际的功能。什么?没有实际功能,我们往里增加功能不就好了吗?你可能会这样想,但是这样想就草率了,开发操作系统内核(以下简称内核)就像建房子一样,房子要建得好,就先要设计。原创 2023-10-05 17:16:03 · 57 阅读 · 0 评论 -
02 | 几行汇编几行C:实现一个最简单的内核
我们知道,在学习许多编程语言一开始的时候,都有一段用其语言编写的经典程序——Hello World。这不过是某一操作系统平台之上的应用程序,却心高气傲地问候世界。而我们学习操作系统的时候,那么也不妨撇开其它现有的操作系统,基于硬件,写一个最小的操作系统——Hello OS,先练练手、热热身,直观感受一下。请注意,这节课主要是演示思路,不要求你马上动手实现。详细的环境安装、配置我们到第十节课再详细展开。原创 2023-10-05 16:24:50 · 130 阅读 · 0 评论 -
01 | 程序的运行过程:从代码到机器运行
在真正打造操作系统前,有一条必经之路:你知道程序是如何运行的吗?一个熟练的编程老手只需肉眼看着代码,就能对其运行的过程了如指掌。但对于初学者来说,这常常是很困难的事,这需要好几年的程序开发经验,和在长期的程序开发过程中对编程基本功的积累。我记得自己最初学习操作系统的时候,面对逻辑稍微复杂的一些程序,在编写、调试代码时,就会陷入代码的迷宫,找不到东南西北。不知道你现在处在什么阶段,是否曾有同样的感受?我常常说,扎实的基本功就像手里的指南针,你可以一步步强大到不依赖它,但是不能没有。原创 2023-10-05 15:50:24 · 184 阅读 · 0 评论