What you are referring is called I/O scheduling I/O schedulers can have many purposes depending on the goal of the I/O scheduler, some common goals are: To minimize time wasted by hard disk seeks. To prioritize a certain processes' I/O requests. To give a share of the disk bandwidth to each running process. To guarantee that certain requests will be issued before a particular deadline.