Problem:
As our kernel grows we need more complex datastructures and functions these would come from
the standard C/C++ library with normal programs.
The kernel is a freestanding programme and has no access to standard libraries.
Solution:
We build a mini version of the standard C/C++ library which will contain the
datastructures and functions we want. This library can then be statically linked
into our kernel binary.
Making it a statically linked library also gives more structure to the project.
Keeping these random functions and datastructures in the kernel just clutters the
kernel source code with less relevant source code.
- The FAT command is no longer available
- At Startup the FileSystem initialise funciton
is called, it should execute the same code as the FAT command did.
- ACPI::initialise is commented out because it causes a Exception
- Updated gdt assembly
- Updated Interrupt service request handlers
- Improved virtual memory manager
- NOTE: we're dependent on identity mappings for the heap to work