by Mike » Wed Jan 20, 2016 12:48 am
Hello everyone.
Thanks for the feedback and suggestions. We will most probably be going with the memory management topics given that we had to make some additional changes in the demo to accommodate for the lack of proper address space management and heap allocator. The next chapter have been started a few weeks ago, primary topics will include user and kernel heap allocators, including, but not limited to: free lists and stack allocations, SLAB allocators and variants; and possibly others.
We also want to cover address space management, however it may or may not be in the next chapter - we'll see. Address space management topics would include AVL trees, buddy allocators, zone and arena allocators, recursive page directory structures, self-mapping, and page swapping.
Due to unforeseen circumstances, we had to push the demo release date for chapter 25 slightly - we will release it in the next 2 days. We were originally going to run the threads in user mode, however due to the lack of proper address space management (one of the reasons we want to cover it), it would require hacks to reserve and create user space stacks for the independent threads while keeping them separate from kernel space - and we want to avoid that. We also wanted to avoid adding a large amount of code not discussed in the chapter - so we decided to keep them kernel level threads for the demo and we'll be pushing them into userspace once we implement address space management.
If there is anything specific that you would like us to cover, please let us know and thank you for your support.