Project Objectives
Goal of this project is to develop simple operating system for MIPS R4000
microprocessor.
The work is divided into three parts. Each part is done by one of teams stated
at main page.
-
First part - Basic Functionality
-
threads (creating, killing, joining, suspending...)
-
scheduler (preemptive scheduling, Round Robin, no priorities)
-
synchronization (semaphores, mutexes, RW locks, condition variables)
-
basics debugging support
-
I/O (keyboard, screen)
-
exception handling for basic exceptions
-
Second part - Memory Management
-
exception handling for TLB support
-
page tables
-
memory allocating
-
make malloc allocate in non-paged memory
-
memory copiing between different virtual address spaces
-
Third part - User Processes
-
processes (creating, killing)
-
user API