Yalnix Operating System
Apr 27, 2023
Introduction
Yalnix OS is a Unix-like operating system designed for RCS421 simulated hardware and X11 Windows System. This project includes both kernel and file system functionalities like memory management, interrupt handling, context switching, and I/O handling.
Process Scheduler
One key aspect of Yalnix OS is its process scheduler, which is based on the Round-Robin algorithm. This enables our operating system to support multiple processes, context switching, and kernel/user mode protection. With this scheduler, Yalnix OS can load and execute multiple C programs concurrently.
Memory Management
Memory management is a crucial part of any operating system, and in Yalnix OS, we have implemented it using virtual memory and single-level page tables. This allows for both static and dynamic memory allocation in user processes.
System Calls
Another important feature of Yalnix OS is its array of system calls, including Fork, Wait, Exec, Sleep, Brk, Open/Close, Read/Write, Link, MkDir, ChDir, TtyRead, and more. These calls enable interaction between the operating system and user programs.
Terminal Device Driver
What's an operating system without input peripherals? To allow users to interact with Yalnix OS, we have created a terminal device driver that supports keyboard input, multiple virtual monitors, and multi-process access.
File System
Finally, our Yalnix-based file system supports demand paging with an LRU cache, which allows multiple users to run on top of the Yalnix kernel. Additionally, large file storage is made possible using indirect inodes.