Overview
Yalnix is a Unix-like operating system developed for the RCS421 simulated hardware environment. The project involved implementing core operating system components including a kernel, file system, process scheduler, and virtual memory system.
Key Features
- Process Management
- Process scheduling and context switching
- Kernel/user mode protection
- Concurrent C program execution
- Virtual Memory System
- Two-level page table implementation
- Translation Lookaside Buffer (TLB)
- Dynamic memory allocation
- File System
- Demand paging implementation
- LRU cache for efficient access
- Indirect inodes for large file storage
- System Calls
- Fork and Exec implementations
- Read/Write operations
- Terminal driver with multi-process support
Technical Details
The operating system was implemented in C, with careful attention to memory management and system resource allocation. The project involved extensive testing and debugging to ensure proper functionality of all components.
Challenges & Solutions
- Memory Management
- Implemented efficient page replacement algorithms
- Developed robust memory allocation strategies
- Process Synchronization
- Designed and implemented process scheduling algorithms
- Ensured proper context switching between processes
- File System Optimization
- Implemented caching mechanisms for improved performance
- Developed efficient file storage strategies