关于操作系统和语言,这里想说点东西,让大家了解一下操作系统和语言之间的关系。
在很长一段时间里,我也和大家一样很茫然的在寻找关于操作系统和语言之间的关系,总想找到一种语言,然后开始写操作系统,哈哈。那时最开
始学习语言的时候的动机,在很多书籍和相关资料上可以看到,操作系统是由汇编语言和c/c++来写的,这也是我在刚选择学习语言的动力,所以
最后我选择学习大家都认为很难学习的c/c++,就是想学习好c/c++好来写操作系统的,我知道dos和linux,包括win98都是大部分用
c/c++来写的。由于在长期的写单片机程序,并长期移植各种操作系统,到现在,我明白了一个道理,其实无任是什么语言,只要能生成机器的执
行代码的语言都可以写操作系统,只是一个效率问题,只要你对机器语言熟悉,你可以直接用二进制编写一个文档,输入机器,它便会执行,你
也可以用厂家给的汇编指令编写一段汇编代码然后编译成机器可执行的代码,输入机器,它也可以执行,你还可以用c/c++或其他什么语言,只要
这种语言最后可以产生机器可以执行的代码,你都可以用该语言来编写操作系统,这时你应该可以了解,无任什么语言,其实操作系统本身与语言
就每有什么直接关系,如果你可以写编译器,你也有cpu提供的机器代码或是汇编指令集,你自己也可以写一种语言,也许你可以给这种语言命名
为P-LANGUAGE(POPULAR LANGUAGE),是吗?就现在,由于我们知道,除了机器代码和汇编指令这种困难的语言之外,c/c++就是效率最高
的语言,所以很多人都会猜测winXP和win7之类的操作系统的底层都是用c/c++来写的,但是,如果microsoft用他自己的basic写了相关的转换
器,使得basic语言也可以生成机器可执行的代码,那么也可以用basic来写操作系统啊,是不是?关键是原理性的东西大家要知道,任何一种
可以生成机器可执行代码的语言都可以开发操作系统。只是一个开发或生成代码效率的问题。
如果有什么不对的地方,还请大家提出宝贵的意见,谢谢!
bill.zhang 20100911