非常简单的问题。。
因为自主开发一个操作系统最大的难度不是什么进程管理和什么内存管理。。
而是浩如烟海的驱动。。
你想想就知道了。。
你的电脑上除了CPU以外,是有很多外设的。。例如USB设备,串口设备,还有屏幕。。甚至内存要是换了都要对着DDR 内存芯片手册改代码。。
因为这些设备是很多厂商提供的。。
你如果不是这些厂商的内部工程师。你怎么知道如何点亮这些设备呢。。
就算给你这些厂商的DataSheet。你也看不明白。。
甚至这些厂商也不可能让你轻轻松松的看明白。
因为,要是驱动这些硬件这么容易。。这些厂商怎么收服务费呢。。
说个极端的例子。我做了一个显示芯片。但是我就是不告诉你这么控制这个显示芯片,让他显示。。你告诉我,你要怎么办。。神来了都没办法。。
你觉得我说的很夸张。。你知道高通的Modem吗。。到现在Linux上都没有这个设备的驱动。高通就是不开放这个设备的驱动代码。。谁来都不行。。人家是无线通信的祖宗,就靠这个赚钱。怎么可能告诉你。