所以我开始制作自己的操作系统,而且我已经在黑暗的房间里进行了数小时的研究(字面意思)。我知道它是如何工作的以及引导扇区如何工作以及所有这些东西
当谈到我想知道如何开始制作它时,我会看一下类似教程的东西。他们谈论使用unix或linux。现在我不明白为什么它必须像那样。我想亲自为它做基础。我想制作包含库。我想拥有"我自己"操作系统不能将其与其他人的工作/操作系统联系起来。那么我将如何开始从"实际的划痕"像二进制或十六进制。
我如何实际运行二进制/十六进制/(极低级语言)程序?让我们说我只是将一大堆有效的二进制代码填充到一个打印hello world的文件中(当我知道如何操作时)。我怎么会完全运行它?我会把它作为文本文件放在USB上,然后从USB启动吗?我是否需要烧伤"它到我的USB?等等。
在我浏览了大量文章之后。没有。我无法解释代码实际上如何与计算机通信和工作。从字面上看它是如何工作的,比如处理器如何知道如何处理这些1和0。
答案 0 :(得分:2)
我想谷歌搜索一下会给你一个答案。但为了让您更轻松,请转到this link,您会发现它对开发自己的操作系统很有用。
对于OS的第一次测试,使用虚拟机比在真实计算机上测试更好。例如,您可以使用VirtualBox或QEMU。当我尝试一次时,我将已编译的二进制文件作为软盘进行了调整,但所有内容都在我前面提到的页面中进行了描述。
如果您想了解处理器的工作原理,您需要学习一些有关数字电子的知识。您至少需要知道晶体管的行为,然后您可以找到AND,NAND,OR,NOR,NOT,XOR是如何由晶体管组成的。使用这些块,您可以构建RS和D块。之后你将掌握基本知识。或者购买Arduino并尝试构建一些硬件应用程序。如果您想了解处理器的工作原理,请购买FPGA芯片并创建简单的处理器。 (我在大学学习期间创建了Brainfuck语言的处理器作为semestral work)