eXpOS is an attempt to create an operting system from scratch for a hypothetical XSM
architecture. Designed as per the Operating Systems Laboratory Course at NIT Calicut.
XSM
is a Assembly like language for writing programs.
SPL
is an abstraction for XSM
. It provides simple constructs like loops and aliasing.
EXPL
is a high level language for writing user programs. Compiles to XSM instructions.
Tip
configs.sh
contains some functions that eased my way around navigating the the tools.vim/
contains syntax files for XSM, SPL and EXPL.
- Stage 1 : Setting up the System
- Stage 2 : Understanding the Filesystem (2 Hours)
- Stage 3 : Bootstrap Loader (2 Hours)
- Stage 4 : Learning the SPL Language (2 Hours)
- Stage 5 : XSM Debugging (2 Hours)
- Stage 6 : Running a user program (4 Hours)
- Stage 7 : ABI and XEXE Format (2 Hours)
- Stage 8 : Handling Timer Interrupt (2 Hours)
- Stage 9 : Handling kernel stack (4 Hours)
- Stage 10 : Console output (4 Hours)
- Stage 11 : Introduction to ExpL (4 Hours)
- Stage 12 : Introduction to Multiprogramming (4 Hours)
- Stage 13 : Boot Module (4 Hours)
- Stage 14 : Round robin scheduler (4 Hours)
- Stage 15 : Resource Manager Module (4 Hours)
- Stage 16 : Console Input (6 Hours)
- Stage 17 : Program Loader (6 Hours)
- Stage 18 : Disk Interrupt Handler (6 Hours)
- Stage 19 : Exception Handler (6 Hours)
- Stage 20 : Process Creation and Termination (12 Hours)
- Stage 21 : Process Synchronization (4 Hours)
- Stage 22 : Semaphores (4 Hours)
- Stage 23 : File Creation and Deletion (6 Hours)
- Stage 24 : File Read (12 Hours)
- Stage 25 : File Write (12 Hours)
- Stage 26 : User Management (12 Hours)
- Stage 27 : Pager Module (18 Hours)
- Stage 28 : Multi-Core Extension (12 Hours)