MS-DOS для программиста

Бомбезні привітання з днем народження у віршах українською мовою          

MS-DOS для программиста

Введение

MS-DOS для программиста


Работа с дисками на физическом уровне
Обзор дисковых устройств
Секторы, головки , цилиндры
Характеристики дисковых накопителей
Определение типа компьютера
Прерывание INT 11h
Анализ содержимого CMOS-памяти
Таблицы параметров НМД и НГМД



Программа DISKINFO
Программирование контроллера НГМД
Формат дорожки дискеты
Порты контроллера НГМД
Команды для контроллера НГМД

Использование команд контроллера НГМД
Немного о контроллере прямого доступа к памяти
Программа FDDIO
Функции BIOS для работы с дисками

Сброс дисковой системы
Определение состояния дисковой системы
Чтение сектора
Запись сектора
Проверка сектора
Форматирование дорожки
Форматирование дорожки НМД
Форматирование НМД
Определение текущих параметров НГМД или НМД

Инициализация контроллера НМД
Чтение секторов длинное (НМД)
Запись секторов длинная (НМД)
Поиск дорожки (НМД)
Альтернативный сброс НМД
Чтение буфера сектора (НМД)
Запись буфера сектора (НМД)
Определение состояния НМД
Рекалибровка НМД
Проверка памяти контроллера НМД

Проверка НМД
Проверка контроллера НМД
Определение типа НГМД или НМД
Проверка замены диска
Установка типа дискеты
Установка среды для форматирования НГМД
Парковка головок НМД
Форматирование диска ESDI НМД
Примеры использования функций BIOS
Программа FD13

Программа FDCHANGE
Функция _bios_disk
Программа FDBIOS
Программа FDFORMAT

MS-DOS для программиста


Логическая структура диска в MS-DOS
Таблица разделов и логические диски
Главная загрузочная запись
Таблица разделов диска
Загрузочная запись
Загрузка операционной системы
Поля элемента таблицы раздела диска
Первичный и расширенный раздел
Программа PARTVIEW

Формат загрузочной записи
Расширенный блок параметров BIOS
Логический номер сектора
Прерывания INT 25h и INT 26h
Программа BOOTVIEW
Таблица размещения файлов
Последовательный и прямой доступ

Кластеры
Содержимое таблицы FAT
Два формата таблицы FAT
Определение формата таблицы FAT
Идентификация кластеров
Чтение таблицы FAT
Файлы и каталоги
Расположение и размер корневого каталога
Область файлов и подкаталогов
Дескрипторы файлов

Атрибуты файлов
Дескрипторы удаленных файлов
Время создания или изменения файла
Дата создания или изменения файла
Длина файла
Программа ROOTVIEW
Программа FATSCAN
Программа FDISK

MS-DOS для программиста

Файловая система DOS
Получение справочной информации
Текущий диск и текущий каталог
Определение размера кластера и сектора
Определение размера свободного пространства
Блок управления устройством DDCB
Флаг прерывания
Адрес области DTA

Флаг проверки записи
Функции библиотеки Borland C++
_Dos_getdiskfree
_Dos_getdrive и _dos_setdrive
Программа DISKINF2
Работа с каталогами
Создание каталога
Удаление каталога
Переименование каталога

Getcwd
Mkdir , rmdir , chdir
Rename
Программа DIRCTL
Поиск в каталогах
Программа DIRLIST
Работа с файлами
Создание файлов

Открытие файла
Удаление файла
Переименование или перемещение файла
Creat
Open
Close
Коды ошибок
Чтение и запись файлов

Запись данных в файл
Чтение данных из файла
Программа FCOPY
Позиционирование
Установка файлового указателя
Определение размера файла
Lseek

Filelength
Tell
Программа SETPOS
Изменение дескриптора файла
Атрибуты файла
Время и дата изменения файла
Функции библиотеки Borland C++
_Dos_getfileattr
_Dos_setfileattr
_Dos_getftime

_Dos_setftime
Программа READONLY
Буферизация
Потоки ввода и вывода
Открытие и закрытие потоков
Fopen
Fclose
Fdopen
Fileno

Fwrite
Fread
Fseek
Ftell
Fgetpos , fsetpos
Форматный ввод и вывод
Fputc
Fgetc
Fputs и fgets
Fprintf

Fscanf
Буферизация потоков
Setbuf
Setvbuf
Fflush
Программа BUFCOPY
Другие функции для работы с файлами
Таблица открытых файлов
Обработка критических ошибок

Анализ регистров
Анализ стека
Код действия
_Harderr
_Hardresume
_Hardretn
Функция обработки критических ошибок
Программа CRITERR

MS-DOS для программиста

Использование функций IOCTL
Получение различной информации

Состояние открытого файла и конфигурация устройства
Определение момента достижения конца файла
Расположение открытого файла или устройства
Возможность замены носителя данных
Общее управление устройством GENERIC IOCTL
Примеры использования функций GENERIC IOCTL
Программа FMTIOCTL
Программа CPYIOCTL

MS-DOS для программиста

Защита программ от несанкционированного копирования

Защита дискет от копирования
Программа FMT256
Программа FMT81TRK
Программа RW81TRK
Программа FMTINTRL
Программа CHKINTRL

Защита программ на жестком диске
Список кластеров, распределенных файлу
Программа CLUSTLST
Привязка к BIOS
Программа BIOSVER
Защита программ от трассировки

MS-DOS для программиста


Настройка и оптимизация MS-DOS
План работ по оптимизации
Определение типа контроллера НМД
ST506/412
ESDI
SCSI
IDE и Enchanced IDE
Тип процессора
Расширенная память
Дополнительная память

Версия операционной системы
Определение конфигурации компьютера
Составление плана оптимизации
Компьютер IBM PC или IBM PC/XT
Компьютер IBM PC/AT с процессором i286
Компьютеры с процессорами i386, i486 или Pentium
Увеличение быстродействия дисковой памяти
Почему диск работает медленно
Фактор чередования

Сдвиг цилиндров
Сдвиг головок
Фрагментация файлов
Буферизация
Кэширование дисковой памяти
Электронный диск

Переменная среды PATH
Расположение файлов
Настройка дисковой системы
Оптимизация фактора чередования
Метод подбора
Программа инициализации hdinit
Инициализация программой, записанной в ПЗУ контроллера
Программа CALIBRAT
Дефрагментация диска

Буферизация ввода и вывода
Драйвер SMARTDRV
Драйвер HyperDisk
Создание электронного диска
Драйверы кеша и Microsoft Windows
Программа FASTOPEN

Увеличение вместимости диска и дискет
Потерянные кластеры
Динамический компрессор диска DriveSpace
Установка системы DriveSpace
Удаление диска DriveSpace
Отключение драйвера drvspace.bin
Нестандартное форматирование дискет

Оперативная память
Распределение памяти в MS-DOS
Как использовать всю доступную память
IBM PC или IBM PC/XT

IBM PC/AT с процессором 80286
IBM PC/AT с процессорами i386, i486 и Pentium
Быстродействие оперативной памяти

далее
далее
Содержание раздела