Find Jobs
Hire Freelancers

Operating System

$30-250 USD

Completed
Posted about 9 years ago

$30-250 USD

Paid on delivery
You will submitt printout of your code along with sample output. •There will be discussion on your work. All group members must be there. Introduction: It is required in this assignment, to write a program in Java that simulates the behavior of the multiprogramming operating system. At the end of the simulation, you are expected to output some statistics regarding the behavior of the system. In the following sections, we will introduce the hardware specification, the multiprogramming OS features and the jobs requirements. Hardware: The computer hardware is assumed to have: 1. A hard disk of size of 10 GB where 1/5 of this size is used to store the user programs. 2. A RAM of size 192MB, where 32MB is used to store the OS. 3. A CPU that executes one instruction each unit of time. 4. An IO device for input and output operations. 5. An internal clock that ticks every unit of time. Operating System: The operating system is the multiprogramming OS. We would be interested in only 2 features in this simulation: The Job and CPU scheduling. 1. Job Scheduling: The program with the smallest size is first selected to be loaded in the main memory. We call this technique by SSPF. 2. CPU scheduling: The CPU is allocated to the program with the smallest expected running time. We call this technique by SETF. Program specifications: Each program has 2 main requirements: A program size in KB and an expected execution time. Of course, the expected execution time is greater or equal to the exact execution time. In addition, each program should have an Id and state. The student should specify any extra information that is required by the simulation. 1. The memory sizes are uniformly distributed between 16KB and 16384KB 2. The expected execution time is also distributed between 16 ut and 512 ut. Initialization phase: You should perform the following steps before running the simulation: 1. Generate enough programs with random memory size and random expected execution time so to fill the hard disk. (Σ Program sizes ≤ 2 GB) 2. Load the RAM with the maximum number of user programs. 3. Start the simulation run which consists of a simulation of the Machine Execution Cycle. The Machine Execution Cycle: The following algorithm simulates the machine Execution Cycle: MEC algorithm: While true do { Increments the simulated clock by one unit of time (* This assumes that one instruction is executed *) If there are interrupts Then Interrupts the current program and calls the ISRi endif } Interrupts are also randomly generated: 1. The possibility that there are interrupts is 10% 2. The possibility that there is an IO request is 20% 3. The possibility that the busy IO device will terminate is 20% 4. The possibility that the program terminates normally is 5% 5. The possibility that the program terminates abnormally is 1% The main simulator program is like this: Initialize the simulation While there are jobs in the H-Disk do { Run the Machine Execution Cycle } Print the required statistics Output from the simulation: At the end of the simulation, you should print the following results: [login to view URL] number of initially generated jobs stored on the H-disk. [login to view URL] average program size of all jobs. [login to view URL] average number of jobs that have completed their execution normally. [login to view URL] average number of jobs that have completed their execution abnormally. [login to view URL] number of CPU bound jobs.
Project ID: 7600036

About the project

8 proposals
Remote project
Active 9 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
Awarded to:
User Avatar
Hi I am Dinh. I done some similar project. you can see it in here https://www.freelancer.com/jobs/CPlusPlus-Programming/Process-Scheduling/ https://www.freelancer.com/jobs/Java/executable-design/ https://www.freelancer.com/jobs/C-Programming/Memory-Management/ Hope to work with you.
$150 USD in 3 days
4.9 (48 reviews)
5.2
5.2
8 freelancers are bidding on average $195 USD for this job
User Avatar
A proposal has not yet been provided
$252 USD in 3 days
4.9 (160 reviews)
7.7
7.7
User Avatar
Hello I am Java expert and interested in this project. Please communicate so we can discuss further. Regards Anshu
$150 USD in 3 days
4.7 (505 reviews)
7.5
7.5
User Avatar
I have 5 years of programming experience. I can help you solve this problem. When you work with me you will feel very comfortable.
$155 USD in 3 days
4.8 (52 reviews)
4.9
4.9
User Avatar
let expert do this............................................................................................................
$266 USD in 5 days
4.9 (16 reviews)
4.7
4.7
User Avatar
A proposal has not yet been provided
$277 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I have experience in developing linux device driver using C programming language, and also has product development experience in C++ and Java.
$155 USD in 3 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of SAUDI ARABIA
alriyadh, Saudi Arabia
5.0
6
Payment method verified
Member since Dec 8, 2013

Client Verification

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.