Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages: Serves I/O requests with least number of cpu cycles. (Battery friendly?) Best for flash drives since there is no seeking penalty. Good throughput on db systems. Disadvantages: Reduction in number of cpu cycles used is proportional to drop in performance.
2) Deadline
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages: Nearly a real time scheduler. Excels in reducing latency of any given single I/O. Best scheduler for database access and queries. Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated. Like noop, a good scheduler for solid state/flash drives. Disadvantages: When system is overloaded, set of processes that may miss deadline is largely unpredictable.