Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Operating system 有没有可能在没有预先存在的操作系统的情况下开发一个操作系统?_Operating System_Bios_Osdev_Firmware_Uefi - Fatal编程技术网

Operating system 有没有可能在没有预先存在的操作系统的情况下开发一个操作系统?

Operating system 有没有可能在没有预先存在的操作系统的情况下开发一个操作系统?,operating-system,bios,osdev,firmware,uefi,Operating System,Bios,Osdev,Firmware,Uefi,我的意思是,如果我有一台“空”计算机(磁盘中没有任何内容),我是否可以开发一个程序,或者更具体地说,开发一个操作系统,而不首先安装一个已有的 这个问题显然是否定的,因为你需要一个编译器/汇编程序,而这些程序本身就需要一个操作系统来运行。尽管如此,我还是无法找到这个问题的最终答案,所以我在这里提出这个问题 我想这个问题可以简化为,是否可以只使用bios/uefi运行某种基本的文本编辑器和汇编程序 编辑:更具体地说,我想知道固件是否带有允许此操作的命令,即使固件可以运行文本编辑器/汇编程序,如果我需

我的意思是,如果我有一台“空”计算机(磁盘中没有任何内容),我是否可以开发一个程序,或者更具体地说,开发一个操作系统,而不首先安装一个已有的

这个问题显然是否定的,因为你需要一个编译器/汇编程序,而这些程序本身就需要一个操作系统来运行。尽管如此,我还是无法找到这个问题的最终答案,所以我在这里提出这个问题

我想这个问题可以简化为,是否可以只使用bios/uefi运行某种基本的文本编辑器和汇编程序

编辑:更具体地说,我想知道固件是否带有允许此操作的命令,即使固件可以运行文本编辑器/汇编程序,如果我需要另一台计算机/操作系统来获取它们,我马上就回到了开始的位置


注意:我不想这样做,这会不必要地增加已经很难的操作系统的复杂度,我只是想知道它是否可以做到。

好吧,你必须提供机器代码才能做到这一点,因此在没有任何其他程序的帮助下,你也可以希望你的bios有一些用于此目的的命令(我不知道)或者你拿一个高精度的激光器,手工写机器代码

在现代硬盘上,后者对人类来说是不可能的,因为硬盘非常好,我们不能保持足够的静止

此外,假设您可以将代码放到磁盘上,并让bios执行它,您仍然需要编写它。从零开始在汇编级别上编写文本编辑器是一项难以置信的艰巨任务,因为您必须首先为键盘和监视器编写驱动程序。编辑:好的,根据您的bios,它可能已经提供了一些普通的驱动程序。可能缺少的是汇编编译器,没有它,您只需编写用于编程的0和1


如果你想在DIY电脑制作方面找到更令人满意的东西,我会推荐。

好吧,你必须提供机器代码才能做到这一点,因此在没有任何其他程序帮助的情况下,你可以希望你的bios有一些命令(我不知道)或者你拿一台高精度的激光器,手工写机器代码

在现代硬盘上,后者对人类来说是不可能的,因为硬盘非常好,我们不能保持足够的静止

此外,假设您可以将代码放到磁盘上,并让bios执行它,您仍然需要编写它。从零开始在汇编级别上编写文本编辑器是一项难以置信的艰巨任务,因为您必须首先为键盘和监视器编写驱动程序。编辑:好的,根据您的bios,它可能已经提供了一些普通的驱动程序。可能缺少的是汇编编译器,没有它,您只需编写用于编程的0和1


如果你想在DIY电脑制作方面找到更令人满意的东西,我会推荐。

当然是。停下来想一想。我们用现在的电脑为下一台电脑编程,上一次和上一次做了同样的事情。显然,在某个时候,我们已经到了没有以前的电脑的地步然而,很明显,它是制造出来的

沿着历史小巷走到一些最早的机器上,我们可以看到计算机的前面板上带有拨动开关。一些用于输入地址,另一些可用于设置该地址的字节值。使用该代码编写引导加载程序,然后可以从某种外部设备中提取启动指令ia,而不是通过费力的手动输入

也就是说,你实际上不需要操作系统来运行程序。操作系统仅仅提供了让程序员的生活更轻松的设施和例程,比如硬件访问和内存管理,但这是一种实际的需要,而不是理论上的需要。实用性是因为没有它,通常使用的例程就会变得更容易需要包含在每个程序中,每个程序都需要知道并包含代码,以应对不同的硬件配置-操作系统将这些抽象化,使您无需知道是谁制作了您的视频卡、声卡等


这似乎是通往历史计算的兔子洞的一个合理入口:

当然是。停下来想一想。我们用当前的计算机为下一台计算机编程,上一次和前一次都做了同样的事情。显然,在某个时刻,我们已经到了一个没有以前的计算机的地步——现在还没有它很早就制造出来了

沿着历史小巷走到一些最早的机器上,我们可以看到计算机的前面板上带有拨动开关。一些用于输入地址,另一些可用于设置该地址的字节值。使用该代码编写引导加载程序,然后可以从某种外部设备中提取启动指令ia,而不是通过费力的手动输入

也就是说,你实际上不需要操作系统来运行程序。操作系统仅仅提供了让程序员的生活更轻松的设施和例程,比如硬件访问和内存管理,但这是一种实际的需要,而不是理论上的需要。实用性是因为没有它,通常使用的例程就会变得更容易需要包含在每个程序中,每个程序都需要知道并包含代码,以应对不同的硬件配置-操作系统将这些抽象化,使您无需知道是谁制作了您的视频卡、声卡等


这似乎是进入兔子洞的一个合理入口,即历史计算:

实际上,固件是否提供允许编程的命令正是我想知道的。也许我应该编辑我的问题。raspberry pi in reg.中的情况会有什么不同