Найти в Дзене

Программирование операционки и файловой системы на Ассемблере.

Данный вид программирования является, очень специфическим и имеет целый ряд своих особенностей. В тоже самое время, он привлекает особый интерес системных программистов, имеющих многолетний опыт работы. Речь идёт не просто, о написании какой, нибудь системной программы, а о написании на языке Ассемблере нескольких модулей из которых, в последствии был сшит единый общий модуль операционной системы. Он может быть альтернативой операционным системам DOS и Linux.

Кроме того, этот модуль в себя включает и стандартную файловую систему FAT15. Элементы программирования загрузочного сектора системного диска и файловой системы, находятся в одном файле исходного файла на Ассемблере. В нём, можно найти; и все функции начального загрузчика по запуску операционной системы с диска; и отдельные элементы записи файловой системы FAT15 о каждом файле входящем в данный комплект. Готовый общий исполняемый файл данного комплекса, имеет расширения .IMA и .ISO и предназначен для записи на флеш-накопитель по абсолютному адресу с помощи специальных утилит для создания системного диска.

Создан, этот комплекс загрузочного диска BOOT_DSK (включая и отдельные элементы записи файловой системы FAT15) был для 16-ти разрядной подсистемы DOS. Вот, поэтому в его основу и была положена старая, давно прижившиеся файловая система FAT15. Любой системный программист, изучивший исходники системных программ данного модуля на языке Ассемблера, хорошо знает особенности загрузки в память компьютера модулей операционной системы и её работы.

Зная их, можно создать аналогичные версии этого загрузочного диска BOOT_DSK для 32-х и 64-х разрядных подсистем (на которых работают современные компьютеры), имеющие в своей основе файловые системы FAT32 и NTFS.

Главной особенностью, данного программного комплекса BOOT_DSK является то, что в процессе загрузки операционной системы RS-DOS, он не использует никаких системных прерываний ROM BIOS, а работает используя исключительно, подпрограммы IOS, альтернативные им. В этом, можно убедится просмотрев файл исходного текста программы начальной загрузки и элементов файловой системы, под названием IOS_FAT.ASM

Поэтому, данная разработанная операционная система загружаясь с системного диска, может работать полностью, автономно от системного модуля ROM BIOS, который её загружает с системного диска. На практике, в системном программировании, это имеет определённые плюсы.

Если есть, возможность по заказу изготавливать на заводе электронике свои печатные платы, то такая система RS-DOS, может быть в принципе записана и в ПЗУ, вместо системных программ ROM BIOS. Имея, в своём распоряжении системную (материнскую) плату работающею со съёмным ПЗУ (который можно, при желании перезаписывать с помощи программатора) и записав на него готовый общий исполняемый файл данного комплекса, имеющий расширения .IMA или .ISO, можно загружать эту систему RS-DOS и непосредственно из ПЗУ компьютера при его включении. Для этого, на данной системной плате должен быть установлен Центральный Процессор класса 8086, имеющий в основе своей работы 16-ти разрядную подсистему.

Другой, ещё одной особенностью этой операционной системы RS-DOS, является то, что для конфигурации системы и загрузки нужных программ при старте, она вместо традиционных CONFIG.SYS и AUTOEXEC.BAT, использует только, один настроечный текстовой файл IOS.CFG

Вот список основных файлов, комплекса загрузочного диска BOOT_DSK:

IOS_FAT.BIN - Загрузочный модуль системы и описания FAT15

IOS_EXE_.BIN - Основной системный файл (аналогичный IO.SYS в MS-DOS)

IOS.CFG - Файл конфигурации, загружаемой системы (аналогичный CONFIG.SYS)

AIOS_X16.COM - Файл автоматической работы системы, загружаемый через IOS.CFG

FREE_MEM.002 - Модуль буфера свободной оперативной памяти

RSDOS.COM - Модуль функций старшей таблицы прерываний (системы DOS)

IOS_FAT.DSK - Модули системного диска

IOS_FAT.IMA - для записи по абсолютному адресу,

IOS_FAT.ISO - с помощи специальных утилит.

Скачать архивы данного программного комплекса, можно по ссылкам:

ИСХОДНИКИ

https://disk.yandex.ru/d/n4iZDRjSDaYSJQ

ИСПОЛНЯЕМЫЕ МОДУЛИ

https://disk.yandex.ru/d/X8Ijnk3znkIflw

СПРАВОЧНАЯ ИНФОРМАЦИЯ

https://disk.yandex.ru/d/Sh1a6j7lTM4ykw

ОТДЕЛЬНЫЕ МОДУЛИ ВОШЕДШИЕ В КОМПЛЕКТ СБОРКИ

https://disk.yandex.ru/d/KQR_b-h9xH1tyA

ОБЩИЙ КОМПЛЕКТ ИСХОДНИКОВ И ГОТОВЫХ МОДУЛЕЙ КОМПЛЕКСА

https://disk.yandex.ru/d/IgfBtpaCIV-58g

ВНИМАНИЕ:

Многие из исходников, представленных здесь программ, а также файлов документации к ним (типа READ ME) имеют русскоязычный DOS-формат. Так многие из них, создавались на компьютерах со старой 16-ти разрядной системой DOS.

ПОЭТОМУ, для конвертирования файлов исходников программ и документации в формат Windows, лучше всего воспользоваться программой текстового редактора Microsoft Word из пакета Microsoft Office 2003.

При открытии файлов исходников (с расширениями *.ASM, *.BAS, *.PAS, *.CPP, *.INC и прочих) появляется диалоговое окно, в котором надо выбрать опцию "Формат DOS", а затем нажать <ENTER> или кликнуть левой клавишей мыши на кнопку "OK".

С файлами документации (с расширениями *.TXT, *.LOG, *.DOC и прочих) приложенным к исходникам данных программ для их конвертации из формата DOS в формат Windows, следует поступать также, с помощи этой же программы Microsoft Word из пакета Microsoft Office 2003.

-2