Am an OS developer newbie and I'd like to develop
a small OS which can interpret a few commands
entered from the console.
I'd like to know the minimal requirements for the kernel of
kernel of such a system that can only interpret a
few commands, such as for file manipulation and
directory traversal, and to be able to load at
least two programs into memory and run them
concurrently.
kernel development
RE:kernel development
>On 2002-05-20 04:16:03, IO wrote:
>Am an OS developer newbie and I'd like to develop
>a small OS which can interpret a few commands
>entered from the console.
> I'd like to know the minimal requirements for the kernel of
>kernel of such a system that can only interpret a
>few commands, such as for file manipulation and
>directory traversal, and to be able to load at
>least two programs into memory and run them
>concurrently.
There're a lot of questions to be asked before
that can be answered _completely_, but here's a
quick rundown of what you'll probably need:
common to all processor modes:
some form of memory management
a method to communicate between OS & program...
interrupts, call-gates, etc
HD (IDE?) and/or floppy support
VGA support
keyboard support
timer support
from real mode:
timer-based multitasking vector
or pmode:
tss based multitasking
gdt - global descriptor table
idt - interrupt descriptor table
ldt - local descriptor table [ optional ]
Hopefully that helps a little (?),
Jeff
>Am an OS developer newbie and I'd like to develop
>a small OS which can interpret a few commands
>entered from the console.
> I'd like to know the minimal requirements for the kernel of
>kernel of such a system that can only interpret a
>few commands, such as for file manipulation and
>directory traversal, and to be able to load at
>least two programs into memory and run them
>concurrently.
There're a lot of questions to be asked before
that can be answered _completely_, but here's a
quick rundown of what you'll probably need:
common to all processor modes:
some form of memory management
a method to communicate between OS & program...
interrupts, call-gates, etc
HD (IDE?) and/or floppy support
VGA support
keyboard support
timer support
from real mode:
timer-based multitasking vector
or pmode:
tss based multitasking
gdt - global descriptor table
idt - interrupt descriptor table
ldt - local descriptor table [ optional ]
Hopefully that helps a little (?),
Jeff