Node.js的大名相信IT界的同行们都有所耳闻,但NodeOS可能就鲜有人知道了。是的,没有写错,就是NodeOS,一个用Node.js编写的操作系统。NodeOS是一个基于Linux内核的操作系统,一些如硬件交互等关键的性能相关的工作当然还是需要Linux内核来处理了,但所有其他的操作系统功能都是通过Node.js来实现的。整个NodeOS的开发过程历时2年,这个项目的起因简单而迷人:“是否可能只用Node.js来编写一个操作系统呢?”
是时候做些改变
首先,Node.js自诞生以来所产生的成就相信大家都有目共睹。但操作系统却没见有多大的变化。Unix还是Unix,Linux还是Linux,Windows也还是那个Windows。
每个用户拥有独立的文件系统
NodeOS引进了一个有意思的范式:如果每个用户都有独立且隔绝的文件系统,那么文件系统的层级架构就变得很简单。因为用户的home目录事实上就变成了文件系统的根目录的层级结构了,这样每个用户就都能随心所欲的安装自己需要的软件,而不需要特殊的权限和配置了,因为这些东西默认就是安装在各自的根目录上面,根本不会影响到其他人。此外,这样做的话还能提高系统安全性。如果黑客攻破了某个用户的账户,那么他充其量也只能访问到该用户的所有文件而已,其他用户的内容他根本看不到。这样的话,黑客就不可能拿下整个操作系统了。
Node.js 和 NPM
其实仔细想想,一个用Node.js写的操作系统,那不就是意味着所有在NPM上的包都可以为这个操作系统所用吗?现在为止,NPM上面已经有210,735个软件包了。因为几乎每分钟都会有新的包增加到NPM上面,所以不出几年,NodeOS就会拥有上百万的应用了、
应用移植简单
因为整个NodeOS是基于Linux的内核的,所以所有为某个Linux发行版所编写的应用,只需要做很少的改动就能运行在NodeOS上面了。
不足之处
当前的NodeOS还不够完整。作为一个服务器操作系统的很多关键功能都还没有提供。比如,BASH工具集还没有实现,所以ps,tail,nano和grep这些你在Linux常用的功能都还没有。
另外,你还不能把它作为一个桌面操作系统来运行,因为现在还没有GUI的支持。当然,你可以通过JavaScript写几行代码来实现这些工具。但是,默认没有提供这些功能的话,毕竟说不过去了。
安装和示例
可以通过docker等进行安装,具体从略。有码农想尝鲜的请查看原文。
结语
通过上面的示例,我们可以看到在NodeOS实现任何功能都是非常简单的事情,你只需要熟悉Node.js就足够了。
NodeOS拥有非常巨大的发展潜力,我相信它必然会发展成一个伟大的操作系统。当然,里面还有很多功能我们需要支持和完善,但是作为Node.js整个生态系统中很重要的一员,我相信NodeOS很快就会流行起来。如果您有不同看法的话,请在评论上给出来一块探讨。
注:如果您喜欢本文的话,欢迎关注天地会珠海分舵以及专题《IT•产品》 本文由天地会珠海分舵编译自Toptal。转载请自觉。
网友评论