1. Homepage
  2. Programming
  3. CSE 2431/5431 LAB 3: A Mini Operating System

CSE 2431/5431 LAB 3: A Mini Operating System

Engage in a Conversation
COperating SystemShortest Job FirstRound robin CPUCSE2431CSE5431Introduction to Operating SystemsSystem IIUSOSU

CSE 2431/5431 LAB 3                                                 CourseNana.COM

            CourseNana.COM

  CourseNana.COM

1.     Goal CourseNana.COM

  CourseNana.COM

Create a simulation of an operating system that uses Shortest Job First and Round robin CPU scheduling with paging and two page replacement algorithms. CourseNana.COM

  CourseNana.COM

2.     Introduction CourseNana.COM

  CourseNana.COM

This lab assignment asks you to build a simple simulation of an operating system using the C Programming Language that assigns the CPU to a process, loads instructions into a program counter, and uses paging to load the appropriate virtual memory locations into physical memory using execution time binding. The operating system simulation uses a struct representing the process control block and a file per process that contains the “instructions” for that process. Template code is provided that includes all required data structures and loads the provided files into locations in structure “memory” once a frame location is chosen. CourseNana.COM

Output is given to demonstrate when a page fault occurs and show the instructions each process “executes.” CourseNana.COM

  CourseNana.COM

3.     A Mini Operating System CourseNana.COM

  CourseNana.COM

A C program that provides all required data structures and limited additional functionality can be found in the assignment where these instructions are linked. This template code initializes a free frame list as well as an array of memory structs that functions as a series of frames. The template code initializes process control blocks for each process, including an empty page table per process and a random number of instructions that represents the CPU burst for each process. CourseNana.COM

  CourseNana.COM

For your Lab 3, there are four functions that must be completed for full credit, in addition to two lines in a fifth function that must be completed to finish the process of translating from virtual address to physical address. These two lines complete the separation of a single virtual address into a page number and byte offset. In addition to this, you will implement two CPU scheduling algorithms and two Page replacement algorithms. CourseNana.COM

  CourseNana.COM

The FIFO CPU scheduling algorithm has already been implemented to give an illustration of how to use the functions provided. You will instead implement Shortest Job First and Round Robin. To simplify this task, no arrival times are provided.  You can instead assume that all processes are present in the system and they arrived in numerical order of process ID. The CPU scheduling functions do not return a value. CourseNana.COM

  CourseNana.COM

The Page replacement algorithms take in the process that is currently suffering from a page fault, and returns the frame number that will be chosen for replacement. For simplicity, we are assuming local page replacement rather than global page replacement, and we are assuming that no process may be allocated more than the number of total frames divided by the number of processes in system. For this lab assignment, you will implement one (1) Least Recently Used approximation algorithm, but you may choose which implementation. Data structures are already in place to support a timestamp per frame or a boolean replacement bit. CourseNana.COM

  CourseNana.COM

The second page replacement algorithm you choose to implement may be a second LRU approximation method, FIFO, or a counting algorithm like LFU or MFU. Data structures are already in place to support a count of the number of accesses since being brought into memory. Memory metadata structs have already been set up as a form of linked list to make it easier to implement FIFO or the second chance algorithm. CourseNana.COM

  CourseNana.COM

Bonus point available: If you decide to use either the stack method, you will need to build the data structure to support this. CourseNana.COM

  CourseNana.COM

4.     Test cases CourseNana.COM

  CourseNana.COM

A list of defined values are provided at the beginning of the template code assignment that you may use to test your miniature operating system. These include toggles such as debug, quantum, and page size. CourseNana.COM

  CourseNana.COM

General Instructions CourseNana.COM

  CourseNana.COM

Write your own Makefile. The output file should be lab3. CourseNana.COM

Pack all your file in a zip file and submit it on Carmen. CourseNana.COM

  CourseNana.COM

Any program that does not compile will receive a zero. The TA will not spend any time to fix your code due to simple errors you introduce at the last minute. It is your responsibility to leave yourself enough time to ensure that your code can be compiled, run, and tested well before the due date. CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
C代写,Operating System代写,Shortest Job First代写,Round robin CPU代写,CSE2431代写,CSE5431代写,Introduction to Operating Systems代写,System II代写,US代写,OSU代写,C代编,Operating System代编,Shortest Job First代编,Round robin CPU代编,CSE2431代编,CSE5431代编,Introduction to Operating Systems代编,System II代编,US代编,OSU代编,C代考,Operating System代考,Shortest Job First代考,Round robin CPU代考,CSE2431代考,CSE5431代考,Introduction to Operating Systems代考,System II代考,US代考,OSU代考,Chelp,Operating Systemhelp,Shortest Job Firsthelp,Round robin CPUhelp,CSE2431help,CSE5431help,Introduction to Operating Systemshelp,System IIhelp,UShelp,OSUhelp,C作业代写,Operating System作业代写,Shortest Job First作业代写,Round robin CPU作业代写,CSE2431作业代写,CSE5431作业代写,Introduction to Operating Systems作业代写,System II作业代写,US作业代写,OSU作业代写,C编程代写,Operating System编程代写,Shortest Job First编程代写,Round robin CPU编程代写,CSE2431编程代写,CSE5431编程代写,Introduction to Operating Systems编程代写,System II编程代写,US编程代写,OSU编程代写,Cprogramming help,Operating Systemprogramming help,Shortest Job Firstprogramming help,Round robin CPUprogramming help,CSE2431programming help,CSE5431programming help,Introduction to Operating Systemsprogramming help,System IIprogramming help,USprogramming help,OSUprogramming help,Cassignment help,Operating Systemassignment help,Shortest Job Firstassignment help,Round robin CPUassignment help,CSE2431assignment help,CSE5431assignment help,Introduction to Operating Systemsassignment help,System IIassignment help,USassignment help,OSUassignment help,Csolution,Operating Systemsolution,Shortest Job Firstsolution,Round robin CPUsolution,CSE2431solution,CSE5431solution,Introduction to Operating Systemssolution,System IIsolution,USsolution,OSUsolution,