Find Jobs
Hire Freelancers

exploration of memory management algorithms

$30-70 USD

Completed
Posted over 20 years ago

$30-70 USD

Paid on delivery
This assignment is an exploration of memory management algorithms. A hypothetical computer, **howdy**, has a 128 MB main memory. The OS kernel is resident in the lowest order 16 MB. Processes arrive with an interarrival time that is uniformly distributed between 0 and 2000 ms. Each process * arrives, and requests a contiguous block of memory whose size is uniformly distributed between 2 MB and 18 MB, in multiples of 1 KB. * waits for the memory manager to allocate the memory in a contiguous block. * once memory is allocated, is copied into memory. When m KB are in the allocated block, the copy takes m ms. * once loaded, takes a processing time that is uniformly distributed between 100 and 1700 ms. CPU scheduling for user processes is round robin with a quantum of 50 ms and a context switch cost of 2 ms. * once completed processing, releases the allocated memory. 1. Implement a simulation to determine * the external fragmentation, and * the average number of processes waiting for memory assuming that waiting processes are processed FCFS and the memory manager operates (i) best-fit, (ii) first-fit, and (iii) worst-fit. Design appropriate data structures for each method. Design and conduct an appropriate set of experiments to evaluate these schemes. Draw conclusions about their relative merits, using your experiments to justify your conclusions. 2. Modify your simulation so that waiting processes, rather than being treated FCFS, are handled using a smallest-request-first rule, i.e. if two processes are waiting, the one with the smaller memory request takes precedence. Carefully analyze how this affects fragmentation and waiting processes. 3. Based upon your experimental results, design and implement a compaction scheme. Your scheme may involve the recovery of some or all of the holes to form a larger (useful) hole. Assume that each move of 1 KB of process space takes 1 ms of time. You must determine when, and how often, compaction should be done. Explain with a clear justification using experimental results why your solution is a good one. The CPU scheduler incorporates the OS function of compaction using preemption of the running user process. When it is determined that a compaction is to be done, it must take priority over the user process being executed. ## Deliverables 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site). ## Platform Windows XP
Project ID: 3021637

About the project

4 proposals
Remote project
Active 20 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
See private message.
$51 USD in 6 days
5.0 (2 reviews)
1.9
1.9
4 freelancers are bidding on average $43 USD for this job
User Avatar
See private message.
$42.50 USD in 6 days
4.9 (104 reviews)
4.9
4.9
User Avatar
See private message.
$25.50 USD in 6 days
4.9 (20 reviews)
2.8
2.8
User Avatar
See private message.
$54.40 USD in 6 days
4.8 (7 reviews)
3.0
3.0

About the client

Flag of UNITED STATES
Burlington, United States
0.0
0
Member since Nov 29, 2003

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.