Find Jobs
Hire Freelancers

C++

$30-5000 USD

Closed
Posted over 22 years ago

$30-5000 USD

Paid on delivery
Develop a small operating system. Write a simple OS skeleton program, to which we will eventually add more and more complex functionality. Read the info about a number processes from a file, and stores it in a queue of Process Control Blocks (PCBs). For each process, the information includes: process name; process (external) priority CPU burst length The name, priority and burst length of each process will be stored on a separate line in a file called "[login to view URL]" available for downloading from the Q: drive under directory Ivanov. Beside the above file-related information, each PCB object must also include a status variable, and a process ID number (pid) variable. The PCB queue must use a linked list implementation. Declare a class Queue in a header file "queue.h". Include this header file in your OS skeleton program. Project 2 Reads information about a number of processes from the file "[login to view URL]" available on the Q: drive from directory Ivanov. The information about each process includes the following: process name; process priority arrival time CPU burst length The process name is a string, the priority - an unsigned integer. The arrival time is measured in ms from the first power-on of the computer system, which is assumed to be at time 0. Thus, you can model the arrival time as a variable of time unsigned int The CPU burst length specifies the amount of time (in ms) that a process needs the CPU for. Here is a sample: p1 (Process Name) 15 (Priority) 1500 (Arrival time, i.e. arrived 1500 ms after the initial system boot-up) 300 (CPU Burst Length) For each process, store the information in an object of type PCB. In addition to the above information, the PCB must also contain an (unsigned int) field for the process id (pid). This must be automatically assigned (say by the class constructor) when the new PCB is created. The pid should be unique, i.e. different from the pids of all other processes currently in the system. Finally, a char variable should be used to store the process state - initially set by the PCB constructor to 'n' ("new"). In addition you will require three linked lists: · · New_Proc_List - stores all newly created PCBs (when read from the file) · · Ready_Q - Stores PCBs which are ready to be scheduled on the CPU · · Terminated_Q - Stores the PCBs of all terminate processes, i.e. processes, which have finished using the CPU. ## Deliverables Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.
Project ID: 2831523

About the project

4 proposals
Remote project
Active 22 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
4 freelancers are bidding on average $173 USD for this job
User Avatar
See private message.
$29.75 USD in 14 days
5.0 (43 reviews)
4.8
4.8
User Avatar
See private message.
$68 USD in 14 days
4.6 (60 reviews)
4.5
4.5
User Avatar
See private message.
$84.15 USD in 14 days
4.5 (33 reviews)
4.2
4.2
User Avatar
See private message.
$510 USD in 14 days
4.4 (12 reviews)
3.5
3.5

About the client

Flag of UNITED STATES
United States
0.0
0
Member since Nov 14, 2001

Client Verification

Other jobs from this client

Operating System C++
$30-5000 USD
Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.