如何使用 C# 构建操作系统
我正在阅读有关 Singularity 的内容,它部分是用 C# 开发的,但是我怎样才能用C#开发一个操作系统?(因为引导加载程序需要在汇编中,我知道)我想知道的是从哪里开始(教程,库......)?
PS:恭喜 Singularity 开发人员,干得非常好! ;)
I was reading about Singularity and it was developed in part with C#, but how can I develop a operatin system in part with C#?(because the boot loader needs to be in Assembly, that I know) the thing that I want to know is where to start(tutorial, library...)?
PS: Congratulations to the Singularity developers, very nice job! ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Renraku 是一个开源项目,旨在尽可能地使用 .NET 技术创建操作系统。 这篇文章有 GitHub 上源代码的链接。
Renraku is an open source project to create an OS using .NET technologies as much as possible. This post has a link to the source on GitHub.
仅仅因为您用 C# 编写程序,就不必将其编译为 IL。将 ac# 编写为机器代码编译器是可以完成的,上次我看到用 C# 编写的操作系统正是他们所做的
Just because you write your program in c# it doesn't have to be compiled to IL. Writing a c# to machine code compiler can be done and last time I saw an OS written in C# that was exactly what they had done
在托管代码上运行的操作系统与直接在机器代码上运行的操作系统之间的主要区别实际上无非是在非常低的级别上有一个字节码解释器,它处理发送给它的所有字节码并将其转换为相应的字节码。机器代码。一旦存在,各种操作系统组件的实现方式将与传统操作系统中的方式几乎相同。
The major difference between an operating system that runs on managed code vs. one that runs directly on machine code is really nothing more than having a byte-code interpreter at a very low level that processes all byte code sent to it and translates to the corresponding machine code. Once that exists, the various operating system components would be implemented in pretty much the same way as they would in a traditional OS.