[12 p] I/O implementation.
Assume that user level program MyProg wants to read the
50 first characters of disk file MyFile into an array (table)
MyChars, that is defined as a (global) array in program MyProg.
Assume that the file reading is done with library routine
ReadFile(MyFile, 50, MyChars).
You may assume that control does not return from ReadFile until
those 50 characters have been read to MyChars.
You may also (unrealistically) assume that file MyFile
is open and directly usable with ReadFile.
- [4 p]
Which processes and/or devices are involved with implementing
this I/O.
For each process/device explain briefly what is its task
in implementing this I/O.
- [8 p]
Descibe as event series what happens at process level in the system,
starting from call to ReadFile until the return from ReadFile.
Especially explain, which process/device is active and when.
Include all those events, that somehow cause some process to
change its state (waiting, ready-to-run, running or executing).
For each not-executing process, explain which event it is waiting for.
Make (realistic) assumptions from missing information
and write them down.
Your assumptions are significant in evaluating your answer.