1
This commit is contained in:
2022-07-23 18:51:15 +02:00
parent 70876f1a06
commit ad2efb2f64

View File

@ -8,31 +8,32 @@ Makefile
Changes Changes
====================================== ======================================
- Removed the Input.h/Input.cc files - Removed the Input.h/Input.cc files
- Made device classes singletons - Removed the Queue.h/Queue.cc/Chain.h files
- Changed the multitasking assembly (use stack instead of thread_state)
- Many changes to the scheduler (strategy is still round robin): - Many changes to the scheduler (strategy is still round robin):
- Merged dispatcher into the scheduler - Merged dispatcher into the scheduler (removed Dispatch.h/Dispatch.cc)
- Scheduler no longer uses queue but vector - Scheduler no longer uses queue but vector
- Scheduler owns threads (no outside references) - Scheduler owns threads (no outside references)
- Threads are addressed by tid from the outside - Threads are addressed by tid from the outside
- Threads are deallocated automatically when killed/exited - Retrieve threads when killing them
- Retrieve threads from the scheduler without deallocation - Threads are deallocated when killed and not retrieved
- Scheduler manages blocked threads - Scheduler manages blocked threads
- Simplified thread switching by storing registers on the stack (removed ThreadState.h, Thread.inc)
Additions Additions
====================================== ======================================
- Some stream manipulators for CGA_Stream (color) and OutStream (fixed width) - Some stream manipulators for CGA_Stream (color) and OutStream (fixed width)
- Logging class with support for colored serial port output - Logging with serial port output
- Main menu to start demos - Main menu to start demos
- A very basic system to broadcast keyboard events to threads - A very basic system to broadcast keyboard events to threads
- Basic implementation of vector with iterator support - Basic vector and iterator
- Basic implementation of unique_ptr - Basic unique_ptr
- Basic implementation of fixed size array (just a wrapper for C-style arrays) - Basic fixed size array (just a wrapper for C-style arrays)
Bugs Bugs
====================================== ======================================
- Can't exit the PCSPKdemo (bluescreen) - Can't exit the PCSPKdemo (bluescreen)
- After exiting the VBEdemo the paging isn't reactivated (so the pagefault bluescreen no longer works) - After exiting the VBEdemo the paging isn't reactivated (so the pagefault bluescreen no longer works)
- The PreemptiveThreadDemo LoopThreads can't be exited, the demo can't be launched multiple times - The PreemptiveThreadDemo LoopThreads can't be exited, the demo can't be launched multiple times
- Random bluescreens that are hard to pinpoint
- Tree Allocator (uses a red black tree to find best-fit blocks) crashes when freelist root is removed - Tree Allocator (uses a red black tree to find best-fit blocks) crashes when freelist root is removed
- Can't restart the OS (bluescreen)
- Random bluescreens that are hard to pinpoint