Планирование ввода-вывода
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2013 г. ) |

ввода-вывода ( I/O ) Планирование — это метод, который компьютерные операционные системы используют для принятия решения, в каком порядке операции ввода-вывода будут отправляться в тома хранения . Планирование ввода-вывода иногда называют планированием диска .
Цель
[ редактировать ]Планированию ввода-вывода обычно приходится работать с жесткими дисками , которые имеют длительное время доступа для запросов, размещенных далеко от текущего положения головки диска (эта операция называется поиском ). Чтобы свести к минимуму влияние, которое это оказывает на производительность системы, большинство планировщиков ввода-вывода реализуют вариант алгоритма лифта , который переупорядочивает входящие случайно упорядоченные запросы так, чтобы доступ к связанным данным можно было получить с минимальным движением головы.
Планировщики ввода-вывода могут иметь множество целей в зависимости от целей; общие цели включают в себя следующие
- Чтобы свести к минимуму время, затрачиваемое на поиск на жестком диске
- определенных процессов Для определения приоритета запросов ввода-вывода
- Чтобы предоставить долю пропускной способности диска каждому запущенному процессу
- Чтобы гарантировать, что определенные запросы будут отправлены до определенного срока.
Дисциплины
[ редактировать ]К общим дисциплинам планирования относятся следующие:
- Случайное планирование (RSS)
- Порядок «первым пришел – первым ушел» ( FIFO ), также известный как «первым пришел — первым обслужен» (FCFS).
- Последний пришёл – первый ушёл ( ЛИФО )
- Сначала выполняется кратчайший поиск , также известный как «Сначала кратчайший поиск / время обслуживания» (SSTF).
- Алгоритм лифта , также известный как SCAN (включая его варианты C-SCAN, LOOK и C-LOOK)
- N-Step-SCAN Сканирование N записей одновременно
- FSCAN , N-Step-SCAN, где N соответствует размеру очереди в начале цикла СКАНИРОВАНИЯ.
- Планировщик Budget Fair Queuing (BFQ) в Linux [ 2 ] [ 3 ]
- Планировщик полностью справедливой очереди (CFQ) в Linux
- Упреждающее планирование
- Нооп-планировщик
- Планировщик сроков
- Планировщик mClock [ 4 ]
- Кибер [ 5 ] [ 6 ]
- НЕТ (используется для дисков NVM Express)
- mq-deadline (используется для SSD-накопителей SATA)
- cfq bfq и bfq-mq (используются для жестких дисков)
См. также
[ редактировать ]- Очередь помеченных команд (TCQ)
- Собственная очередь команд (NCQ)
Ссылки
[ редактировать ]- ^ Вернер Фишер; Георг Шенбергер (01.06.2015). «Диаграмма стека хранилища Linux» . Томас-Кренн.АГ . Проверено 8 июня 2015 г.
- ^ «Планировщик очереди ввода-вывода Budget Fair» .
- ^ «Планировщик ввода-вывода BFQ в очереди для Linux 4.12 — Phoronix» . www.phoronix.com .
- ^ «mClock: обработка изменчивости пропускной способности для планирования ввода-вывода гипервизора» . Компания VMware Inc. Проверено 12 июля 2015 г.
- ^ «blk-mq: планировщик многоочередного ввода-вывода Kyber [LWN.net]» . lwn.net . 14 апреля 2017 г. Проверено 19 июля 2019 г.
- ^ «Планировщик ввода-вывода BFQ появляется вместе с новым планировщиком Kyber — Phoronix» . www.phoronix.com . 1 мая 2017 г.
Дальнейшее чтение
[ редактировать ]- Планировщики ввода-вывода Linux из Ubuntu Wiki.
- Операционные системы: три простых части , Ремзи Х. Арпачи-Дюссо и Андреа К. Арпачи-Дюссо. Arpaci-Dusseau Books, 2014. Соответствующая глава: Жесткие диски.
- Любовь, Р. (2005). Разработка ядра Linux , Novell Press. ISBN 0-672-32720-1
- Операционные системы: внутреннее устройство и принципы проектирования, седьмое издание, Уильям Столлингс.
Внешние ссылки
[ редактировать ]СМИ, связанные с планированием ввода-вывода, на Викискладе?