This repository contains the source code and documentation for the XV6 Operating System. The XV6 Operating System is a simple Unix-like teaching operating system developed at MIT. In this repository, we have altered XV6 in four different tasks, each focusing on a specific aspect of the operating system.
The repository consists of the following tasks:
-
1_XV6_System_Calls_Scheduling: This task focuses on modifying XV6 to implement new system calls and improving the scheduling algorithm for process management.
-
2_XV6_Threads_Synchronization: In this task, we explore the implementation of threads and synchronization mechanisms in XV6, enabling concurrent execution and interprocess communication.
-
3_XV6_MemoryManagement: The goal of this task is to enhance the memory management capabilities of XV6, including virtual memory, page tables, and memory allocation algorithms.
-
4_XV6_FileSystems: This task involves enhancing the file system implementation in XV6, including supporting additional file operations such as seek() system call.
Each task folder contains a PDF file named "task_description.pdf," which provides detailed information about the task requirements and instructions.