Major Progress on Re-xv6 Project Until 23rd June 2019

Signal Framework

This feature provides basic functions of Uinx signals, such as sigset and sigsend. Note that unlike POSIX-compatible implementations, the signal is not send by kill. It’s an issue and will be solved later.
The signal framework make it possible to implement some great features like terminate a process by pressing Ctrl-C, which make debugging easier. the mechanism for signals is inspired by the project xv6-signals.

Memory Improvements

The improvements on memory include expandable user stack and null deference handling.
The former is implemented by moving stack to the very top of user memory, allowing it to grow towards bottom, and the latter one spare the very first page of user memory and handling the access to it.

Project Structure Manipulation

Classify the file and folders for kernel itself into folders indicating its function.
New structure This will make it convenient to modify specified modules or partly rebuild the kernel. It will make it easy for the next step, in which two parts of xv6 filesystem (fs.img and xv6.img) will be combined.

Inspecting The Progess

Now I setup a Github project for this project, which will be updated more frequently and it provides more details.