Recently In class I have been learning about simple disk scheduling algorithms such as FCFS, STTF, LOOK, LOOK-SCAN etc. From my understanding these algorithms schedule I/O requests depending on which cylinder number needs to be read and a process will produce only one I/O request whenever it needs to access a file.
This is confusing because apparently I/O requests are scheduled, but the actual algorithms work only with cylinder numbers. What if an I/O request requests a file which is spread over multiple tracks and therefore cylinders?
How can the algorithm schedule I/O requests when it's possible for each I/O request to require multiple cylinders to be read (e.g. if the file is fragmented across multiple cylinders).