100% found this document useful (2 votes)
186 views2 pages

CSE335 TermProject Fall20

This document outlines the requirements for a term project involving modifications to the MINIX 3 operating system. It involves implementing four scheduling algorithms, hierarchical paging with page replacement algorithms, and modifying disk space management to use extents. Students will work in groups of 5-7 to complete the requirements. They must modify MINIX 3 source code, collect performance results, and submit a modified MINIX 3 version, report, and presentation that explains their work.

Uploaded by

Rana Fathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
186 views2 pages

CSE335 TermProject Fall20

This document outlines the requirements for a term project involving modifications to the MINIX 3 operating system. It involves implementing four scheduling algorithms, hierarchical paging with page replacement algorithms, and modifying disk space management to use extents. Students will work in groups of 5-7 to complete the requirements. They must modify MINIX 3 source code, collect performance results, and submit a modified MINIX 3 version, report, and presentation that explains their work.

Uploaded by

Rana Fathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Ain Shams University

Faculty of Engineering
Computer Engineering and Software Systems Program

CSE 335: Operating Systems – Fall 2020


CSE 223: Operating Systems – Fall 2020

TERM-PROJECT REQUIREMENTS
This project is a group project, where each group contains 5 to 7 students. In this project, you will implement various
algorithms used in operating systems that have been studied in class on MINIX 3 operating system. MINIX 3 is a free open-
source operating system based on a tiny microkernel running in kernel mode with the rest of the operating system running as
a number of isolated, protected, processes in user mode. It runs on x86 architecture and x86 virtual machines. MINIX is
based on a small (about 12K lines of code) microkernel that runs in kernel mode. The rest of the operating system runs as a
collection of server processes. These processes include the virtual file system, one or more actual file systems, the memory
manager, the process manager, the device drivers … etc., each one running as a separate user-mode process. You can
download MINIX 3 source code from https://www.minix3.org/. Meanwhile, you can use any other alternative to MINIX but you
need to justify your choice. The project required in this assessment consists of the following requirements:

Requirement 1
In this part of the assessment, you need to modify MINIX 3 to include the following scheduling algorithms:
 Round Robin
 Shortest Job First (SJF)
 Priority based
 Multi-Level Feedback Queue
The user should be allowed to edit a configuration file in the operating system to provide any required parameters or
assumptions for these scheduling algorithms. Real processes must be executed and each algorithm must be tested by
computing the average turnaround time and waiting time for each algorithm for a set of processes that start, execute, and
end in specific times. A detailed comparative analysis and explaination of the results must be included in the report that will
be deliveed by the end of the assessment.

Requirement 2
In this requirement, you need to implement hirarchical paging in MINIX 3, with all the needed parameters (page size, number
of levels, address format … etc.) are user-defined via a configuration file. Additionally, FIFO and LRU page replacement
algorithms should be implemented (configuration parameters of these algorithms should be stored in configuration file too).
The performance parameters (e.g., number of page faults, number of empty frames … etc.) of the hirarchical paging as well
as the replacement algorithms should be collected as the the size of the pages and the number of levels are changed, with a
complete analysis should be provided in the report in addition to the collected results.

Requirement 3
In this requirement, you need to find how MINIX 3 manages empty space, then you need to modify disk-space management
code in MINIX 3 to use user-defined extents. Also, the disk allocation should be modified to provide the allocation in terms of
the user-defined extents. The extent itself consists of a set of disk blocks where they are handled as a single unit. User
should provide all needed configuration in a configuration file that is going to be read by MINIX 3 and adopted accordingly.
The performcnce results of this method with respect to the number of blocks in the extent should be collected, explained,
and presented in the report.

Deliverable
1. The MINIX 3 modified version after including all the requirements in it (in one archive file), also, a detailed readme.txt
file should be included that shows how to install and configure each requirement so that it can be run in the modified
version of MINIX 3.
2. A detailed report (in .docx format) that provides an overview of MINIX 3, the theoretical details of each of the
implemented algorithm, the details of implementing each of the requirements in MINIX3 and how to use them,
detailed test cases, the collected results, the analysis and justification of the results, the references adopted. You
need to use technical writing skills in writing your report. The report will undergo plagiarism check.
3. A detailed presentation (in .pptx format) that presents each task, how it is implemented, the collected results and
their explanation.
1/2
A demo, presentation, and discussion will be held by the end of the project. All deliverable should be delivered to LMS.

2/2

You might also like