Skip to content

BitByNIK/col633_xv6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COL633 - Resource Management in Computer Systems (xv6)

For Mac users looking to run xv6, use this Docker image.

This repository contains solutions for COL633 - Resource Management in Computer Systems assignments, focusing on enhancing the xv6 operating system. Below is a quick summary of each assignment:

Assignment 1 - Shell Enhancements 🖥️

1. Enhanced Shell 🔐

Added a username-password login system for the shell with a 3-attempt limit.

2. History Command 🕒

Implemented a history command to list executed processes with memory usage and PID.

3. Block/Unblock Command 🛑

Created commands to block/unblock system calls for processes invoked by the shell.

4. Chmod Command 🖱️

Implemented chmod to change file permissions with a custom system call.


Assignment 2 - Process Management 🔧

1. Signal Handling 🛑💥

Implemented signal handling for process termination, suspension, and resumption.

2. Custom Scheduler ⏱️

Modified the xv6 scheduler to incorporate priority-based scheduling and profiling.


Assignment 3 - Memory Management 🧠

1. Memory Printer 🖨️

Added a memory page inspection feature for active processes.

2. Page Swapping 💾

Introduced adaptive page replacement and disk-based page swapping.

About

Assignments from the COL633 course exploring resource management in operating systems, using the xv6-public codebase to implement and test core OS concepts

Topics

Resources

Stars

Watchers

Forks

Contributors