# 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.