2011-12-10 24 views
0

我希望做一个定制的内核,加载和执行代码(我的代码类似于LUA),这样我可以用它来作一个操作系统,我已经作出了在Java中的基本内核,但我真的需要知道如何在Assembly中制作它。制作一个定制的内核

任何人都可以给我制作一个高效的内核程序集的步骤吗?

回答

1

对Java中如何做到这一点真的很感兴趣。这website非常适合所有关于操作系统开发的事情。

2

正如有人已经建议OS Dev是去的地方。我也会确保你知道如何让内核和其他一些结构更为通用的语言一起工作,这样你就可以拥有更多的资源。让C/++在汇编语言中工作并不像听起来那么困难,尽管从头开始编写标准库是个婊子。所以,当你使用它时,我可能不会像编写标准库一样,但我一定会先运行它,然后为自己的语言添加功能。

绝对检查龙书虽然。对于编写自己的编译器的人来说,读取所需的内容非常多这是编译器之类的圣经。

至于汇编编写内核/从无到有,注意自己:

  • 我是不是打算包括的东西,这将是没有在附近的初级汇编/第一时间来解决 - 内核/ OS开发? (图形,复杂的菜单系统,游戏等)
  • 对于我计划实施的任何东西(如果不是全部的话)是否有其他选择?
  • 你并不总是需要单独做或者从头开始编码。尽管当你喜欢从头开始做事或感觉自己是某个东西的唯一创造者时,它经常会这样感觉。

如果你想提前或完全这样做,作为一个学习的经验与绝对(或差点儿)无野心,你可能准备进入代码。我发布的网站链接将无限期地帮助。另外要注意的是,有很多方言或汇编的实现,我最喜欢的是FASM和NASM。我绝对推荐NASM,因为它建立在几乎任何值得注意的系统之下,并且是迄今为止我所遇到的最便携的代码。千万不要一直EVER依靠组装便携!通常情况下,即使打算是,也不是。

编辑:注意这在很大程度上是纯粹的意见,我不打算说出代码正确或错误的方式。尽管如此,我仍强烈建议不要依赖便携式组装。

+0

新用户?我upvote你好先生 – blazingkin

+0

程序集+1不便携 – linuxuser27

+0

有人曾告诉我,NASM是“最便携的组装”,当时我并没有真正意识到他不是说我可以将相同的代码移动到一个完全不同的系统,所以我在与我的目标不同的系统上写了一些东西,并希望它能够工作。我不明白为什么它没有,现在正在经历一点点经验,我只能通过建议:P。 – MadPumpkin