我被要求为我大学的操作系统课程选择一个项目。我突然想到用Python从头开始制作一个操作系统。
我有几个限制:
- 我只有3个月。
- 我想用Python来做。
- 我可以每周投入20-30个小时。
我想知道,这个想法有多可行?就像我能在建筑上走多远一样。如果我可以运行一个基本版本(运行一些非常基本的应用程序),我会非常高兴的。在给定的限制下,这可能吗?
有没有一本书可以帮助我成为指导方针?(不必是python,我只需要一个指南来告诉我应该如何制作操作系统)
如果这个想法不可行,有人能告诉我需要多少来缩小我的想法?
非常感谢您的帮助!
Tags:
你的教授在这个项目中需要一个“低级”的部分吗?例如,处理硬件或指令体系结构的任何东西。如果是的话,你的教授不会允许你用Python做这个项目。项目必须用C和汇编语言编写。您将一直致力于修改Linux内核。
然而,现在的操作系统已经不再局限于底层。虚拟化、数据库、并行化都是建立在操作系统之上的。如果您的教授是“老派”,那么他/她可能不认为这些新主题是操作系统的一部分。所以,你可能需要给你的教授带来一些样本想法,并寻求澄清。
是否像一些人建议的那样进入低水平,完全取决于教授的教育目标。
一个好的项目包括一个或多个:
一个不直接与硬件交互但仍然是好项目的项目将是:
那么无论使用哪种语言,它都将是一个好的操作系统项目。
我建议您实现自己的memcached、map reduce或一个简单的版本控制系统作为良好的项目示例。
编辑:删除ranting
我不明白你怎么能用Python编写操作系统。在启动过程中,您至少需要本地代码来加载解释器,更不用说硬件通信、驱动程序等,如果在裸机上运行当前的Python解释器,所有这些几乎都是不可能完成的。我也在考虑,如果你知道你需要移植一个给定的Python解释器来编译和运行,而不需要底层的操作系统,这只会让你忙上一段时间。
你雄心勃勃是好事,但我真的认为你连基本的操作系统都完成不了,更不用说“一些非常基本的应用程序正在运行”。
把这个缩小很多。我建议您查看一个非常小的操作系统,可能是并行处理。没有可行的方法可以在500小时内编写整个操作系统,只需5000小时。真正的问题是这是本科还是研究生课程?这个问题的答案将极大地反映出我们需要通过什么。
添加
找一本关于操作系统的书,让你感兴趣,并专注于这个话题3个月,你可能只会产生一些好的东西。操作系统看起来在外部做得不多,但想想看,Windows有大约5000万行代码。
相关问题 更多 >
编程相关推荐