计算机启动流程在我的上一个学习计划《自制操作系统》系列中,已经从完全不知道,过渡到了现在的了如指掌了,虽然有些夸张,但整个大体流程已经像过电影一样在我脑海里了,所以在看 linux 源码的这个 boot 部分时,几乎是看到的地方即使自己写不出,也知道它究竟在做什么,以及下一步可能要做什么,真的特别庆 ...
分类:
系统相关 时间:
2020-05-14 21:06:08
阅读次数:
119
前言: 在动手自制操作系统(Operating System)的时候,不要想着一次性就做成一个完整功能强大的OS。而是先做出基本的可以运行的OS,然后再根据自己的需要不断的改进,增加新功能。博主认为这就是分治的思想,哈哈哈哈。 如何开发OS? Ⅰ.首先,我们要知道什么是OS。OS就是指控制和管理整个 ...
分类:
其他好文 时间:
2020-05-06 13:48:17
阅读次数:
78
一、到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下。(红色部分就是我们今天要实现的) 二、简单打通键盘中断 既然要打通键盘中断,那必然需要你回顾一下 【自制操作系统08】中断 所讲述的外部中断的流程,下面我把图贴上。 如图所示,将上图中的某外部设备,换成下图中 ...
分类:
其他好文 时间:
2020-03-22 00:59:02
阅读次数:
124
一、到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下。红色部分是我们今天要实现的 二、进程与线程简述 相信看这篇文章的人,肯定不是对基本概念感兴趣,这也不是我的主要目的。所以这里真的是简述一下 进程和线程都是 独立的程序执行流,只不过进程有自己独立的内存空间,同 ...
分类:
编程语言 时间:
2020-03-04 22:54:03
阅读次数:
82
如果你有幸看到这一章,那么恭喜你,你已经完成了整个操作系统的一多半了,而且如果你前面的东西都完全掌握了,那后面无非就是顺水推舟的事情了。本章不做继续的讲解,而是将之前的知识进行回顾,并把相似的知识点做对比。同时我也将到目前为止最大的感悟 细节是魔鬼 分享给大家。 一、到目前为止的程序流程图 为了让大 ...
分类:
其他好文 时间:
2020-02-26 19:05:21
阅读次数:
64
由于中断这块的知识和代码都占较大篇幅,因此分成两章来讲,上一讲 【自制操作系统08】中断 讲述了中断的理论知识,本讲开始上代码 一、到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下。 右半部分的时序图,就是我们今天要做做的事情,其实一句话就是:初始化中断描述符表 ...
分类:
其他好文 时间:
2020-02-21 20:41:36
阅读次数:
64
一、到目前为止的程序流程图 本讲我们不继续写任何代码,而是专门拿出一讲来说说特权级的事,为后续的工作做一个知识储备。这段内容太难啃了,也可能我恰好对这块不太感冒,反正我是恶心了好久才啃下来。 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下 二、什么时候处理器会进行特权级检查 为什么要 ...
分类:
其他好文 时间:
2020-02-14 20:24:32
阅读次数:
64
一、整理下到目前为止的流程图 写到这,终于才把一些苦力活都干完了,也终于到了我们的内核代码部分,也终于开始第一次用 c 语言写代码了!为了这个阶段性的胜利,以及更好地进入内核部分,下图贴一张到目前为止的流程图。(其中黄色部分是今天准备做的事情) 二、先上代码 loader.asm main.c pr ...
分类:
编程语言 时间:
2020-02-02 16:03:24
阅读次数:
139
通过前四章的努力,我们成功将控制权转交给了 loader.asm 这个程序,并且从实模式跨越到了保护模式。第四章讲保护模式的时候我说过,这是我们操作系统的第一个精彩之处。但其实这只是针对之前我们进行的只是无意义的输出,以及硬盘的加载等工作。但到了这一章,之前一步步的努力进入到了保护模式,也只能说是做 ...
分类:
其他好文 时间:
2020-01-26 22:23:18
阅读次数:
120
通过前三章的努力,我们成功将控制权转交给了 loader.asm 这个程序。具体说就是 bios 通过 加载并跳转到 0x7c00 (IMB大叔们定的) 把控制权转交给了我们操作系统的第一个汇编程序 mbr.asm,然后 mbr.asm 里做的事就是通过 加载 loader 程序并跳转到 0x900 ...
分类:
其他好文 时间:
2020-01-25 22:17:23
阅读次数:
110