[The OS Project - WebDev] RE: [TOSP_Developers] detect_memory working
Status: Planning
Brought to you by:
shounin
|
From: <the...@li...> - 2002-08-23 16:02:16
|
> Well regarding the memory map, let us start with a
> spreadsheet. It will be
> good if we can get started on that.
Will post an excel sheet tonight.
Also, if I were to request a database account for the website, would it
be useful for this? We could get the webdev team - if they'll do some
work - to put up a page that we could login into and edit a live
"spreadsheet" (aka database created) available to all of us. It'd be a
bit of work to get it up and working, but we could also use the code for
other things like an interrupt vector table (IVT), and other areas where
we need to have a spreadsheet type thing. And we could also provide a
static view for the public to see when we're ready for the information
to go public. Any how just a thought.
> We have to remember that once we go into PM the DOS and BIOS
> interrupt
> service routines are no longer available. We have to write
> our own Interrupt
> vector table and ISRs and set it up through IDT.
> So it will be good for someone to take the job of working on
> ISRs. This
> needs to be done soon too.
I have no problem with working on ISRs - they'll be in C and I'd enjoy
the challenge. Of course, if someone else wants to step forward and take
this I'd welcome that too as I haven't much time. I just want to see
this get going.
What are the absolute basics we need from the ISR's right now?
I know we need to have one to print to the screen, and we'll need the
VGA detection before that can be completed as it will have to use some
values that will be initialized from that data (and then changed for
when we go to something higher), or perhaps we could just set something
to move the ISR to the video driver in HAL OS when it is ready. (Then
the video driver can be in print based on the mode of the video card,
and all the information will be properly initialized, etc.)
And we'll also need one for the keyboard, and another to clear the
screen. So here's what I'm thinking:
ISR 1 -> Print Screen
ISR 2 -> Keyboard->Get(&SCANCODE, &MASK) // Mask = Shift, Control, Alt,
etc with L/R values.
ISR 3 -> Disk->Read(&disk,&address, &data, &length)
ISR 4 -> Disk->Write("")
ISR 5 -> Memory_Allocate(...)
ISR 6 -> Memory_Dellocate(...)
ISR 7 -> Submit_Job(...)
ISR 8 -> Yield_Processor(...)
** Numbering to the above is irrelevant. **
We should support hard drive and floppy in the early stuff. (Floppy
first, then we can get harddrives.)
Ideas? Volunteers?
Ben
|