Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Concurrency and the I/O subsystem 1.- In this assignment you will implement a simulation of the interaction of user programs with the OS to execute

Concurrency and the I/O subsystem

1.- In this assignment you will implement a simulation of the interaction of user programs

with the OS to execute an I/O operation.

User programs:

User programs will communicate with DOIO (OS) to request an I/O operation. (this will

simulate a system call)

User programs will give to DOIO two parameters: User id and an address (addr is a random

number in the range 1 and 20.) (addr is an integer that represents a track number in the hard

drive).

User programs will pass the parameters to DOIO through two buffers of size one each

(bufid and bufaddr).

Once the parameters are stored in the buffers, user programs executes a P(request served)

operation to wait for the completion of the I/O operation.

There will be only one user running and it will execute 5 I/O operations.

DOIO:

DOIO will collect an id and address(addr) from bufid and bufaddr to assemble the IORB.

DOIO will store the IORB (id and addr) into two buffers that represent the IORQ (iorqid

and iorqaddr).

Device driver:

Device driver will collect an IORB (pair id and addr) from iorqid and iorqaddr and then

initiates the physical I/O operation on the hard drive and wait for the I/O operation to be

completed: P(operation complete).

The device driver initiate the physical I/O operation by storing addr into a buffer of length

one. The buffer name is pio (physical I/O).

When the I/O operation completes a signal is received, the driver will identify the user that

issued the I/O request using the id, and will signal the semaphore request served

associated to the user.

Disk:

The disk process simulates the access to a track in the hard drive.

The Disk process gets the addr from pio and stores it in a variable called seek and

iterates in a dummy loop from 1 to seek.

Once out of the loop, disk will execute a V on the semaphore operation complete

a) Define all semaphores that you need according to the number of buffers used.

The user will make 5 system calls to initiate I/O operations

DOIO will create 5 IORB

Project Direction

You will write a C-- program based on the

BACI

interpreter

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Pro Oracle Fusion Applications Installation And Administration

Authors: Tushar Thakker

1st Edition

1484209834, 9781484209837

More Books

Students also viewed these Databases questions