Operating system 如何编写一个简单的命令行操作系统?

Operating system 如何编写一个简单的命令行操作系统?,operating-system,minix,Operating System,Minix,我下载了一个MINIX 3操作系统,并在MacPro上的parallels桌面上运行它。 MINIX3是一个.iso文件,我想知道如何编写一些程序并将其打包成一个.iso文件。并通过虚拟机(并行桌面)运行它 我该怎么办 我是一名Android开发人员。编写一个操作系统,即使是一个简单的命令行操作系统,也与您作为Android开发人员看到的应用程序编程有很大不同。Parallels Desktop和其他虚拟机模拟了一个环境,在这个环境中,操作系统认为它正在真实的硬件上运行,因此这相当于在原始PC上

我下载了一个MINIX 3操作系统,并在MacPro上的parallels桌面上运行它。 MINIX3是一个.iso文件,我想知道如何编写一些程序并将其打包成一个.iso文件。并通过虚拟机(并行桌面)运行它

我该怎么办


我是一名Android开发人员。

编写一个操作系统,即使是一个简单的命令行操作系统,也与您作为Android开发人员看到的应用程序编程有很大不同。Parallels Desktop和其他虚拟机模拟了一个环境,在这个环境中,操作系统认为它正在真实的硬件上运行,因此这相当于在原始PC上编写一个简单的操作系统

要从头开始编写操作系统,您必须熟悉以下内容:

  • 熟悉C语言和汇编语言编程
  • 了解目标体系结构(在本例中为x86)
  • 了解特定设备的引导过程
在没有分步指导的情况下真正能够做到这一切所需的知识需要多年的学习和经验,包括硬件和软件如何交互、阅读有时缺少文档的数据表等。这通常是在应用程序开发中无法获得的经验。这是因为在操作系统中,在应用程序开发中,您没有很多您认为理所当然的东西,例如进程、输入/输出函数、数据结构(如哈希表和映射)、内存管理等

不要惊慌!开发一个简单的操作系统不需要了解所有这些。您可以从如何编写简单操作系统的教程开始,该教程将指导您完成所需的所有组件和步骤。有几个网站提供了这一点,但在我看来,最好的是。在那里,您将找到有关操作系统开发的教程和信息,这些教程和信息将指导您完成整个开发过程,以及人们制作的示例业余操作系统

与其关注从ISO映像引导的命令行操作系统,我将浏览以下wiki上的教程:。这将使您从一个非常简单的“Hello World”操作系统开始,该系统从软盘映像启动,比ISO简单得多。本教程非常深入,涉及硬件和软件交互以及引导过程

我一直认为,好的开发人员,即使是编写web或android应用程序的开发人员,也理解诸如汇编和硬件/软件交互等低级方面。学习这类知识最快的方法就是通过这样的教程


祝你好运

编写一个操作系统,即使是一个简单的命令行操作系统,也与您作为Android开发人员所看到的应用程序编程有很大不同。Parallels Desktop和其他虚拟机模拟了一个环境,在这个环境中,操作系统认为它正在真实的硬件上运行,因此这相当于在原始PC上编写一个简单的操作系统

要从头开始编写操作系统,您必须熟悉以下内容:

  • 熟悉C语言和汇编语言编程
  • 了解目标体系结构(在本例中为x86)
  • 了解特定设备的引导过程
在没有分步指导的情况下真正能够做到这一切所需的知识需要多年的学习和经验,包括硬件和软件如何交互、阅读有时缺少文档的数据表等。这通常是在应用程序开发中无法获得的经验。这是因为在操作系统中,在应用程序开发中,您没有很多您认为理所当然的东西,例如进程、输入/输出函数、数据结构(如哈希表和映射)、内存管理等

不要惊慌!开发一个简单的操作系统不需要了解所有这些。您可以从如何编写简单操作系统的教程开始,该教程将指导您完成所需的所有组件和步骤。有几个网站提供了这一点,但在我看来,最好的是。在那里,您将找到有关操作系统开发的教程和信息,这些教程和信息将指导您完成整个开发过程,以及人们制作的示例业余操作系统

与其关注从ISO映像引导的命令行操作系统,我将浏览以下wiki上的教程:。这将使您从一个非常简单的“Hello World”操作系统开始,该系统从软盘映像启动,比ISO简单得多。本教程非常深入,涉及硬件和软件交互以及引导过程

我一直认为,好的开发人员,即使是编写web或android应用程序的开发人员,也理解诸如汇编和硬件/软件交互等低级方面。学习这类知识最快的方法就是通过这样的教程


祝你好运

我遇到了一个名为MikeOS()的项目

我还发现了这个关于创建一个简单的裸体操作系统的教程,它可以从MikeOS项目中获得灵感进行扩展

任何具有通用编程和Linux技能的人都应该能够理解它。

我遇到了一个名为MikeOS()的项目

我还发现了这个关于创建一个简单的裸体操作系统的教程,它可以从MikeOS项目中获得灵感进行扩展

任何具有通用编程和Linux技能的人都应该能够理解它。

您可以参考MMURTL V1.0的文档,了解一些想法。我想您不想在黑暗的房间里呆上几年,从头开始。您可以重用现有的操作系统内核来打包“程序”。看见除了彩色的“Hello World”,您还想实现什么?您可以参考MMURTL V1.0上的文档,以获取一些id