Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Занятие 19. Операции над файлами и каталогами. Строение жесткого диска






План занятия:

· Подходы по использованию файлов процессами

· Файловые блокировки

· Принцип действия жесткого диска

· Эффективность операций доступа к диску

 

Подходы по использованию файлов процессами

Подходы к использованию файлов процесса бывают такие: с сохранением (stateful) и без сохранения состояния (stateless).

При сохранении состояния есть специальные операции, которые готовят файл для использования в процессе (открывают его) и отменяют эту готовность (закрывают его). Другие операции используют структуры данных, подготовленные при открытии файла, и могут выполняться только до тех пор, пока файл не будет закрыт. Преимуществом такого подхода является высокая производительность, поскольку при открытии файла нужные структуры данных загружаются в память.

Если состояние не хранят, каждая операция работы с файлом (чтение, запись и т.д.) сопровождается полной подготовкой файла к работе (каждая операция начинается открытием файла и завершается закрытием). Хотя такой подход проигрывает в производительности, его можно использовать для повышения надежности работы системы при высокой вероятности того, что файловая операция терпит крах, в результате чего структуры данных открытых файлов останутся в некорректном состоянии. Так можно делать в случае, когда файловую систему используют через сеть, потому что в любой момент может произойти разрыв сетевого соединения.

Файловые блокировки

Файловые блокировки (file locks) являются средством синхронизации процессов, которые пытаются осуществить доступ к одному и тому же файлу. Процесс, может заблокировать файл полностью или любой его диапазон (до одного байта), после чего другие процессы не смогут получить доступ к этому файлу или диапазону до тех пор, пока с него не снята блокировка.

Различают консультативное, или кооперативное (advisory lock), и обязательное блокирование (mandatory lock) файлов.

Консультативное блокирование является основным, самым безопасным видом блокирования. Его поддерживают на уровне процессов пользовательского режима. Для корректной синхронизации все процессы перед доступом к файлу должны проверять наличие такой блокировки (если блокировка отсутствует, процесс вводит свои блокировки, выполняет действия с файлом и снимает блокировку).

Обязательное блокирование, поддерживают на уровне ядра. Когда процесс ввел обязательное блокирование, любые операции над файлами или их диапазонами не будут возможны до тех пор, пока эта блокировка не снята. Такое блокирование может быть весьма опасным, так как не может быть снято, даже с правами администратора.

Принцип действия жесткого диска

Накопители на жестких магнитных дисках, состоят из набора дисковых пластин (platters), которые покрыты магнитным материалом и вращаются двигателем с высокой скоростью. Каждой пластине соответствуют две головки (heads), одна считывает информацию сверху, другая - снизу. Головки прикреплены к специальному дисковому манипулятора (disk arm). Манипулятор может перемещаться по радиусу диска - от центра к внешнему краю и обратно, таким образом происходит позиционирование головок.

Рисунок 19.1 Структура жесткого диска

Головки считывают информацию с дорожек (tracks), которые имеют вид концентрических окружностей. Минимальное количество дорожек на поверхности пластины в современных дисках - 700, максимальное - более 20 000. Совокупность всех дорожек одного радиуса на всех поверхностях пластин называют цилиндром.

Каждую дорожку во время низкоуровневого форматирования разбивают на секторы (sectors), объем данных сектора для большинства архитектур составляет 512 байт (он обязательно должен быть равен степени числа 2). Количество секторов для всех дорожек одинаково (в диапазоне от 16 до 1600).

Эффективность операций доступа к диску

Основными характеристиками доступа к диску являются:

  • время поиска (seek time) - время перемещения манипулятора для позиционирования головки на нужной дорожке (в среднем составляет от 10 до 20 мс);
  • ротационная задержка (rotational delay) - время ожидания, пока пластина повернется так, что нужный сектор окажется под головкой (в среднем 8 мс);
  • пропускная способность передачи данных (transfer bandwidth) - объем передаваемых данных от устройства в память за единицу времени; для современных дисков эта характеристика сопоставима с пропускной способностью оперативной памяти (450 Мбайт/с), время считывания одного сектора измеряют в наносекундах. Время, необходимое для чтения сектора, получают добавлением времени поиска, ротационной задержки и времени передачи (при этом время передачи можно считать очень малым). Очевидно, что время чтения одного сектора, практически не отличается от времени чтения нескольких расположенных рядом секторов, а время чтения целой дорожки за одну операцию будет меньше, чем при чтении одного сектора из-за отсутствия ротационной задержки.

Скорость доступа к диску, по сравнению с доступом к памяти, чрезвычайно мала, сейчас диски являются основным «узким местом» с точки зрения производительности компьютерной системы. При этом реальное улучшение в последние годы имеется только для пропускной способности передачи данных. Время поиска и ротационная задержка почти не меняются, так как они связаны с управлением механизмов (дисковым манипулятором и двигателем, вращающим пластины) и ограничены их физическими характеристиками.

В результате время чтения больших объемов непрерывных данных все меньше отличается от времени чтения малых. Первостепенной задачей для разработчиков файловых систем является решение двух задач:

  • организовать данные таким образом, чтобы располагать зависимые данные, в секторах находящихся рядом друг с другом, для более быстрого их считывания;
  • повышение качества кэширования данных (поскольку памяти становится все больше, растет вероятность того, что все необходимые данные будут содержаться в кэше, и доступ к диску станет вообще не нужен).

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.