第2个回答 2011-03-16
DOS/Windows/Linux内核部分全部是基于汇编和C语言来编写的。其中C语言占90%以上的代码量,并实现主要的操作系统功能。当然,操作系统不仅仅是一个内核,还有大量的必须组件和工具,这些组件和工具Windows主要基于C++编写,Linux主要基于C编写,Dos主要基于C和汇编编写。
语言工具的建构是一个循环递进的过程。早期的编程较少使用语言,那时候直接编写二进制的机器码,让CPU直接运行指令。后来程序比较大比较复杂了,这种方式就难以为继,于是就有人用二进制码写出一些简单的编译器,后来简单的编译器也不够用了,就再用它写出更复杂的编译器,如此不断反复,就有了我们今天的高级编译环境了。
一个编程语言不是先天就具有某种能力的,编程语言的能力是由编译器赋予的。语言就是一堆符号,编译器定义这些符号和二进制机器码之间的对应关系,所以只要编译器提供支持,你就可以用任何语言编写任何的程序。
命令提示符是一个程序,但不是DOS程序,更不是DOS,它是一个标准的Windows程序。你要取消它也没什么问题,你把它直接删除就行了。至于微软为什么不取消它,那是因为很多人需要它。就好像很多人需要MediaPlayer一样,你也可以问既然有了暴风影音,微软为什么不取消MediaPlayer。但是,控制台子系统是Windows的核心子系统,这个是不能取消的,因为大量的现有程序依赖于这个简单的有效的子系统来工作,如果取消这个子系统,很多现有程序就不能用了,将来一些程序的开发成本也会增加。命令提示符是基于控制台子系统的程序,并且,它提供了一个标准化的界面来通过命令行执行Windows任务。
Windows当然可以用来编写操作系统,只要你有合适的编译器。Windows下可以开发任何程序,包括手机程序、Linux程序、Unix程序、工控程序等等。关键是要有编译器。当然,你也可以写二进制码,那就不需要任何编译器了。