IBMBIO.COM — системный файл во многих операционных системах DOS . Он содержит код инициализации системы и все встроенные драйверы устройств. Он также загружает ядро DOS ( IBMDOS.COM ) и дополнительные предварительно загружаемые системные компоненты (например, для сжатия диска или безопасности), [1] [2] отображает меню загрузки, обрабатывает файлы конфигурации (например, CONFIG.SYS ) и запускает оболочку (например, COMMAND.COM ).
Файл является частью IBM PC DOS (всех версий), а также DR DOS 5.0 и выше (за исключением DR-DOS 7.06 ). [2] [3] Он выполняет ту же функцию, что и файл IO.SYS в MS-DOS или DRBIOS.SYS в DR DOS 3.31–3.41 . [2] [3] (Для совместимости с некоторыми приложениями DOS имя файла IBMBIO.COM некоторое время использовалось в версии OS/2 1.0 от IBM , где оно напоминало файл OS2BIO.COM , используемый Microsoft .)
Файл находится в корневом каталоге загрузочного диска/раздела, отформатированного в FAT (обычно C:\), и обычно имеет системный , скрытый и (начиная с DOS 2.0 также) атрибуты файла «только для чтения» . [4] [5] [6] [2] [3] В DR-DOS файл может быть также опционально защищен паролем . [3] [nb 1] В PC DOS системный атрибут устанавливается для того, чтобы пометить файл как неперемещаемый, ограничение, технически не необходимое в DR-DOS. [7] [5] [6] [8] [3] Поскольку IBMBIO.COM — это двоичный образ, содержащий исполняемый код, а не настоящая программа в стиле COM , атрибут «скрытый» устанавливается для предотвращения случайного вызова файла в командной строке, что может привести к сбою. [5] Это больше не нужно для DR-DOS 7.02 и выше, поскольку в этих системах файл представляет собой большой двоичный файл , также содержащий небольшую заглушку в стиле COM, которая просто отображает некоторую информацию о версии и корректно завершается, если не загружается загрузочным сектором . [ 2] [5] [9]
В последовательности загрузки ПК первый сектор загрузочного тома содержит загрузчик, называемый загрузочной записью тома (VBR), который загружается в память и выполняется.
Если это VBR PC DOS до версии 3.3, он загрузит оба системных файла в память самостоятельно. [4] [10] Поскольку PC DOS VBR не может монтировать файловую систему FAT, системные файлы должны храниться в первых записях каталога на диске и располагаться в фиксированных физических позициях на диске, хранящихся в последовательных секторах, условия которых должна учитывать утилита SYS . [4] [10]
Если загруженный загрузочный сектор — это PC DOS 3.3 (или более новый) VBR, требования немного смягчаются. Системные файлы по-прежнему должны храниться в первых двух записях корневого каталога на диске, но VBR будет использовать только первую запись для загрузки первых трех секторов IBMBIO.COM в память и передачи ему управления. [10] [nb 2] Эта часть IBMBIO.COM затем содержит несколько больший загрузчик, который:
В DR DOS 5.0 и выше первый шаг пропускается, поскольку DR-DOS VBR способен монтировать файловую систему FAT, находит файл IBMBIO.COM (или DRBIOS.SYS) в любом месте корневого каталога и загружает его в память самостоятельно. [7] [2] [5] [11] [8] [3] [nb 3] [nb 4] Имя файла IBMBIO.COM, который должен быть загружен загрузочным сектором, хранится в загрузочном секторе, а не обязательно в первой записи корневого каталога, аналогично имя файла IBMDOS.COM, который должен быть загружен IBMBIO.COM, хранится в самом IBMBIO.COM, а не обязательно во второй записи каталога на диске. [12] [2] [5] [3] Кроме того, подобно загрузчику IBMBIO.COM в VBR, загрузчик IBMDOS.COM в IBMBIO.COM также способен элементарно монтировать файловую систему, поэтому нет необходимости хранить системные файлы в первых двух записях каталога, находиться в фиксированных физических позициях или храниться в последовательных секторах. Следовательно, больше нет необходимости устанавливать системный атрибут. [7] [5] [6] [8] [3] Вместо этого системные файлы можно просто скопировать на диск (без SYS), учитывая, что загрузочный сектор DR-DOS уже находится на диске. [5] [6] [2] [8] [3]
Microsoft иногда называет этот компонент системой ввода-вывода, [4] [13] [14], но обычно он известен как DOS BIOS (связанная с DOS часть базовой системы ввода-вывода ). Термин BIOS был первоначально придуман Гэри Килдаллом в 1975 году для CP/M , [15] [16] [17] [18] [19] [20], но также используется для описания аналогичного компонента или слоя в других операционных системах Digital Research, IBM, Microsoft и многими другими.
В более общем смысле некоторые поставщики называют эту часть RAM BIOS операционных систем, таких как DOS или CP/M, чтобы противопоставить ее встроенному ROM BIOS машины. [21]
/R[:password]
опции, доступной в некоторых версиях команды SYS . [a] Загрузчик просто проигнорирует установленный пароль файла при загрузке файла, но после загрузки системы доступ к системным файлам без знания пароля будет невозможен, тем самым обеспечивая дополнительный уровень защиты от случайных попыток удаления или изменения системных файлов. (Эта функция пароля файла не зависит от паролей тома или загрузки, также предоставляемых DR-DOS в определенных конфигурациях.)SYS /DR:ext
[…] DR-DOS
FDISK
не только разбивает диск, но и может форматировать только что созданные тома и инициализировать их загрузочные секторы за один раз, поэтому нет риска случайно испортить не тот том и нет необходимости в
FORMAT
/S или
SYS
. После этого вы можете просто скопировать оставшиеся файлы DR-DOS, включая системные файлы. Важно знать, что в отличие от MS-DOS/PC DOS, DR-DOS имеет «умные» загрузочные секторы, которые фактически «монтируют» файловую систему для поиска и загрузки системных файлов в корневом каталоге, а не ожидают, что они будут размещены в определенном месте. Физически системные файлы могут располагаться где угодно, а также могут быть фрагментированы. […]
NWDOSTIP.TXT
Это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включающая описание многих недокументированных функций и внутренних компонентов. Она является частью еще более обширной MPDOSTIP.ZIP
коллекции автора, которая поддерживалась до 2001 года и распространялась на многих сайтах в то время. Приведенная ссылка указывает на более старую версию файла, преобразованную в HTML.) [5][…]
SYS
был улучшен в
DR DOS 5.0,
поэтому вам не нужно беспокоиться о том, что вы оставите первый кластер свободным на диске, который вы хотите сделать загрузочным. Системные файлы DR DOS могут располагаться в любом месте на диске, поэтому любой диск с достаточным свободным местом может быть настроен для загрузки вашей системы. […]
(Примечание. Источник приписывает это утилите SYS , хотя на самом деле это функция расширенного загрузчика в загрузочном секторе. SYS просто помещает этот сектор на диск.)
[…] Загрузочный сектор DR-DOS загружает весь файл IBMBIO.COM в память, прежде чем выполнить его. Ему совершенно безразличен файл IBMDOS.COM , который загружается IBMBIO.COM. […] Загрузочный сектор DR-DOS […] найдет […] файлы ядра, если они логически хранятся в корневом каталоге. Их физическое расположение на диске и то, фрагментированы они или нет, не имеет значения для загрузочного сектора DR-DOS. Следовательно, вы можете просто скопировать файлы ядра на диск (даже с помощью простого COPY ), и как только загрузочный сектор станет сектором DR-DOS, он найдет и загрузит их. Конечно, трудно уместить все это всего в 512 байт, размер одного сектора, но это значительное улучшение удобства, если вам нужно настроить систему DR-DOS, и это также ключ к работе утилиты DR-DOS multi-OS LOADER . Файлы ядра MS-DOS должны находиться в определенных местах, но файлы DR-DOS могут быть где угодно, поэтому вам не нужно физически менять их местами каждый раз, когда вы загружаете другую ОС. Кроме того, это позволяет обновить систему DR-DOS, просто скопировав файлы ядра поверх старых, нет необходимости в SYS , нет сложных процедур настройки, как требуется для MS-DOS/PC DOS. Вы даже можете иметь несколько файлов ядра DR-DOS под разными именами, хранящихся на одном диске, и LOADER будет переключаться между ними в соответствии с именами файлов, указанными в файле BOOT.LST . […]
[…] Добавлена заглушка, которая отображает информацию о сборке, если COUNTRY.SYS ошибочно считался драйвером устройства (DEVICE=COUNTRY.SYS). Также отображает ту же информацию, если запущен как программа .COM. […] Добавлен второй метод сжатия для дальнейшего уменьшения размера IBMBIO.COM. […]
[…] Загрузочный сектор DR-DOS […] ищет файл IBMBIO.COM (DRBIOS.SYS), а затем загружает *весь* файл в память, прежде чем передать ему управление. […]
Фрагмент заголовка файла BDOS.PLM в
исходном коде
PL/M
CP/M 1.1
или
CP/M 1.2
для
Lawrence Livermore Laboratories
(LLL)
[…]/* CP / MBASICI / OSYSTEM (BIOS) АВТОРСКИЕ ПРАВА (C) ГЭРИ А. КИЛДАЛЛ ИЮНЬ, 1975 */[…]/* ОСНОВНАЯ ДИСКОПЕРАЦИОННАЯ СИСТЕМА (BDOS) АВТОРСКИЕ ПРАВА (C) ГЭРИ А. КИЛДАЛЛ ИЮНЬ, 1975 */[…]
…] Первое коммерческое лицензирование
CP/M
состоялось в 1975 г. по контрактам между
Digital Systems
и
Omron of America
на использование в их интеллектуальном терминале, а также с
Lawrence Livermore Laboratories
, где CP/M использовался для мониторинга программ в
сети Octopus
. Около года CP/M уделялось мало внимания. В свободное время я работал над улучшением общих возможностей […] К этому времени CP/M был адаптирован для четырех различных контроллеров. […] В 1976 году Гленн Юинг обратился ко мне с проблемой:
Imsai
, Incorporated, которую консультировал Гленн, поставила большое количество дисковых подсистем с обещанием, что операционная система последует за ними. Я несколько не хотел адаптировать CP/M к еще одному контроллеру, и таким образом возникла идея отдельной базовой системы ввода-вывода (BIOS). В принципе, аппаратно-зависимые части CP/M были сосредоточены в BIOS, что позволяло Гленну или кому-либо еще адаптировать CP/M к оборудованию Imsai. Впоследствии Imsai получила лицензию на распространение
CP/M версии 1.3
, которая в конечном итоге превратилась в операционную систему под названием
IMDOS
. […]
[…] Когда
нам
не удалось своевременно выпустить операционную систему, Гленн начал говорить с Гэри о
CPM
[…] Потребовалось несколько месяцев выкручивания рук Гэри, чтобы заставить Гэри перенести ее на 8080. Окончательный успех пришел, когда Гленн уговорил Гэри просто отделить ввод-вывод от остального, а Гленн пообещал переписать модуль ввода-вывода для IMSAI
8080
(что он и сделал). Таким образом, CPM на
IMSAI
была совместным усилием Гленна и Гэри. […]
Киллиан
: «[…] Гленн […] разговаривал с
Гэри
, и он начал выкручивать ему руку. Он сказал: «Эй, Гэри, почему мы не можем запустить это в этом
IMSAI
?» «Ввод-вывод совсем другой, не запустится». Но Гленн упорствует и в конце концов заключает сделку с Гэри. Он говорит: «Ладно, Гэри, если ты разделишь ввод-вывод, я напишу
BIOS
, базовую систему ввода-вывода», и Гленн назвал ее тогда. «Мы разделим это отдельно. Я напишу эту часть, если только вы сможете сделать разделение в программе там». И он заставил Гэри сделать это, а Гленн соединил эти две части и запустил CP/M Гэри на IMSAI. Гленн сообщил нам об этом, и вскоре Билл уже был там
,
договариваясь с Гэри Килдаллом о лицензировании
CP/M
. […] Теперь, когда BIOS отделен, любой может написать BIOS для своей машины, если она основана на 8080, и запустить его, поэтому он начал продавать его отдельно под руководством компании
Digital Research
, которую он основал и которая преуспела».