我已经下载了一个MINIX 3操作系统,我在Mac Pro上的parallels桌面上运行它。 MINIX3是一个.iso文件,我想知道如何编写一些程序并将其打包到.iso文件中。并通过虚拟机(Parallels Desktop)运行它?
我该怎么办?
我是Android开发人员。
答案 0 :(得分:4)
编写操作系统(即使是简单的命令行操作系统)与您作为Android开发人员看到的应用程序编程有很大不同。 Parallels Desktop和其他虚拟机模拟操作系统认为它在真实硬件上运行的环境,因此这相当于在原始PC上编写简单的操作系统。
从头开始编写操作系统需要熟悉的一些示例如下:
真正能够在没有分步指导的情况下完成所有这些工作所需的知识需要多年的学习和经验,如何与硬件和软件进行交互,阅读有时缺少文档的数据表等等。这通常是经验不是在应用程序开发中获得这是因为在操作系统中,您没有在应用程序开发中获得许多理所当然的东西,例如进程,输入/输出函数,数据结构(如散列表和映射),内存管理等。
不要惊慌!您不需要了解所有这些就可以开始开发简单的操作系统。您可以从如何编写简单操作系统的教程开始,该操作系统将指导您完成所需的所有组件和步骤。有几个网站提供此功能,但我认为最好的是OsDev Wiki。在那里,您将找到有关操作系统开发的教程和信息,它们将指导您完成整个过程,以及人们已经制作的示例爱好操作系统。我不会专注于从ISO映像启动的命令行操作系统,而是通过这里的wiki教程:http://wiki.osdev.org/Bare_Bones。这将使您从一个非常小的“Hello World"从软盘映像引导的操作系统,比ISO简单得多。本教程非常深入,涉及硬件和软件交互以及引导过程。
我一直认为,优秀的开发人员,甚至编写网络或Android应用程序的人,都能理解汇编和硬件/软件交互等低级方面。学习这种方法的绝对最快的方法是通过这样的教程。
祝你好运!
答案 1 :(得分:0)
我遇到了一个名为MikeOS(http://mikeos.sourceforge.net/)的项目
我也发现了本教程,该教程创建了一个简单的裸机操作系统,可以从MikeOS项目的灵感中进行扩展。
任何具有一般编程和Linux技能的人都应该能够遵循它。 http://mikeos.sourceforge.net/write-your-own-os.html