- 1 block = 4096 bytes : because this will make page fault handling possibly
somewhat easier
- 1 byte in the bitmap = 8 blocks of physical memory
unsure if the allocation is perfect ... guess i'll find out some day if this is actually correct.
The bitmap needs 16kb to keep track of 2gb of physical memory. Seems a decent percentage to me.
As this project grows it becomes important to keep things properly organised.
In this commit I've put some effort into making the kernel.cpp file more consise and thus improve its
readability.
Certain parts of the code have gotten their own definition file where before it
was only a header file.
- Moving the Supervisor Terminal into its own definition file.
- Subtracting debugging messages with preprocessor ifdef's
- Time and Date is now not just a header but has its own proper definition file
- Banner is displayed when booting up
- Terminal has a couple new commands
Commmand Description
=================|||||===================================================
DATE (was TIME) Displays the curren time, date and ticks
VERSION Displays system version information
MEMORY Displays memory information
To ease the pain of debuggin I can now interact with the system through a
very simplistic terminal. Hopefully things can be tested more easily by activating
the piece through a simple command. The max characters for a command is 10.
To achieve this I have had to make the following changes.
- Changed IRQ to update a global status variable
- Added a standalone keyboard driver with getKey functions
- Changed the main kernel loop to display a prompt
- Added a strncmp function to the clib/string file