【问题标题】:OS development. How to start? [closed]操作系统开发。如何开始? [关闭]
【发布时间】:2012-07-11 22:49:09
【问题描述】:

我是 Java 开发人员。我一直想编写自己的内核并开发一个小型操作系统,我不知道这个内核或操作系统会是什么样子或它们会做什么,但我有热情开发一些有用的东西来为这个广阔而美丽的开源世界做出贡献.我想这样做,但我的问题是我不知道如何开始。我在大学时学过 c/c++,现在我不太记得这些编程语言了,但我可以重新开始学习。我知道这段旅程将是艰难而漫长的,但每一次漫长的旅程都是从一步开始的。

为了确保我在正确的方向上采取正确的步骤,我需要本论坛专家的帮助来指导我正确的方向。我不希望用勺子喂食,而是希望您对此的想法以及对可以帮助像我这样的新手开始使用此类编程的好书和链接的参考。

谢谢

【问题讨论】:

  • 如果您开始编写自己的内核,您不太可能很快为 OSS 社区做出贡献,但这绝对是一次非常有启发性的经历。看看osdev wiki
  • 不如从阅读开始,或者为 Linux 做贡献。我想你需要丰富的经验才能做到这一点......
  • 因为我希望从头开始,所以很明显有这样的问题,所以请评论降级。
  • @Sandy:开放式问题,显示缺乏独立研究(即,您甚至没有在网上搜索您的问题标题)。这对你的努力来说是个坏兆头......(免责声明:我没有反对。)
  • @DevSolar:我理解你的意思,我确实在网上搜索过类似的问题,但我发现的所有链接都是不同的,因为提出此类问题的人已经有良好的 c 背景或经验/c++ 和其他开始使用操作系统和内核编程所需的东西或环境。

标签: c++ c operating-system kernel


【解决方案1】:

说实话:

我不知道这个内核或操作系统会是什么样子或它们会做什么,但我热衷于开发一些有用的东西来为这个广阔而美丽的开源世界做出贡献。

如果您的目标是为开源软件池做出贡献,不要尝试编写操作系统,而是选择不同的事情来做。确实有数百个 OS 项目,其中一些已经酝酿了好几年,OS 开发社区在OSDev.org 上的普遍共识是它很有趣,但不一定富有成效.

如果您坚持,请点击我提供的链接;您可以在那里找到信息和更多链接。

编辑:如果您正在寻找一个有趣的项目来学习一门新语言,请选择想要使用的东西。这么多人在早期编写计算器或地址管理程序是有原因的。但说真的,内核空间中的 C++ 与应用程序开发中的 C++ 非常不同,它们也可以是不同的语言。

【讨论】:

  • 我自己的操作系统或内核只是为了入门和掌握这方面的知识,这样我应该能够以更好的方式理解操作系统编程,并且在我参与操作系统项目时不会破坏任何东西.
  • @Sandy:“内核空间”是可以想象的最恶劣的编程环境。你从没有调试器开始,没有异常/运行时支持,也没有标准库。在您的操作系统能够支持 SATA、硬盘驱动器、光驱、网络连接、文件系统和控制台之前需要 几个人年 - 我还没有开始使用 GUI 、3D 加速或用户空间中应该可用的大量事物。
  • @Sandy:在编写这一切的过程中,你会学到很多关于这些东西的知识,这可能会让你成为一个更好的全能程序员。但是不要在操作系统上工作来学习一门新语言。我参与 OSDev 社区已有十多年了,我告诉你:他们全部都失败了。你必须成为优秀,不,优秀在你选择的语言之前你开始操作系统编程去任何地方。
  • 非常感谢您提供这么好的咨询。我认为“一分耕耘一分收获”所以我一定会记住你的话,至少会尝试一下,无论我成功还是失败都无所谓。 :)
猜你喜欢
  • 1970-01-01
  • 2011-04-08
  • 2010-12-04
  • 1970-01-01
  • 2021-04-06
  • 2010-09-20
  • 2010-09-20
  • 2010-09-12
  • 1970-01-01
相关资源
最近更新 更多