Write a program that implements the following disk-scheduling algorithms:
Your program will service a disk with 10,000 cylinders numbered 0 to 9,999. The program will generate a random series of 1,000 cylinders requests and service them according to each of the algorithms listed above. The program will be passed the initial position of the disk head (as a parameter on the command line), and report the total amount of head movement required by each algorithm. Your program should show the result in a table.
You may use any programming language and add comments to your code.
Submit the following:
- Your complete code with all comments
- Screenshot of the output
- Assignment report which will answer the following questions:
- Each algorithm definition
- The result (total amount of head movement) for each one algorithm
- Which algorithm is the most efficient one? Why?