Skip to content

nadarevd/Operating-Systems

Repository files navigation

Operating-Systems

Understanding the lower level concepts of Operating Systems. Each file contains certain portions of the XV6 model, an implementation of UNIX. Specific parts of the code were used from XV6. This is purely for academic use.

Configuring sh.c

Understanding how an operating system reads in commands given through the GUI.

System Calls

Multiple Files are needed to implement custom system calls. These system calls work closer with the hardware. The system call created shows certain processes (RUNNABLE, RUNNING, and SLEEPING) currently in the CPU, as well as number of CPUs used.

Creating stdio.h

This was created to understand the implementation of C language libraries and how they give programs access to certain functions. I have implemented a few types of printing functions.

Priority Changing and Scheduling

Modification of process attributes allows us to implement priority values to processes, which can be manipulated to implement priority scheduling. The lower the priority value for a process, the higher the priority for running.

About

using the XV6 implementation of UNIX to learn.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published