For this project, I developed a Unix Operating System using RISC-V assembly and C. The OS includes a file system, I/O manament, memory managment, process managment and system call. Memory management includes paging according to the SV39 standrad, providing virtual memory control and memory protection. The OS support both multi-threading and multi-processing. It provides system calls for user program. I also implememnted an Executable and Linkable File (ELF) loader that loads in binary files with the ELF format.