Влез/Излез (I/O) распоредувач

Нема проверени преработки на оваа страница, што значи дека можеби не е проверено дали се придржува до стандардите.

Влезно/излез (I/O) расподерувањето е методот што го користат оперативни системи за одлучување на редоследот на поднесување на I/O (В/И) операциите до логичкиот мемориски диск (storage volumes). Распоредот за влез/излез понекогаш се нарекува и распоред на дискови.

Позицијата на распоредувачите на В/И (I/O) во различните слоеви на стекот за складирање на кернелот Линукс .[1]

Намена

уреди

влез/излез распоредувачот треба да работи со тврдите (hard) дискови кои имаат долго време на пристап за барања поставени далеку од моменталната позиција на главата на дискот (оваа операција се нарекува барање (seek) ). За да се минимизира овој негативниот ефектот врз перформансите на системот, повеќето распоредувачи на I/O имплементираат варијанта на алгоритмот на лифтот (elevator) кој ги преуредува поставените барања за да се пристапи до податоци со минимално движење на главата на дискот.

I/O распоредувачите може да имаат многу намени во зависност од целите; заедничките цели го вклучуваат следново:

  • Минимизирање на времето потрошено од барањата на хард дискот;
  • Давање приоритет на одредени процеси - I/O барања;
  • Давање на дел од пропусниот опсег на дискот на секој процес во состојба на извршување;
  • Гарантирање дека одредени барања ќе бидат издадени пред одреден краен рок.

Дисциплини

уреди

Вообичаените алгоритми користени од распоредувачите се следните:

  • Случајно распоредување (RSS);
  • Прв влезе, прв излезе (FIFO), познат и како прв дојден прв услужен (FCFS);
  • Последно влегување, прво излегување (LIFO);
  • Прво најкратко барање, познато и како најкратко барање / време на услуга (SSTF);
  • Алгоритам за лифт, познат и како SCAN (вклучувајќи ги неговите варијанти, C-SCAN, LOOK и C-LOOK);
  • N-Step-SCAN SCAN на N записи во исто време;
  • FSCAN, N-Step-SCAN каде N е еднаква на големината на редот на почетокот на циклусот SCAN;
  • Распоредувач на буџетски фер редици (BFQ) на Linux;[2][3]
  • Распоредувач на Целосно фер редици (CFQ) на Linux;
  • Предвидено закажување;
  • Noop распоредувач;
  • Распоред на рокови (<a href="https://en.wikipedia.org/wiki/Deadline_scheduler" rel="mw:ExtLink" title="Deadline scheduler" class="mw-redirect cx-link" data-linkid="50">Deadline</a>);
  • Распоредувач на mClock;[4]
  • Кибер;[5][6]
  • NONE (се користи за NVM Express дискови);
  • mq-краен рок (се користи за SSD SATA-дискови);
  • cfq bfq и bfq-mq (се користи за HDD дискови).

Видете исто така

уреди
  • Означено Редирање на команди (TCQ);
  • Редирање на мајчин команди (NCQ).

Наводи

уреди
  1. Werner Fischer; Georg Schönberger (2015-06-01). „Linux Storage Stack Diagram“. Thomas-Krenn.AG. Посетено на 2015-06-08.
  2. „Budget Fair Queueing I/O Scheduler“.
  3. „BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix“. www.phoronix.com.
  4. „mClock: Handling Throughput Variability for Hypervisor IO Scheduling“. VMware Inc. Посетено на 2015-07-12.
  5. „blk-mq: Kyber multiqueue I/O scheduler [LWN.net]“. lwn.net. 14 Apr 2017. Посетено на 2019-07-19.
  6. „BFQ I/O Scheduler Lands Along With New Kyber Scheduler - Phoronix“. www.phoronix.com. 1 May 2017.


Понатамошно читање

уреди

Надворешни врски

уреди