Системное программное обеспечение. Рощин А.В. - 141 стр.

UptoLike

Составители: 

141
5.5 Драйвер RAM-диска
Состоит из собственно драйвера и пространства памяти для диска. Из
четырех частей загрузочной записи для RAM-диска будут реализованы
только двеидентификацию поставщика и ВРВ. В ВРВ задаются размер
RAM-диска (100К), размер FAT и размер каталога. ВРВ RAM-диска:
Смещение
Размер
Имя
Значение
Содержание
+0 2 sect_siz 512 Размер сектора в байтах
+2 1 clus_siz 1 Число секторов в кластере
+3 2 res_sect 1 Количество зарезервированных секторов
+5 1 fat_num 1 Количество FAT на диске
+6 2 root_siz 48 Размер корневого каталога (число файлов)
+8 2 num_sect 205 Общее количество секторов
+10 1 med_desc FEh Дескриптор носителя
+11 2 fat_size 1 Число секторов в FAT
+13 2 sec_trac 0 Число секторов на дорожке
+15 2 num_had 0 Число головок
+17 2 hidd_sec 0 Число скрытых секторов
Всего секторов
1 для загрузочной записи
1 для 1 FAT (1.5 байта * 200 кластеров = 300 байтов)
3 для каталога (32 байта * 48 файлов = 1536 байтов)
200 для данных (100 КDВ)
205 секторов на RAM диске
Ниже приведен текст драйвера RAM-диска.
; Заголовок
; Драйвер RAM-диска со звуковым сигналом
; Инструкции ассемблеру
code segment para puublic
ramdisk proc far
assume cs:code, ds:code, es:code
; Структура заголовков запросов
rh struc ; Фиксироованная структура заголовка
rh_len db ? ; Длина пакета
rh_unit db ? ; Номер устройства
rh_cmd db ? ; Команда
rh_status dw ? ; Возвращается драйвером
rh_res1 dd ? ; Резерв
rh_res2 dd ? ; Резерв
                                                141



            5.5 Драйвер RAM-диска
     Состоит из собственно драйвера и пространства памяти для диска. Из
четырех частей загрузочной записи для RAM-диска будут реализованы
только две – идентификацию поставщика и ВРВ. В ВРВ задаются размер
RAM-диска (100К), размер FAT и размер каталога. ВРВ RAM-диска:
 Смещение




                                  Значение
             Размер




                        Имя                                 Содержание



+0             2       sect_siz   512        Размер сектора в байтах
+2             1       clus_siz     1        Число секторов в кластере
+3             2      res_sect      1        Количество зарезервированных секторов
+5             1       fat_num      1        Количество FAT на диске
+6             2       root_siz    48        Размер корневого каталога (число файлов)
+8             2      num_sect    205        Общее количество секторов
+10            1      med_desc    FEh        Дескриптор носителя
+11            2       fat_size     1        Число секторов в FAT
+13            2       sec_trac     0        Число секторов на дорожке
+15            2      num_had       0        Число головок
+17            2      hidd_sec      0        Число скрытых секторов

                                   Всего секторов
    1       для загрузочной записи
    1       для 1 FAT (1.5 байта * 200 кластеров = 300 байтов)
    3       для каталога (32 байта * 48 файлов = 1536 байтов)
  200       для данных (100 КDВ)
  205       секторов на RAM диске

Ниже приведен текст драйвера RAM-диска.
; Заголовок
; Драйвер RAM-диска со звуковым сигналом

; Инструкции ассемблеру
code segment para puublic
ramdisk        proc far
assume cs:code, ds:code, es:code
; Структура заголовков запросов
rh     struc ; Фиксироованная структура заголовка
rh_len         db   ?     ; Длина пакета
rh_unit        db   ?     ; Номер устройства
rh_cmd         db   ?     ; Команда
rh_status      dw   ?     ; Возвращается драйвером
rh_res1        dd   ?     ; Резерв
rh_res2        dd   ?     ; Резерв