Design two different versions of a dispatcher, one based on simple *round robin*, another based on two round robin queues with different priorities, where processes

from the queue with the higher priority get twice as much time as processes from the queue with the lower priority. Make the following assumptions:

a) the size of internal memory is 120K, and it is divided into 30 page frames;

b) the size of every process in the system is a number in the range from 4K to


c) when a process is generated, it is allocated 3 free page frames that can be filled on demand basis (that is, the dispatcher uses local policy, creating a separate page table for every process).

d) the lifetime of every process is a number in the range from 1 to 10.

Your driver program will run 100 times. On each of the first 10 runs, it randomly creates a process (randomly choosing the size and the lifetime) and places it into a queue (if the simple round robin is being used, it is the single queue; if two queues are being used, processes with the lifetime up to 5 get higher priority, and process with greater lifetime get lower priority). On the next runs of the loop, it creates a new process whenever some process has been completed. Every run of the loop is considered as one clock tick. If the simple round robin is being used, the dispatcher picks the next process to run on every next clock tick. If two queues are being used, the scheduler runs processes with higher priority for two clock ticks and processes with lower priority for one clock tick, alternating between the queues. The driver simulates running of a process by generating a random reference to a page (you can choose FIFO or LRU to manage page replacements; you may incorporate a program from the attachement!!!!)

Hand in the text of the programs and one run for each version. Your programs should print out:

a)sizes, b) lifetimes, c) the moments of creation, d) the moments of completion of generated processes, e) reference strings for both processes, indicating page faults.

Determine and submit the average turnaround time for each run.

## 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


Habilidades: Programação C, Programação C#, Engenharia, MySQL, PHP, Arquitetura de software, Teste de Software

Veja mais: strings in c programming, programming loop, loop programming, lifetime programming, free source programs, c programming strings, c programming random number, FIFO, dispatcher, scheduler program, priority queue code, robin round program, priority basis, manage work priorities, dispatcher php, queues, program round robin, lru fifo, page faults, fifo code, loop table, time scheduler, programming random generated number, lru program, programming scheduler

Acerca do Empregador:
( 4 comentários ) United States

ID do Projeto: #3009838

Concedido a:


See private message.

$12 USD em 5 dias
(33 Comentários)

3 freelancers estão ofertando em média $15 para esse trabalho


See private message.

$17 USD in 5 dias
(36 Comentários)

See private message.

$17 USD in 5 dias
(0 Comentários)