CONTROL EXECUTION of PROGRAMS
Sets up memory, loads program, turns
control to program.
Suspends execution of program,saves registers
Restores registers and continues running
Stop execution of program, take care of any
data storage and return memory to pool.
Determine the amount of memory in the system.
Setup memory blocks.
First block 64k system
Second block 128k program
Third block 128k program
Fourth block 128k program
Fifth block 128k program
Sixth block 64k system
Due to DSP's need for speed, programs will
most likely be written in Assembler or C. So
128k should be enough room for a nice DSP program.
Services might include a way to join 2 blocks for
Set the extra registers.
FS = 0xB8000 Video memory text mode
GS = Ramdisk and DMA dump
Check the block table to see if a block is free.
Setup DMA for moves from the sound card to memory.
FILE SYSTEM MANAGEMENT
Read a file into memory
Write a file from memory to disk
Create a file and return a handle
Open a file and return a handle
Close a file and return status
Create a ramdisk for program storage.
1 meg, simple 64k block directory.
File may span more than one block.
Some blocks may be split smaller for
small utility programs.
Copy the contents of the floppy to
Copy saved files back to the floppy.
Could be hooked to an interrupt to
save at a pre set interval. Files will
be written back on system start up.
Certain blocks in the ramdisk would have
to be set aside for saved files only.
PERIPLEAL DEVICE MANAGEMENT
Detect the sound card. And make sure it
will operate like a Sound Blaster 16.
Setup the sound card for sample rate.
Setup the sound card for a DMA move to
Setup the buffer for the DSP.
TASK SCHEDULING MANAGEMENT
Setup one of the following scheduling
PRE-EMPTIVE Foreground process gets
the most time.
TIME SLICED Each process gets a slice
of time set by the user.
ROUND-ROBION Each process gets the same
amount of time.
If you have a comment or question,
please feel free
to send me an Email.