1 一定要用标准C
2 引导程序要用汇编
3 建议好好看看linux
4 ........

解决方案 »

  1.   

    请参见LINUX0。0。1内核原代码。你要是一个人编的话就看看这个就行了。不要说想编出什么WINDOWS2000这样的瞎话。
      

  2.   

    能帮我解决上面三四两个问题吗?
    to ytweiwei:引导程序是从ROM引导程序接过来的,关键是怎么知道ROM具体干了什么,我怎么去接。能谈谈你的经验吗?你当时是怎么考虑的
    to zhenshi(真世) :个人认为看LINUX0。0。1内核原代码几乎是不可能的,这么长的汇编看懂只有理论上的可能性,我想您一定也没看过吧?我倒是有MINIX的原码!还有教材。
    但是在学习的时候还是很吃力的,特别是遇到实际的问题,与教材不是一码事。特想找几个高手请教。
      

  3.   

    1、不同的系统原代码采用的编译器不同:早期DOS内核可用MASM编译,linux内核可用GCC,uc/osII可用Borland c++ 3.1...
    2、3、4:  [email protected] 主功方向:操作系统
      

  4.   

    个人认为看LINUX0。0。1内核原代码几乎是不可能的,这么长的汇编看懂只有理论上的可能性,我想您一定也没看过吧?我倒是有MINIX的原码!还有教材。
    错了,是用c编的啊,
      

  5.   

    printk(笑翔):请问编译成的是com文件?没有文件头?如何载到外存的引导扇区,好由rom程序加载?
      

  6.   

    weblove(宋海军) 事吗?可是我好像听说其原始的内核还是由XXX自己所有,并没有公开呀!如果是c的,还能保密吗?还有,不可能完全用c来编写内核
      

  7.   

    基本上你需要多熟悉linux
    我本人对这不熟悉
    不过我有很多同学做过操作系统
    大约都是嵌入式linux吧
    有几个同学做的是在国外的站点上荡下源代码
    在此基础上改进进程调度算法等
    至于引导程序,在荡下的代码中就有,现成的,基本上不改动.
      

  8.   

    改进算法是一回事,自己写底层是另一回事,
    句个例子吧,就临界区,可以追溯到汇编XCHNG指令,再则把指令写到指定偏移量,都不是C语言可以直接做到的。看一看啊Andrew的操作系统书上的原码,全公开(Minix),关键部分也的用汇编
    我需要的是学习编写系统的方法,而不是现成的拉来用,昨天看了一天系统初始化的原码,感觉好多了。今天又看了一些关于X86系统引导的资料。希望有志于研究系统的朋友来联系哦。学习这个镇希望有人合作!
    不过得是高手哦,也就是得回答我后两个问题,如果连这最基本的都不会,请不要跟贴
      

  9.   

    GDTR中的是物理地址。
    把MINIX的代码看明白就行了,我也只看了60%.
      

  10.   

    插播紧急新闻请关注:http://www.csdn.net/expert/topic/709/709609.xml?temp=.4640314
      

  11.   

    算了,都是我早已听说的,有谁能说点实在的,有用的,特别是真正编过的!
    实在不知道怎么给分了
    要不就回答两个问题:3、GDTR的地址是物理地址还是逻辑地址?
    4、TSS放在哪儿?因为CR3从TSS中得到,在没有加载CR3的情况下,是怎么知道TSS的物理地址的
    知道的就给分
      

  12.   

    GDTR中放的是16位的选择子,在实模式下,它没用,在保护模式下,他才是选择子,48位的线性地址在GDT指向的位置。如果没用分页机制,48位地址就是物理地址,用了分页机制,它就是逻辑地址。TSS是段选择子。汇编中有直接对其操作的指令,好像是TSS xxx(要查查)
      

  13.   

    ytweiwei(最近正在学VB) :看得出你就是那种光会说空话大话的江湖骗子,就是给你10000分你也不是真正的专家
      

  14.   

    真希望有人帮我UP一下,一律给分,反正这分看来也用不完,ok?