Skip to content

This project required the creation of a new Linux kernel, adding various system calls for interprocess communication. This project implements a relatively simple message passing interface that can be queried asychronously by multiple processes.

License

Notifications You must be signed in to change notification settings

kbmclaren/proj2-CMSC421-OS

Repository files navigation

proj2-CMSC421-OS

Description

Implement the system calls enabling an IPC mailbox system.
My approach relied intensively on the development of a detailied prototype.After figuring out and testing mostly in the protoype, I transfered and translated my system calls to the kernel. I developed a test driver(incomplete), compiled the kernel, installed the newly compiled kernel, polished up the Readme files, and removed extraneous Clion files.

Repo-Contents

  • ...
  • proj2:
    • MAKEFILE
    • README: This README must detail the information necessary to understand the associated project 2.
    • mssgBox.c: This file must implement the system calls enabling an IPC mailbox system. Original content implemented in kernel space.
  • proj2proto:
    • src :
      • proto.c : userspace driver, used to test system call algorithm in user space outside of kernal space.
    • userSpaceList :
      • list.h : list.h, based on linux kernel v5.5.0 list.h Modified by Ioannis Boutsikas to work in userspace
      • list_hacks.h : list_hacks.h -- Modifications to make list.h usuable in userspace. Copyright (C) 2018, 2021 Ioannis Boutsikas
    • CMakeList.txt
    • Makefile
    • README: This document must detail the information necessary to understand the associated project 2 prototype.
  • proj2test:
    • Makefile
    • README.md: this README must detail the testing and verification regimine of the system calls implemented for project 2, Section 99, CMSC 421 OS, UMBC, in the Spring Semester of 2021.
    • testMssgBox.c: this is the testing driver for the system calls developed for project 2, section 99, CMSC 421, Spring 2021, UMBC
  • ...
  • README: The current document.
  • README-LINUX : Readme provided by the project architect.
  • README-SUBMISSION : Overall Readme submitted for project grading. Details of my approach to developemnt, references, and additional information for the grader.

About

This project required the creation of a new Linux kernel, adding various system calls for interprocess communication. This project implements a relatively simple message passing interface that can be queried asychronously by multiple processes.

Topics

Resources

License

Stars

Watchers

Forks