<<
>>

Аппаратное и программное обеспечение виртуального диска

Идея устройства виртуального диска проста. Любое блочное устройство — это накопитель, поддерживающий две команды: прочитать блок и записать блок. Обычно блоки находятся на вращающихся дисках, таких как дискеты или пластины жестких дисков.
Виртуальный диск проще. Он хранит данные в предварительно выделенной области оперативной памяти. Преимущество такого диска в том, что он обеспечивает высокую скорость доступа (так как не требуется перемещать головки и вращать носитель) и может быть использован для хранения данных, к которым часто происходят обращения.

Отступая в сторону, нужно вкратце рассказать о различии между операционными системами, поддерживающими монтирование файловых подсистем (UNIX, MINIX), и системами, не имеющими такой поддержки (MS-DOS, Windows). Когда файловые системы монтируются, корневая файловая система всегда находится в фиксированном месте, а прочие (например, диски) встраиваются в указанное место в дереве файлов, образуя единую файловую структуру. Смонтировав некоторую файловую систему, пользователь может больше не задумываться, на каком устройстве расположен файл.

В противовес такому подходу в других операционных системах пользователь должен указывать положение каждого файла либо явно (например: В: \DIR\FILE), либо пользуясь различными умолчаниями (текущее устройство, текущий каталог и т. д.). В небольших системах, с одним или двумя дисками, это можно вытерпеть, но на мощных компьютерах с несколькими десятками устройств постоянно следить за всеми дисками невыносимо. Заметьте, что UNIX работает на компьютерах от IBM PC до рабочих станций и суперкомпьютеров, подобных IBM Blue Gene/L, a MS-DOS используется только в малых системах.

На рис. 3.13 показано устройство виртуального диска. Диск разбивается на п блоков, в зависимости от того, сколько памяти для него выделено. Размер каждого блока равен размеру блока реального диска. Когда драйвер получает запрос на чтение или запись блока, он просто вычисляет адрес и производит чтение или запись по этому адресу, вместо того чтобы обслуживать дискету или жесткий диск. Обмен данными выполняется системным заданием. Ассемблерная процедура ядра phys__copy копирует информацию в пользовательскую программу или из нее с максимальной скоростью, поддерживаемой аппаратным обеспечением.

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

3.6.2.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Аппаратное и программное обеспечение виртуального диска:

  1. Н.В.СТРУМПЭ, В.Д.СИДОРОВ. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  2. В.Д.СИДОРОВ, Н.В.СТРУМП. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  3. Программное обеспечение
  4. Богомазова Г.Н.. Установка и обслуживание программного обеспечения персональных компьютеров, серверов, периферийных устройств и оборудования, 2015
  5. Эд САЛЛИВАН. ВРЕМЯ — ДЕНЬГИ Создание команды разработчиков, программного обеспечения, 2001
  6. Том ДеМарко. Вальсируя с Медведями Управление рисками в проектах по разработке программного обеспечения, 2005
  7. Алистэр Коуберн. Люди как нелинейные и наиболее важные компоненты в создании программного обеспечения, 1999
  8. СМЕЩЕНИЕ ДИСКА
  9. Виртуальное послесловие
  10. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  11. Виртуальное сексуальное насилие над детьми
  12. 2.4.1. Программный анализатор
  13. КОНЦЕПЦИЯ ПРОГРАММНО - РОЛЕВАЯ
  14. 2.4.1. Программный анализатор
  15. Перевод программных вопросов в анкетные
  16. Глава 39 О ПРОГРАММНЫХ СВОЙСТВАХ ХУДОЖЕСТВЕННОЙ ЛИТЕРАТУРЫ
  17. Статья 361-1. Создание, использование и распространение или сбыта вредных программных или технических средств, а также их распространение или сбыт