Skip to content
  • Colin Finck's avatar
    Implement physical and virtual memory managers, a FreeList for both, an even... · ee46872e
    Colin Finck authored
    Implement physical and virtual memory managers, a FreeList for both, an even more generic DoublyLinkedList in Safe Rust, and a custom allocator.
    
    The data structures used to manage heap memory require dynamic memory allocations themselves.
    To solve this chicken-egg problem, I have introduced a "Bootstrap Allocator". This is a simple
    single-threaded implementation of a bump allocator using some preallocated space.
    As soon as all required data structures have been set up, the more sophisticated "System Allocator"
    is used.
    
    This code finally breaks compatibility with the HermitCore C implementation.
    It compiles, but applications can only be run again when the remaining kernel components have been ported.
    ee46872e