第0天

Posted f347

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第0天相关的知识,希望对你有一定的参考价值。

前言:

在动手自制操作系统(Operating System)的时候,不要想着一次性就做成一个完整功能强大的OS。而是先做出基本的可以运行的OS,然后再根据自己的需要不断的改进,增加新功能。博主认为这就是分治的思想,哈哈哈哈。

如何开发OS?

Ⅰ.首先,我们要知道什么是OS。OS就是指控制和管理整个计算机系统的软硬件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便的接口与环境的程序集合。然而结合我们自身的实际使用,OS就是我们用户与计算机的接口,实现自己所需要的基本功能的系统软件。原来如此,我们就是要编写一款软件

Ⅱ.接下来我们得知道OS是如何做到开机就自动启动的。说实话,这一点还未查询到详细讲解的。不过简单来说就是开机计算机读取磁盘,依次执行磁盘内容。由此编写OS的步骤如下:

在Windows系统上编写源代码→用C语言编译器编译生成机器语言文件→加工机器语言文件,生成映像文件→映像文件写入磁盘,作为含OS的启动盘(计算机首先读取磁盘的启动盘)

知识补充:

Ⅰ.由于我们先要写出能够开机启动的机器语言,所以就得使用接近底层的语言,即编译语言与C语言。开发OS时,不会受到限制的就是编译语言,然而编译语言太接近底层,所以我们还得使用C语言来方便我们代码的编写(两种语言的区别在于具体自己编写之后有更深的体会)。然而此时的C语言大部分函数无法实现,只能我们自己使用编译语言来进行实现。同时C语言的编译器也与普通的编译器不同。

Ⅱ.CPU的存储装置是寄存器。首先将磁盘的内容读入内存,再将内存的内容读入CPU中执行。

 

以上是关于第0天的主要内容,如果未能解决你的问题,请参考以下文章

第23天 [js] js精度计算问题

干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率全概率与贝叶斯公式

前端如何设置一天只能点击一次的以及如何去判断第二天0点刷新的一些问题

用于 postgres 的 Kafka 源连接器 - 第 0 天加载

linux学习第1天

21天LeetCode打卡,第18天,整数的各位积和之差