Unix Variant Development.

Discussion in 'Computer Science & Culture' started by Rick, Oct 4, 2003.

Thread Status:
Not open for further replies.
  1. Rick Valued Senior Member

    Messages:
    3,336
    Hi,

    I am involved with an O.S. Kernel development project which will use Assembly and C.Can anyone with practical experience give some Practical coding tips?I dont want any theoritical part,please.I know all the stuff already.I am fluent in C and Have a firm grasp on Pointers and ISR calling with reference to DOS interrupts 0x21,but i want to make a kernel without using DOS ISRs and Interrupts,which means i shall be using only Rom-Bios routines.

    Also if someone could shed more light on Protected mode Programming please.


    bye!
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. okinrus Registered Senior Member

    Messages:
    2,669
    You should mail away for the free intel processer books. The System programming guide and the Instruction set referance are probably the two that you need. You will probably also need a generic operating system book. A good place with more information is http://www.osdev.org/
     
  4. Google AdSense Guest Advertisement



    to hide all adverts.
  5. Rick Valued Senior Member

    Messages:
    3,336
    Okinrus,

    I saw that site <i>before</i> i posted here.The site is helpful to some extent,but it doesnt give the detailed tutorials of the practical application of coding in assembly and C.Specially on how to work on Bootsector using ASM and C.


    bye!
     
  6. Google AdSense Guest Advertisement



    to hide all adverts.
  7. okinrus Registered Senior Member

    Messages:
    2,669
    You could look at the linux source code on how it does it here.
    http://lxr.linux.no/source/arch/i386/kernel/head.S
    It's this code that does the actual mode switch

    movl %cr0,%eax
    orl $0x80000000,%eax
    movl %eax,%cr0 /* ..and set paging (PG) bit */
    jmp 1f /* flush the prefetch-queue */

    The switching stuft is covered in chapter 9 of the intel system manual. Don't know how your going to do it beyond that though.
     
Thread Status:
Not open for further replies.

Share This Page