86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# 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.
|