This repository has been archived on 2024-01-18. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2023-09-15 10:13:25 -04:00
Part1 Finished Part I, moved part 2 relavent files to own folder. 2023-09-12 13:03:34 -04:00
Part2 Completed Part2: 05_basic_int. 2023-09-15 10:13:25 -04:00
.DS_Store Inserted provided code to 01_gdb kernal.c 2023-09-12 23:00:39 -04:00
README.md Added README based on Project Goals. 2023-09-12 17:07:37 +00:00

CS3502 Project 01-A Fall 2023

Setting up the OS Development Environment

Learning Objectives:

The purpose of this assignment is to continue the development examples of setting up an Operating System kernel.

Submissions will be placed here and they will contribute to the total assignment grade of 100 points.

This is the kernel build environment setup process and constitutes the Part I of the Kernel Build assignment. This assignment in D2L contains four sections that will complete the Project Assignment:

Part I: Set up Environment -- install NASM,QEMU, GCC, GDB in WSL, VM or native installation.

First, read Part I below and review the attached Power Point for how to set up the environment.

Part II: Get to a working shell prompt.

Then complete the tasks for Part II given below in this document. Do not forget to answer the questions at the end.

Part III: Add a Memory Manager (the HEAP, Linked List data structures)

Implement Best Fit, Worst Fit and First Fit kernel memory manager algorithm.

Part IV: Add a Process Manager (Linked List or Balanced BST data structure)

Given a process binary load a process into memory.

Part V: Add a File Manager (Linked List and Tree or graph data structures)

Implement a directory structure.

Submission Guidelines:

  • No handwritten submission is accepted, always submit answers as text within this or similar document file with any support images embedded in the file.

  • EXCEPTION: If asked for source code implementation you can submit those individually and as separate files in ASCII format in their original file format .cpp, .java, .py, .cs etc. or even as a .txt file will be acceptable. Do not insert code into the submission document file. It ruins spacing which makes .python and some languages (perl, awk etc.) difficult to test build.

  • Do not submit ZIP files... ever... for anything in D2L. The system is extremely unhelpful with regards to those filetypes and grading.

  • You may include your freehand drawing/image and handwritten scans in the submission. However, the writing and images must be clearly legible. Though, it is best to present non-handwritten submissions, generally, as is done in the professional setting.

  • If asked, show all work/calculations/graphs etc. in the determination of the problem.

  • Please complete your entire work in a single Word Document and Save the file as: yournetid_CS3502_ProjectP1_2.docx (e.g. ogarcia5_CS3502_ProjectP1_2.docx.) and upload your file in D2L.

  • Please observe the submission due date and time. After the due date there is a 50% penalty for the next 24 hours. Any submission after 24 hours of the due date will be graded at 0%.

  • If you include a reference or an image taken from other sources, please cite them appropriately. APA is preferred but cite them so they can be found. NOTE: verbatim copying or even paraphrasing is plagiarism so if the source used constitutes your answer rather than simply supporting the answer, it will be considered invalid. This is especially true of source code implementation answers.

  • If you resubmit, please make sure to attach the file again. Your latest submission before the due date will be the one graded.