W dzisiejszych systemach operacyjnych pracuje mnóstwo procesów. Ustawianie priorytetów CPU dla wykonywanych procesów jest obecne w systemach od dawna, ale jak dotąd mało uwagi zwraca się na kolejkowanie żądań IO. Skutek jest taki, że desktopowa aplikacja indeksowania, która powinna działać w tle, powoduje zapchanie dysku żądaniami odczytu – a tego zjawiska być nie powinno. Jedynym systemem, który umożliwia sensowne uruchamianie każdego żądanego procesu z niskim priorytetem dla IO jest Linux, do tego celu służy komenda ionice. Komenda ta (używana np. ionice -c 3 polecenie) sprawia, że scheduler IO ustawia niski priorytet dla żądań danego procesu.
Oto przykład ustawienia niskiego priorytetu (class 3 – idle) dla aplikacji indeksowania. Polecam to ustawienie.

Windows Vista i 7 wreszcie ma priorytety IO i rezerwacje pasma dyskowego, ale sensownie wykorzystuje je niewiele aplikacji, między innymi Media Player. Dopiero nowsze programy, które zostaną napisane pod kątem tego systemu, będą mogły w pełni wykorzystać nowe zachowanie schedulera.
Według mnie ochrona przed wysyceniem IO jest dziś równie ważna jak priorytety CPU. Z wysyceniem procesora dzisiejsze systemy sobie doskonale radzą, z podsystemem dyskowym jest niestety znacznie gorzej.