如果我要构建一个新的操作系统,它会有什么样的功能?

Aut*_*yte 30 operating-system

我正在研究创建一个全新的操作系统的想法,并希望听到这个论坛上的每个人都采取了什么?首先是为时已晚的大男孩如此根深蒂固,我们永远无法改变(哇 - 多么可怕的想法......).但如果不是这样,操作系统应该为您做什么?哪些功能最重要?所有组件是否应该是单独的安装(换句话说 - 如果基本操作系统真的没有用户功能,并且通过创建"插件"类似于一个好的灵活工具来增加它?)

为什么我要这样做...我对是否有需求更感到好奇,我想知道,因为我们今天使用最多的操作系统(Linux,Windows,Mac OS X(免费BSD))实际上写得比20年前(我很慷慨 - 我的意思是双核和四核在那时不存在,总线速度慢得多,硬件要贵得多,等等......),如果我们对新技术感到好奇会做什么不同的事情?

我急于阅读你的评论.

sli*_*ime 23

回答第一个问题:永远不会太迟.特别是当涉及利基细分市场和类似的东西.

其次,在开始创建新操作系统之前,你应该了解它的实现方式:它是一个庞大的项目.

它只是一个普通的程序员"抓痒"的项目吗?如果是这样,那么一定要继续 - 你可以通过这样做来学习很多东西.但是,如果你是为最终产品做的那样,那么在你看看目前正在开发的所有操作系统之前,你不应该开始这条路径(有很多比你最初想的更多)并找出了什么你想改变它们.

很可能这些努力将更好地用于改进/改变现有的开源系统.即使是您自己的实验,如果您从已经开发的东西开始,也可能更容易获得您想要的结果.

  • 实际上,它并没有那么糟糕.建立一个价值数十亿美元的操作系统,肯定是一项艰巨的任务.然而,构建实验性操作系统确实不是那么糟糕.Minix 3不到10,000行. (3认同)

小智 20

首先,一个小故事.1992年,在第一届Win32(将成为MS专业开发人员大会)会议期间,我有机会与一位Dave Cutler先生(大多数人现在称为Windows NT的首席架构师)共进午餐. Windows 2000,XP等).

我当时正在IBM Boca Raton的多媒体小组工作,你可能还记得有些人,OS/2.我已经在OS/2上工作了好几年,并且认识到操作系统的"写在墙上",我问他,"戴夫,Windows NT会带我们进入下个世纪,还是有其他的想法介意吗?" 他对我的回答如下:

"M ....,Windows NT是任何人都可以从头开发的最后一个操作系统!" 然后他看着我,喝了一口啤酒,然后说:"再说一遍,你可以在和你的女孩度过一个特别美好的夜晚后,在下周六醒来,并为操作系统提供一个全新的方法,那个'这会让人感到羞耻."

把这个对话放到上下文中,考虑到我回到大学攻读硕士学位(专攻操作系统设计),我会说新的操作系统有很大的空间.事情是把事情放在眼里.您对此操作系统的目标是什么?它试图服务的问题是什么?

把这一切都放到一个透视图中,可以让您了解自己是否真正将目光投向了可实现的目标.

总而言之,我是第二个早期的评论者注意到关于"奇点"这样的事情(我在上一个课程中给我的一个演讲的重点......),或者如果你真的想"沉沦你的话"进入"处于起步阶段的操作系统......看看"ReactOS".

然后,WebOSes,像gOS等,可能是我们未来十年左右的发展方向.或者说,一个特别聪明的人可以在与他们的女士或男士朋友度过一个特别富有成效的晚会之后醒来,并在操作系统中拥有"下一个大创意".


Dar*_*mas 14

为什么直接在物理机器上构建操作系统?你只是在汇编语言中捣乱;).当然,这很有趣,但为什么不为虚拟机解决操作系统?

假设在Java/.NET/Parrot(您命名)VM上运行的操作系统,可以通过网络轻松传递并运行一堆软件.

它包括什么?

  • 一些存储数据的方法(传统的FS不会削减它)
  • 进程/线程的模型(或只是劫持VM提供的东西?)
  • 用于与这些流程等交互的工具

因此,构建一个可以在广泛使用的虚拟机上执行的简单平台.为特定利基(云计算?)提供一些很酷的功能.走!

  • 实际上,我认为这可能有意义:将应用程序视为特定"状态"中的计算机.如果您可以定义该机器(操作系统)及其工作原理,那么可以在这里和那里扩展应用程序,而无需担心它实际运行的是什么...... (4认同)
  • 我感觉合理. (2认同)
  • 实际上,Dave,我相信这只是*只是*云是什么:抽象物理机器的操作系统比Win32和人群更加激进.AppEngine是一个带有IO,API等的操作系统.谁关心运行这些服务的操作系统? (2认同)

Roe*_*oel 6

有关微观与单片内核的更多信息,请查看Linus与Andrew Tanenbaum的"讨论".


bas*_*ero 5

我强烈建议在linux(0.01)上查看早期版本,至少让自己的脚湿透.你将会厌倦装配和非常模糊的低级别的东西甚至开始(特别是进入保护模式,多任务处理等).是的,"大男孩"已经让市场陷入困境,这可能是真的.我不是告诉你不要这样做,但也许在Linux内核上做一些工作将是一个更好的垫脚石.


Pop*_*lin 5

查看CosmosSingularity,这些代表了我想要的未来操作系统 ;-) 编辑: SharpOS是另一个托管操作系统的努力。由yshuditelu推荐