Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация и функционирование вычислительных машин1.doc
Скачиваний:
36
Добавлен:
01.05.2014
Размер:
1.13 Mб
Скачать

Организация работы с внешней памятью.

(магнитные диски)

Различаются на физическую и логическую организацию информации на носителях.

На физическом уровне рассматривается распределение областей данных для хранения информации. На логическом уровне рассматривается организация файлов и методов доступа к ним.

Информация хранящаяся на машинном носителе на концентрированных окружностях называется дорожками, количество дорожек от 40…48 до 80…96 на дюйм.

Дорожки номеруются с внешней стороны и ее номер первой дорожки ноль. Все дорожки разбиваются на секторы по 512 байт в зависимости от плотности диска, количество секторов может меняться от 8 (360 Кб.) – 18 (1.44Мб.) – 36(2.88Мб.) на дорожку.

Несколько секторов объединяют в кластер, это делается для уменьшения объема таблицы размещения файлов (FAT). Кластер может содержать от двух до шестнадцати секторов, физическая организация диска осуществляется на этапе форматирования, которое реализует следующие функции:

  1. Форматирование на сектора.

  2. Проверка и регистрация дефектных секторов и кластеров.

  3. Заполнение начальных секторов стандартной информацией.

Секторы:

0 - Начальный загрузочный

1, 2 – Две копии FAT(FileAllocationTable)

3 – Корневой каталог (пустой)

Корневой каталог состоит из записей длиной тридцать два байта, поля которых распределяются следующим образом:

  1. Имя – 8 байт.

  2. Расширение – 3 байта.

  3. Атрибут – 1 байт (Hidden, Read-only, Archive).

  4. Резерв – 10 байт.

  5. Время последнего обращения к файлу – 2 байта.

  6. Дата последнего обращения к файла – 2 байта.

  7. Номер начального кластера файла 2 байта (в FAT).

  8. Размер фиала 4 байта.

Это характерно для гибких дисков.

Жесткие диски:

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

Организация работы с файлами на дисках в ms-dos.

Существует два способа доступа:

  1. С использованием управляющих блоков файлов(УБФ (FCB)). Применялся в первых двух версиях операционной системы, поддерживается только для преемственности.

  1. Не поддерживается иерархическая структура каталогов и доступ только к файлу в текущем каталоге.

  2. Любое обращение к файлу требует специальной таблицы из УБФ.

  3. Размещение буферной области данных (DTA–DataTransferArea) для этого метода зафиксирована и меняться не может.

Этот способ удобен для работы с файлами прямого доступа.

  1. Через дескриптор файла (ДФ) (FH–FileHandler). /Используется в настоящее время/

  1. для любого обращения к файлу требуется одно слово, в котором хранится индетификатор или номер файла.

  2. Поддержка иерархических структур каталогов

  3. DTA– может размещаться в любом месте

Структура УБФ (FCB).

1 байт – номер диска (0 – текущий , 1-А, 2-В, …)

8 байт – имя файла

3 байта – тип файла

2 байта – номер текущего блока (до 128 записей)

2 байта – размер записей (по умолчание 128 байт)

4 байта – размер файла

2 байта – дата последней модификации

10 байт – резерв операционной системы

2 байта – номер текущей записи

2 байта – номер записи ПД (прямого доступа)

№ Блока

№ записи

№ зап. ПД

0

1

1

0

127

127

1

0

128

1

1

129

1

127

2

0

Нет атрибутов файла. Для этого используется расширенный УБФ (FCB) (+ 7 байт)

1 байт – OFFh

5 байт – ASCIIкод 0

1 байт – атрибуты файла

7 – файл доступен из NovellNetWare

6 – не используется

5 – архивный

4 – каталог

3 – метка тома

2 – системный (sys)

1 – скрытый (hidden)

0 – только для чтения (Readonly)

Операции над файлами.

  1. Создание

  2. Открытие

  3. Передачи данных

  4. Закрытие

  5. Удаление

Создание файла для FCB.

FCB AH OFFh, 5DUP(0), 2, 1 ‘MyFile.dat’, 25DUP(0)

;проверка существования файла

mov AH, 11h ; поиск на A (указан в FCB)

lea dx, FCB ; DS:DX адрес FCB

int 21h

cmp al,0

je warn_user

mov ax, 16h ;функция создания файла

int 21h

cmp al, 0

jne error

Использование FH

Задается полный путь к файлу в виде ASCIIZ(нулевой байт в конце)

в DS:DXдолжен быть указан адрес строки.

Создается 16 битный номер файла, который помещается в AX.

Path DB ‘c:\level1\level2\myfile.dat’,0

mov ax, 4Eh; поиск файла

lea dx, path

int 21h

jnc warn_user ; файла нет  CF  0

mov ax, 3Ch

mov cx, 0; байт атрибутов

int 21h

jc error

mov fnumber, ax

Тип ошибки (в AL):

2 – путь не существует

3 – открыто слишком много файлов

4 – нет места на диске.

FCB: Функция 0Fh– открывает файл

10h– закрывает файл

13h- удаляет файл

FH: Функция 3Dh– открывает файла

5Bh– создает и открывает файл

3Eh– закрывает файл

41h– удаляет файл

Открытие файла функцией FCB, сопровождается заполнением следующих полей:

  1. Размер записи.

  2. Дата модификации (берется из текущей даты).

  3. Размер блока и номер текущей записи.

  4. Еще есть запоминание текущего доступа.

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

Чтение / Запись

DTA(буфер)

файл на диске данные в оперативной памяти.

С точки зрения логической организации, файлы делятся на последовательный и прямой доступ.

В последовательном: файл может иметь переменную длину, разделяемый парой кодов 10hи 13h. И доступом в середину файла путем пропуска ограничтельных пар символов нужного количества раз.

(дескриптор более предрасположен к использованию последовательного доступа).

Прямой доступ: все записи имеют фиксированную длину и соответственно для доступа к некоторой записи необходимо сформировать ее адрес, путем умножения длины записи на ее номер.

Для FCB– поля выбираются из управляющей области памяти.