网友提问:
从零开始设计一个操作系统有多难?
优质回答:
作为计算机科班出身的码农可以负责任的告诉你,设计一个完全自主的简单操作系统真的不难,这里给推荐本书,有一点C语言基础就可以玩起来了,一个日本人写的《30天自制操作系统》,30天是夸张了点,但是写起来真不难。但是要把操作系统做的好用而且流行起来那就难上天了。
另外就是建议结合minix3看《操作系统设计与实现》,MINIX是一种基于微内核架构的类UNIX计算机操作系统,完全开源的,非常好的教学操作系统,minix的作者anderw S.Tanenbaum,操作系统领域权威专家。
总之从零开始设计一个操作系统不难,但是打造一个完全自主且好用流行的通用操作系统基本不可能。
现在的操作系统不仅仅是要管理好进程的调度、通信,用户的权限以及硬件的使用等,还必须有互联网的底层协议TCP/IP以及其它的各种协议,这个你是不可能自主的,还需要众多的硬件支持以及软件开发者的支持。
你看手机操作系统,曾经有很多种,现在主流的就只剩下IOS与Android,连微软这种巨头都玩不下去了,原因就是市场也容不下太多的操作系统,因为这会给硬件以及软件开发者都带来很大的负担,这是最最难的。
其他网友回答
这个涉及到路径依赖原理,就拿linux系统来说吧。linux系统最早是由linus编写的内核,然后他把内核开源,后续一些技术狂热者不断在其基础上优化,以及增加功能代码,包括驱动啊、应用程序、各种库等等,后续的一些开源框架等等,都是基于linux进行的。这都是数不清的人和漫长的时间积累,可以说,linux系统都是一个生态环境了。我觉得设计一个系统对于我国来说并不难,难的是怎么造就这一个类似于linux的庞大的生态环境。我们都已经依赖了linux系统,依赖于它庞大的库、开源代码等等,即使有一个新的系统,但是这个新系统很难或者是相当长的时间里很难和linux相媲美。
其实,设计一个系统并不难,难的是形成一个由这个系统衍生的生态环境,如果生态不好,那这个系统必将会走向灭亡。就拿以前的塞班系统来说吧,最初的智能手机就是塞班系统的,但是其生态不好,不过安卓系统生态好。安卓系统上可以安装各种各样的应用,且开发者众多,用户也逐渐增多,形成了良性循环。最终,塞班败给了安卓系统。
其他网友回答
开发一个简单的操作系统大概10天左右,不难的,看linux1.0也不大,难就难在生态建设,,,GNU里那么多软件,你都得白手起家,pdf office mplayer flash, 也就是你要把人类迄今为止发明的所有软件重修发明一次,难度可想而知