Влез/Излез (I/O) распоредувач
Влезно/излез (I/O) расподерувањето е методот што го користат оперативни системи за одлучување на редоследот на поднесување на I/O (В/И) операциите до логичкиот мемориски диск (storage volumes). Распоредот за влез/излез понекогаш се нарекува и распоред на дискови.
Намена
уредивлез/излез распоредувачот треба да работи со тврдите (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).
Наводи
уреди- ↑ Werner Fischer; Georg Schönberger (2015-06-01). „Linux Storage Stack Diagram“. Thomas-Krenn.AG. Посетено на 2015-06-08.
- ↑ „Budget Fair Queueing I/O Scheduler“. Архивирано од изворникот на 2014-03-11. Посетено на 2024-10-13.
- ↑ „BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix“. www.phoronix.com.
- ↑ „mClock: Handling Throughput Variability for Hypervisor IO Scheduling“. VMware Inc. Посетено на 2015-07-12.
- ↑ „blk-mq: Kyber multiqueue I/O scheduler [LWN.net]“. lwn.net. 14 Apr 2017. Посетено на 2019-07-19.
- ↑ „BFQ I/O Scheduler Lands Along With New Kyber Scheduler - Phoronix“. www.phoronix.com. 1 May 2017.
Понатамошно читање
уреди- Распоредувачи на влез/излез на Linux, од Ubuntu Wiki
- Оперативни системи: Три лесни парчиња, од Ремзи Х. Арпачи-Дусо и Андреа Ц. Арпачи-Дусо. Arpaci-Dusseau Books, 2014 година. Релевантно поглавје: хард дискови
- Љубов, Р. (2005). Развој на кернелот на Linux, Novell Press.ISBN 0-672-32720-1ISBN 0-672-32720-1
- Оперативни системи: внатрешни работи и принципи на дизајн, седмо издание, од Вилијам Сталингс.
Надворешни врски
уреди- Влез/Излез (I/O) распоредувач на Ризницата ?