|
| Исходная версия
этой таблицы, использовавшаяся версией ДОС 1.00, находилась в
ПЗУ вместе с системой BIOS, и поэтому ее можно видеть в
листинге BIOS, приведенном в "Техническом руководстве".
Начиная с версии ДОС 1.10 вместо этой таблицы стала
использоваться таблица, размещаемая в оперативной памяти.
Такое изменение, кстати, дает нам одно преимущество. Это
позволяет экспериментировать со значениями в таблице, не
прибегая к различным ухищрениям для подмены таблицы в ПЗУ.
Любая программа может установить собственную базу диска, но
вот создать ее таким образом, чтобы эта таблица продолжала
использоваться после окончания программы, довольно сложно.
Для достижения это цели необходимо зарезервировать небольшую
область памяти так, чтобы ДОС не использовала ее. |
| win rar |
|
|
| Однако, с
тех пор как ДОС стала размещать таблицу базы диска в
оперативной памяти, во всех этих приемах нет необходимости.
По сравнению с версией ДОС 1.00 в версии 1.10 сделано
всего два изменения в таблице базы диска, но они позволили
значительно увеличить скорость использования дискет.
Во-первых, они на 25% уменьшили время, выделенное дисководу
для перемещения головки с дорожки на дорожку. Это время
получило название "время шага" (SRT). |
| avast 4 professional edition |
|
|
| В версии таблицы,
размещаемой в ПЗУ, которая использовалась в ДОС версии 1.00,
время шага равнялось 8 миллисекундам. Новое значение,
использующееся начиная с ДОС 1.10, равняется 6 миллисекундам.
Этот параметр в таблице занимает первый полубайт. |
| программа резервного копирования |
|
| 
avast home, система распознавания текста, системы управления базой данных, системы управления базой данных, файловый менеджер, .
asplinux confpoint
|
Эта процедура форматирует дорожку дискеты,
записывая адресные маркеры секторов и заполняя сегмент данных
каждого сектора стандартным шестнадцатиричным значением F6
или CHR$(246). Должны указываться отдельно для каждого
сектора такие спецификации как дорожка, сторона и номер
сектора, а также код, задающий длину сектора. Поскольку
размер каждого сектора может быть задан независимо от
остальных, можно сформатировать дорожку с одним или
несколькими секторами нестандартного размера - что является
обычным средством для защиты от копирования. Обычными
средствами ДОС нельзя прочитать сектор, размер которого
отличается от стандартного 512-байтного, поэтому многие схемы
защиты от копирования пользуются именно такими средствами.
Более подробно мы рассмотрим это в следующем разделе,
посвященном параметрам, управляющим операциями с дискетой.
Форматировать нужно целую дорожку сразу - поскольку
промежутки между секторами и адресные маркеры взаимозависимы.
Однако, если необходимо переформатировать всего один сектор,
способ для этого все же есть. Например, если нужно изменить
формат последнего сектора на дорожке, сохранив данные в
первых семи секторах, поступите так: напишите программу для
чтения первых семи секторов, затем переформатируйте всю
дорожку и перезапишите данные. Такая процедура позволит
защитить от копирования уже существующие данные, хотя внешне
вроде бы ничего не изменяется.
Для форматирования всех секторов на дорожке должны быть
заданы следующие параметры, каждый в виде однобайтного числа:
1 - номер дорожки (от 0 до 39)
2 - сторона (0 или 1; для односторонних дискет всегда 0)
3 - номер сектора (начиная с 1; сектор 0 означает
управляющую информацию)
4 - код длины (0=128 байт, 1=256 байт, 2=512 байт
[стандартное], 3=1024)
Поскольку каждый сектор имеет собственный код длины,
включить сектор нестандартной длины в дорожку не представляет
особого труда (либо создать целую дорожку из секторов
нестандартной длины для ДОС).
Если для форматирования дорожки используется процедура
уровня BIOS, следите за правильным указанием всех параметров.
7.3. Параметры дискеты и защита от копирования
Работа дисковода для гибких дисков частично управляется
таблицей, известной как база дисков или таблица параметров
дискеты (терминология фирмы "ИБМ" пока не устоялась)
База дисков - это таблица, состоящая из одиннадцати
байт, которая содержит ряд параметров, необходимых для работы
дисководов, включая и определенную информацию о формате
дискет. В листинге 7.1 можно найти определение этой таблицы,
комментарии к которому описывают назначение каждого байта.
Как упоминалось в главе 6, один вектор прерывания,-
номер 29, хранящийся в ячейке с адресом 120,- используется
для указания местонахождения этой таблицы.
|
|
|