Linux Block I/O 简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Block I/O 简介相关的知识,希望对你有一定的参考价值。

1.where is block I/O layer in the system

  技术分享

2.简介

  The generic block I/O layer is an abstraction for blcok devices in the system

  Receives I/O requests in a queue, and is responsible for passing them along to block devices.

  The I/O requests are scheduled to be submitted to the devices by an algorithm called an I/O scheduler.

3.目标

  maximize block I/O performance

4.技巧

  must minimize latency, maximize throughput, and avoid starvation

5.You can check/set IO scheduler for a particular device via:

  #cat /sys/block/sda/queue/scheduler

  noop deadline [cfq]

  #echo "noop" > /sys/block/sda/queue/scheduler

  [noop] deadline cfq

1) The deadline I/O scheduler

  技术分享

  Goal:fix starvation issue

  Each request gets an expiration time. Defaults:500ms for reads, 5s for writes.

  Three Queues:

    Sorted queue

    Read FIFO

    Write FIFO

2) The Complete Fair Queuing I/O scheduler

3) The noop I/O scheduler

以上是关于Linux Block I/O 简介的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的IO复用接口简介(文件监视?)

Linux的内核源码树的根目录下的每个文件的含义简介

epoll简介

《Linux内核设计与实现》读书笔记(十四)- 块I/O层

基本I/O模型与Epoll简介

Linux系统中的I/O