How to implement system services?
Posted: Thu Jul 19, 2007 7:22 am
I have followed simple tutorial in creating OS..
I learned how to implement GDT dan IDT, then switch to protected mode.. But I still don't fully understand how IRQs work and implementation of TSS..
I want to know how can I create system services to be called by applications in the OS. In the tutorial, there are a function to write to display buffer.. Is that what we call system services? If so, then I must write call-gate so application in PL 3 can call the function in PL 0, right? But how applications know to locate the call-gate? Are all system services located in one "kernel.bin" file too?
Can I just use the IDT to provide call to system services? Why Windows don't do like that such as in DOS before?
Btw, can I still use BIOS interrupt to communicate with motherboard? I mean by preserving and adjusting the address in real-mode interrupt vector table to p-mode IDT? Is it useful or there are new way?
Sorry for too many questions, I'm just curious about a lot of thing and don't know how to learn them by myself.
I learned how to implement GDT dan IDT, then switch to protected mode.. But I still don't fully understand how IRQs work and implementation of TSS..
I want to know how can I create system services to be called by applications in the OS. In the tutorial, there are a function to write to display buffer.. Is that what we call system services? If so, then I must write call-gate so application in PL 3 can call the function in PL 0, right? But how applications know to locate the call-gate? Are all system services located in one "kernel.bin" file too?
Can I just use the IDT to provide call to system services? Why Windows don't do like that such as in DOS before?
Btw, can I still use BIOS interrupt to communicate with motherboard? I mean by preserving and adjusting the address in real-mode interrupt vector table to p-mode IDT? Is it useful or there are new way?
Sorry for too many questions, I'm just curious about a lot of thing and don't know how to learn them by myself.