我下载了Minix3操作系统,并在Mac pro上的parallels桌面上运行它。MINIX3是一个.iso文件,我想知道如何编写一些程序并将其打包成.iso文件。并通过虚拟机(Parallels Desktop)运行?
我该怎么办?
我是一名Android开发人员。
发布于 2014-10-23 14:31:34
编写一个OS,即使是一个简单的命令行,也与您作为Android开发人员所看到的应用程序编程有很大的不同。Parallels Desktop和其他虚拟机模拟的环境中,操作系统认为它是在真实的硬件上运行,因此这相当于在一台原始PC上编写一个简单的操作系统。
要从头开始编写操作系统,您必须熟悉的一些内容示例如下:
目标体系结构(在本例中为x86)的C和汇编Programming
的启动过程的知识
真正能够在没有逐步指南的情况下完成所有这些工作所需的知识需要多年的学习和经验,了解硬件和软件如何交互,阅读有时缺少文档的数据表等。这通常是在应用程序开发中得不到的经验。这是因为在操作系统中,你没有许多你在应用程序开发中理所当然的东西,比如进程,输入/输出函数,数据结构,如哈希表和映射,内存管理等。
别惊慌!要开始开发一个简单的操作系统,您不需要了解所有这些。您可以从如何编写简单操作系统的教程开始,该教程将指导您完成所需的所有组件和步骤。有几个网站提供了这个功能,但在我看来最好的是OsDev Wiki。在那里,您将找到有关OS开发的教程和信息,这些教程和信息将指导您完成整个过程,以及人们制作的业余爱好OS示例。
我不会关注从ISO镜像启动的命令行os,而是浏览这里的维基教程:http://wiki.osdev.org/Bare_Bones。这将使你开始使用一个非常小的"Hello World“操作系统,它从一个软盘映像启动,比ISO简单得多。本教程相当深入,深入介绍了硬件和软件交互以及引导过程。
我一直认为,优秀的开发人员,即使是那些编写web或android应用程序的开发人员,也应该了解诸如汇编和硬件/软件交互等底层方面。学习这些的绝对最快的方法就是通过这样的教程。
祝你好运!
发布于 2019-08-18 10:08:06
我遇到了一个名为MikeOS (http://mikeos.sourceforge.net/)的项目
此外,我还发现了这个教程,该教程介绍如何创建一个简单的基本OS,该OS可以从MikeOS项目中获得灵感进行扩展。
任何具有一般编程和Linux技能的人都应该能够遵循它。http://mikeos.sourceforge.net/write-your-own-os.html
https://stackoverflow.com/questions/26521024
复制相似问题