操作系统承载的任务,分为传统技术和现代商业两个方面。
从传统技术来说,像安全、硬件资源管理这些东西,必须由操作系统承担。
从现代商业来说,现实是很多应用开发厂商和团队没有力量去解决很多底层乃至中层的问题,所以很多本来不是传统 OS 的任务也需要交给 OS 来完成。比如说,i18n 的工作就需要操作系统和配套的 IDE 有比较成熟的方案。还有 image 和 video 的编解码,等等。
操作系统对普通用户来说看似不重要,但是对开发者来说是非常难以替换的东西。对于一个新的 OS 来说,要面对这样的问题:
要解决这个「冷启动」问题,先发优势几乎是唯一的办法。目前桌面系统的格局,也就是先发优势的格局。OS X 起步并不晚,前身是传统的 Mac,凭借当时的性能优势积累了大批设计应用。这样 OS X 才解决了冷启动问题。所以 OS X 并不能很快的取消 Carbon。直到 Apple 自己的很多应用和一些小开发者的 app 吸引了足够多的用户,Apple 才敢取消 Adobe 等大公司不愿意舍弃的 Carbon。
所以,新开发一个操作系统,太难。