Справочник программиста на персональном компьютере фирмы IBM. Дисковые накопители


Все диски, как гибкие, так и жесткие, организованы одинаковым образом. Поверхность диска разделена на ряд концентрических ко- лец, называемых дорожками, а дорожки делятся радиально на секто- ра. Например, стандартная дискета с диаметром 5 1/4 дюйма имеет 40 дорожек и в системе MS DOS 2.0 каждая дорожка разбита на 9 секторов (15 секторов на дискете емкостью 1.2 Мбайта и 17 на фиксированном диске). Размер сектора 512 байт, и 512 байт * 9 секторов * 40 дорожек * 2 стороны дает в итоге емкость дискеты 360K. Все типы дисков используют размер сектора 512 байт в MS DOS.       Раздел 1. Управление распределением диска.
        Чтение таблицы размещения файлов.
        Определение доступного дискового пространства.
        Получение/установка размера файла.
        Восстановление  после  ошибок,  связанных  с  нехваткой
        пространства на диске.
      Раздел 2. Работа с каталогами диска.
        Чтение/изменение корневого каталога.
        Создание/удаление подкаталога.
        Чтение/изменение подкаталога.
        Получение/установка текущего каталога.
        Получение/установка времени  и даты последнего доступа к
        файлу.
        Спрятанные и защищенные от записи файлы.
        Чтение/изменение метки тома.
      Раздел 3. Подготовка к работе с файлами.
        Установка/проверка накопителя по умолчанию.
        Создание/удаление файла.
        Открытие/закрытие файла.
        Переименование файла;  изменение позиции файла в каталоге.
        Подготовка к файловым операциям.
        Анализ информации командной строки.
      Раздел 4. Чтение и запись файла.
        Программирование контроллера НГМД 765 и микросхемы пря-
        мого доступа к памяти 8237.
        Чтение/запись определенных секторов.
        Запись в последовательные файлы.
        Чтение из последовательных файлов.
        Запись в файлы прямого доступа.
        Чтение из файлов прямого доступа.
        Проверка данных после операций чтения/записи.
        Определение дисковых ошибок и восстановление после них.

Глава 5. Дисковые накопители.

     Раздел 1. Управление распределением диска.


   Файл распределен по такому  количеству секторов, которое необ-
ходимо, чтобы вместить его.  Только несколько секторов на внешнем
ободе дискеты  зарезервированы  для  специальных  нужд. Остальные
доступны  на основе правила "первый подошел - первого  обслужат".
Это означает, что по мере заполнения диска данными сектора посте-
пенно заполняются по направлению к центру диска.  При уничтожении
файла сектора освобождаются и со временем  свободные области ста-
новятся  разбросанными по диску, разбивая новые файлы и  замедляя
доступ к ним для чтения и записи.
   Фиксированные диски имеют некоторые  специальные характеристи-
ки.   Часто они состоят из двух или более параллельных пластин, у
каждой из которых есть две головки,  чтобы читать обе их стороны.
Все дорожки, расположенные на данном расстоянии от центра, вместе
называются  цилиндром.   Поскольку  головки всех дисков двигаются
тандемом,  то достигается экономия перемещений если заполнять все
дорожки одного  цилиндра,  прежде  чем  переходить  к следующему.
Группы цилиндров могут относиться к различным операционным систе-
мам.  Программа DOS FDISK может  разбивать  фиксированный диск на
несколько разделов (до четырех) разного размера.  По этой причине
параметры фиксированного диска могут сильно отличаться.
   Дисковые сектора определяются  магнитной  информацией, которую
записывает утилита форматизации диска.  Информация включает иден-
тификационный номер каждого сектора.   BIOS нумерует сектора 1-8,
1-9  или 1-15, в зависимости от емкости диска.  Дорожки не марки-
руются, вместо этого  они  определяются  механически  по смещению
головки чтения/записи от внешнего края диска.  Дорожки нумеруются
от 0 до 39 для дискет диаметром 5 1/4 дюйма, а для дисков большей
емкости их может быть больше.  Дисковые функции BIOS обращаются к
определенному сектору, указывая номера дорожки и сектора.  Однако
функции DOS рассматривают все сектора диска, как одну цепь, кото-
рая нумеруется подряд, начиная от  0, поэтому каждый сектор имеет
свой логический номер сектора.
   Для дискет первый сектор (дорожка 0, сектор 1) содержит запись
начальной загрузки, которая является небольшой программой, позво-
ляющей компьютеру считать с дискового накопителя остальные  части
MS DOS. Затем идут две копии  таблицы  размещения файлов, которые
содержат информацию о распределении дискового пространства  (вто-
рая копия хранится из соображений безопасности).  Затем идет кор-
невой каталог, который содержит список файлов и ссылок на  подка-
талоги, а также указывает  в  каком  месте  диска они начинаются.
Наконец,  далее  идут две небольшие программы  DOS  IBMBIO.COM  и
IBMDOS.COM, которые считываются при старте и обеспечивают компью-

тер  возможностями  необходимыми для нахождения и загрузки  файла
COMMAND.COM, который несомненно  является  основной частью опера-
ционной системы.

   Фиксированные  диски  имеют главную запись  загрузки,  которая
содержит таблицу разделов,  позволяющую разделить диск между нес-
колькими операционными системами.  Таблица разделов содержит  ин-
формацию о том, где на диске  начинается раздел DOS, а также пер-
вый сектор какого раздела содержит запись начальной загрузки.   В
остальном раздел организован так же, как и дискета.

 
« Предыдущая статья   Следующая статья »