Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
По моему мнению, ITR является одной из важнейших характеристик диска, публикуемой в его технической документации. ITR характеризует максимально возможную производительность самого диска, в отрыве от всех остальных потенциальных «узких мест». Например, если максимальный ITR некого диска равен 80 Мб/с, т.е. меньше 10 Мб/с, то подключение такого диска через шину UltraATA-100 не даст никакого увеличения производительности и, в общем-то, бессмысленно.
А теперь давайте рассмотрим, как происходит типичная операция с диском, и как на нее влияют вышеизложенные факторы.
Предположим, что приложение пользователя запрашивает операцию ввода/вывода у операционной системы. Пусть это будет чтение некоторого обьема данных.
Получив запрос от приложения, опрерационная система, в свою очередь, передает этот запрос файловой системе, и уже файловая система инициирует вызов драйвера соответствующего контроллера шины. Затем программное обеспечение (firmware) контроллера шины, получив запрос от драйвера, передаст этот запрос контроллеру диска. В случае IDE-дисков последняя стадия отсутствует, и ATA-драйвер операционной системы общается непосредственно с контроллером диска. В любом случае в итоге всех этих операций контроллер диска получает команду найти блок данных с некоторым адресом, а затем прочитать и передать некоторое количество следующих за ним блоков. Адрес начального блока и необходимое количество блоков контролируется файловой системой, будь то реальные физические блоки, как в случае с SCSI-дисками, или виртуальный адрес, как в случае с ATA.
Кстати, под файловой системой надо понимать программное обеспечение, предоставляющее данные для операционной системы (обычно файловая система является частью операционной системы). Каждый раздел (partition) диска должен иметь файловую систему, для того чтобы операционная система смогла его использовать. Исключение составляют так называемые «сырые разделы» (raw partitions), традиционно используемые базами данных или как разделы для свопинга в UNIX. Именно файловая система обеспечивает контроль целостности данных на уровне операционной системы и контролирует перемещение данных с/на устройства хранения. Но к файловым системам мы еще вернемся и обсудим их в деталях позже.
А теперь назад к операции чтения данных. Предположим, что в нашем случае размер записи (блока) файловой системы равен 2 Кб (настраиваемый параметр, обычно может быть изменен при создании файловой системы), и пользовательское приложение запрашивает чтение только одного блока данных. В этом случае файловая система получит и затем отправит драйверу контроллера шины запрос на чтение 2 Кб данных. На уровне драйвера контроллера шины этот запрос будет странслирован в одну операцию чтения непрерывной последовательности (первый блок, затем несколько следующих за ним) из 4 блоков по 512 байт. Так как в нашем примере размер блока файловой системы равен 2 Кб, любая операция чтения/записи на самом деле будет работать с 4 последовательными дисковыми блоками. В нашем примере эти 4 дисковых блока являются минимальной величиной операции ввода/вывода.