Возможно ли, что одна головка чтения-записи может одновременно выполнять копирование и вставку даже на разных дорожках? Как это происходит?
3 ответа
Запросы ввода / вывода помещаются в очередь и обрабатываются один за другим.
Существуют различные алгоритмы планирования диска, выбор лучшего из которых уменьшает время, необходимое для обработки всех запросов, находящихся в очереди. Алгоритм планирования диска обычно упорядочивает эту очередь в попытке более эффективно обрабатывать запрос так, чтобы головке приходилось меньше перемещаться, а алгоритм FIFO или FCFS является исключением из этого, поскольку он просто читает очередь ...
Принимая во внимание, что время поиска (время, чтобы добраться до местоположения) меньше, если голова должна двигаться менее быстро, несколько запросов обрабатываются довольно быстро, используя правильный алгоритм планирования диска. Вот почему это выглядит, как если бы он был прочитан / записан очень быстро, но не в любом случае одновременно... :)
Я перечислю самые популярные алгоритмы планирования дисков, более подробно можно найти в Википедии.
Примечание. Файлы обычно фрагментированы, поэтому для чтения одного файла в очередь помещается несколько запросов.
Примечание 2: Если вы имеете в виду «почему большой файл перемещается из одного каталога в другой на том же томе гораздо быстрее, чем в другой раздел?«тогда ответ таков, что изменяется только запись файла в таблице файлов, а не физическое перемещение файла. - Комментарий от Amazed
FIFO aka FCFS: первым пришел - первым вышел, первым пришел первым обслужен
Все запросы принимаются с начала очереди без изменения их порядка.
SSTF: первое время поиска.
Запрос, который занимает наименьшее перемещение головы, берется из очереди.
Обратите внимание, что голова должна меньше двигаться, она остается неподвижной для первых трех изображений.
СКАН: Как лифт.
Это всегда уводит дальше всех, а затем обрабатывает вещи, которые проходит по пути.
На этом снимке он начинается на дорожке 2 и планирует перейти на дорожку 4; Итак, он пробует все на дорожке 2, затем на дорожке 3 (ничего), затем на дорожке 4, после чего переходит к самому дальнему запросу, который является дорожкой 1; Итак, он возвращается и пытается трек 4, трек 3 (ничего), трек 2 (ничего), а затем трек 1.
- Изображения: Университет Висконсин-Мэдисон - CS 537 - Планирование диска (Первоначально может быть по книге)
Один шаг за раз.
- Установите
k
в 0. - Читать с
x+k
. - Написать в
y+k
. - Увеличить
k
на 1. - Если не сделано, перейдите к 2.
Как это возможно, что одна головка чтения-записи может одновременно выполнять копирование и вставку даже на разных дорожках?
Это невозможно
Во-первых, головки чтения-записи не выполняют операций "копирование" или "вставка". Это концепции более высокого уровня, которые применяются в приложениях для управления файлами, таких как Windows Explorer.
Приложение и операционная система постепенно разбивают операции копирования и вставки на несколько меньших и меньших операций. В конце концов, контроллер диска просит диск прочитать некоторые сектора. Позже он просит диски записать некоторые данные в некоторые другие сектора. Во время и между этими операциями фактические головки диска могут также выполнять множество других несвязанных операций и выполнять поиск назад и вперед по физическим столбцам или дорожкам. Оптимизация выполняется на многих уровнях в этом процессе, чтобы максимизировать объем полезной работы, которую может выполнять диск каждую микросекунду, и максимизировать количество процессов, операции ввода-вывода которых могут выполняться в соответствии с их установленными приоритетами.