以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 操作系统原理 』 (http://bbs.xml.org.cn/list.asp?boardid=63) ---- 请教:操作系统可以用高级语言写么? (http://bbs.xml.org.cn/dispbbs.asp?boardid=63&rootid=&id=40968) |
-- 作者:硕鼠 -- 发布时间:12/7/2006 8:47:00 PM -- 请教:操作系统可以用高级语言写么? 大家好,偶尔发现了这个论坛,感觉很好。希望大家帮助我,谢谢! 有一个问题一直捆饶着我,就是:高级语言如何能写操作系统呢? 我想自己写一个实验型的操作系统,无奈无法操纵磁盘。有哪里可以查到磁盘方面的资料?(不通过BIOS的INT 13H来操作磁盘,因为我想对保护模式做一些实验) |
-- 作者:flyhigher -- 发布时间:12/9/2006 5:12:00 PM -- 呵呵,Linux就是用C语言写的。 |
-- 作者:flyhigher -- 发布时间:12/9/2006 5:22:00 PM -- 有本专门讲解Linux内核源码的书,推荐你看一下。 书名忘了,是浙大的一位老师写的 |
-- 作者:硕鼠 -- 发布时间:12/9/2006 5:47:00 PM -- 恩,如果写一个可以在裸机上访问硬盘的程序,应该从那里着手呢? 形式大致如下: mov ax , 柱面号 这个 read_disk 就是读磁盘的某个扇区到dx指定的位置。 |
-- 作者:rhonda -- 发布时间:12/10/2006 12:43:00 PM -- 你恐怕要自己些微程序了 |
-- 作者:lidongbin -- 发布时间:12/15/2006 10:32:00 PM -- 我是做编译系统研究的,我的看法是你不如试试用自己的编译器来完成代码的转译 这样可以笔尖容易实现 仅工参考 |
-- 作者:jbh811 -- 发布时间:2/1/2007 12:11:00 PM -- 操作系统不能完全用高级语言来实现。实际上,所谓的高级语言也不是一个绝对的概念。汇编语言,应该算是公认的低级语言了,java算是高级语言了,但c语言却很难界定。由于c语言和汇编语言一样是属于编译性的语言,所以c语言的程序性能才会有极大的优化空间,这点上,c语言很接近于低级语言。但c语言又是面向过程的,并不是汇编那样的机器级指令,这样来看,他又很像高级语言。而java语言,并不是编译性的语言,java程序编译出的目标文件是字节码文件,是用java自己的虚拟指令集实现的。而其程序能够运行则需要java虚拟机将其虚拟指令集转换成真正可以执行的机器指令。所以java这种高级语言是不能用于实现操作系统的,因为要实现操作系统只能依赖cpu的实指令集,或者说这时候并没有可以依赖的虚拟指令集,因为这时候还没有其他软件。这也决定了,需要实现操作系统,必然应该选取编译性的语言。 前面说过了,c语言是编译性的语言,但是,操作系统的实现并不能完全的依赖c语言。正如全面说的,c语言在设计的时候就是以一种面向过程的语言来设计的。这也是c语言区别于汇编的根本,否则c语言就退化成汇编语言了。这也就决定了c语言更多的是过程设计,而一些细节的实现c语言是实现不了的(最直接的,c语言不能直接访问寄存器),这部分还是需要依赖汇编。比如引导程序,中断处理,低级I/O等。说白了就是c语言不能实现所有的机器指令集。如果想全部用c语言来实现的话,除非扩展标准的c语言,比如定义一些新的语法,你可以自己扩展编译器来实现。 很多人都说linux是用c语言写的,其实linux是用c和汇编写的。其实关于c和汇编之间的区别也不是那么大,因为他们都是编译性的语言,所以他们之间的联系也异常紧密,只要固定目标文件格式,c语言编译的目标文件和汇编编译的目标文件是可以链接的。 ps:我自己写过操作系统,不过只写完引导和简单中断处理就懒惰了:) |
-- 作者:gmg_211 -- 发布时间:3/1/2007 11:15:00 AM -- 开了眼界了 我深深理解了学无止境这句话。 |
-- 作者:weson -- 发布时间:5/9/2007 10:49:00 PM -- 高级语言写出来了也慢啊`````````````````` |
-- 作者:Angelo.j63 -- 发布时间:5/28/2007 4:32:00 PM -- 有志者,事竟成. ^_^ |
-- 作者:Landings -- 发布时间:6/6/2007 4:27:00 PM -- 事实上是,操作系统大部分都是用高级语言写成的。 比如说我所知道的一个操作系统就是用大约一百行汇编语言加上C语言写成的。 我敢肯定WINDOWS大部分也是C,虽然我没有看过源代码 |
-- 作者:计算的高手 -- 发布时间:12/14/2007 2:03:00 PM -- 不错呀? |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |