IBMBIO.COM

Системный файл (DOS BIOS) в PC DOS и DR-DOS

IBMBIO.COM(в верхней части списка COM-файлов ) в IBM PC DOS 1.0.

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 затем содержит несколько больший загрузчик, который:

  1. Загружает остаток себя в память. До PC DOS 5.0 системные файлы все еще должны были храниться в фиксированных физических позициях на диске и храниться в последовательных секторах. С PC DOS 5.0 (и выше) это требование было уменьшено до первых трех секторов только IBMBIO.COM. [10] [nb 2]
  2. Загружает ядро ​​DOS. Ядро хранится в IBMDOS.COM .
  3. Инициализирует каждый драйвер устройства по умолчанию по очереди ( консоль , диск, последовательный порт и т. д.). На этом этапе доступны устройства по умолчанию.
  4. Вызывает процедуру инициализации ядра DOS.

В 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]

Смотрите также

Примечания

  1. ^ Помимо установки атрибута «только для чтения» , системные файлы могут быть опционально защищены паролем в DR-DOS с помощью команды PASSWORD или /R[:password]опции, доступной в некоторых версиях команды SYS . [a] Загрузчик просто проигнорирует установленный пароль файла при загрузке файла, но после загрузки системы доступ к системным файлам без знания пароля будет невозможен, тем самым обеспечивая дополнительный уровень защиты от случайных попыток удаления или изменения системных файлов. (Эта функция пароля файла не зависит от паролей тома или загрузки, также предоставляемых DR-DOS в определенных конфигурациях.)
  2. ^ ab В руководстве PC DOS 5.0 неверно указано, что системные файлы больше не должны быть смежными. Однако для того, чтобы процесс загрузки работал, системные файлы по-прежнему должны занимать первые две записи каталога, а первые три сектора IBMBIO.COM по-прежнему должны храниться смежно. [b] SYS продолжает заботиться об этих требованиях.
  3. ^ Существует одно исключение из правила, согласно которому DR-DOS VBR загружают весь файл IBMBIO.COM в память: если файл IBMBIO.COM больше 29 КБ, попытка загрузить весь файл в память приведет к тому, что загрузчик перезапишет стек и переместит таблицу параметров диска (DPT/FDPB). Поэтому DR-DOS 7.07 VBR загрузит в память только первые 29 КБ файла, полагаясь на другой загрузчик, встроенный в первую часть IBMBIO.COM, для проверки этого условия и самостоятельной загрузки оставшейся части файла в память при необходимости. Это не вызывает проблем совместимости, так как из-за внутреннего сжатия [c] [d] размер IBMBIO.COM никогда не превышал этот предел в предыдущих версиях без этого загрузчика. В сочетании со структурой двойной записи это также позволяет загружать систему с помощью PC DOS VBR, который загружает в память только первые три сектора файла.
  4. ^ Расширенная функциональность загрузочной записи тома DR-DOS для монтирования файловых систем FAT12 и FAT16 через CHS , поиска загрузочного файла IBMBIO.COM и загрузки его в память целиком, даже если он не хранится в фиксированном месте и в последовательных секторах, [e] [f] [g] [h] [i] [j] по-прежнему может быть включена с использованием обычных методов оптимизации кода на языке ассемблера до версии 7.05 , даже при сохранении минимальных требований к системе памяти 32 КБ с процессором всего 8088/8086 и продолжении поддержки больших размеров секторов и функции мультизагрузки . [f] Для дальнейшего добавления альтернативных загрузочных модулей, LBA , FAT32 и дополнительной возможности загрузки PC DOS / MS-DOS в дополнение к DR-DOS, секторам 7.07 пришлось прибегнуть к самомодифицирующемуся коду , программированию на уровне кодов операций на машинном языке , контролируемому использованию (документированных) побочных эффектов , многоуровневому перекрытию данных/кода и методам алгоритмического сворачивания , чтобы по-прежнему втиснуть все в 423 байта, доступных для кода в одном физическом секторе размером 512 байт, поскольку это было требованием для обратной и перекрестной совместимости с другими операционными системами в сценариях мультизагрузки и загрузки по цепочке .SYS /DR:ext

Ссылки

  1. ^ Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михельс, Рэймонд Дж.; Кайл, Джим (1994) [ноябрь 1993]. Недокументированная DOS: руководство программиста по зарезервированным функциям и структурам данных MS-DOS — расширено для включения MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Reading, Массачусетс: Addison Wesley . ISBN 0-201-63287-X.(xviii+856+vi страниц, 3,5-дюймовая дискета) Опечатки: [1][2]
  2. ^ abcdefgh Пол, Маттиас Р. (1997-10-02) [1997-09-29]. "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT и BOOT.TXT - Краткое описание того, как загружается OpenDOS". Архивировано из оригинала 2003-10-04 . Получено 2009-03-29 .[3]
  3. ^ abcdefghi Пол, Маттиас Р. (2017-08-14) [2017-08-07]. "Продолжение саги о Windows 3.1 в расширенном режиме на OmniBook 300". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2017-10-06 . Получено 2017-10-06 . […] DR-DOS FDISK не только разбивает диск, но и может форматировать только что созданные тома и инициализировать их загрузочные секторы за один раз, поэтому нет риска случайно испортить не тот том и нет необходимости в FORMAT /S или SYS . После этого вы можете просто скопировать оставшиеся файлы DR-DOS, включая системные файлы. Важно знать, что в отличие от MS-DOS/PC DOS, DR-DOS имеет «умные» загрузочные секторы, которые фактически «монтируют» файловую систему для поиска и загрузки системных файлов в корневом каталоге, а не ожидают, что они будут размещены в определенном месте. Физически системные файлы могут располагаться где угодно, а также могут быть фрагментированы. […]
  4. ^ abcd Збиковски, Марк ; Аллен, Пол ; Баллмер, Стив ; Борман, Рубен; Борман, Роб; Батлер, Джон; Кэрролл, Чак; Чемберлен, Марк; Челл, Дэвид; Коули, Майк; Кортни, Майк; Драйфус, Майк; Дункан, Рэйчел; Экхардт, Курт; Эванс, Эрик; Фармер, Рик; Гейтс, Билл ; Гири, Майкл; Гриффин, Боб; Хогарт, Дуг; Джонсон, Джеймс У.; Кермани, Камел; Кинг, Адриан; Кох, Рид; Ландовски, Джеймс; Ларсон, Крис; Леннон, Томас; Липки, Дэн; Макдональд, Марк ; Маккинни, Брюс; Мартин, Паскаль; Мазерс, Эстель; Мэтьюз, Боб; Мелин, Дэвид; Мергентайм, Чарльз; Невин, Рэнди; Ньюэлл, Дэн; Ньюэлл, Тани; Норрис, Дэвид; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Perez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Технические консультанты". Энциклопедия MS-DOS: версии с 1.0 по 3.2 . Автор: Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Летвин, Гордон ; Петцольд, Чарльз ; Рабинович, Чип; Томлин, Джим; Уилтон, Ричард; Вулвертон, Ван; Вонг, Уильям; Вудкок, Джоанн (полностью переработанное издание). Редмонд, Вашингтон, США: Microsoft Press . ISBN 1-55615-049-0. LCCN  87-21452. OCLC  16581341.(xix+1570 страниц; 26 см) (Примечание. Это издание было опубликовано в 1988 году после обширной переработки отозванного первого издания 1986 года другим коллективом авторов. [4])
  5. ^ abcdefgh Пол, Матиас Р. (30 июля 1997 г.) [1 мая 1994 г.]. NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей. MPDOSTIP (на немецком языке) (3-е изд.). Архивировано из оригинала 5 ноября 2016 г. Проверено 11 января 2012 г.(Примечание. NWDOSTIP.TXTЭто всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включающая описание многих недокументированных функций и внутренних компонентов. Она является частью еще более обширной MPDOSTIP.ZIPколлекции автора, которая поддерживалась до 2001 года и распространялась на многих сайтах в то время. Приведенная ссылка указывает на более старую версию файла, преобразованную в HTML.) [5]
  6. ^ abcd Пол, Матиас Р. (9 апреля 2001 г.). NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей . MPDOSTIP (на немецком языке) (3-е изд.).
  7. ^ abc Rosch, Winn L. (1991-02-12). "DR DOS 5.0 - Лучшая операционная система?". PC Magazine . Vol. 10, no. 3. pp. 241–246, 257, 264, 266. Архивировано из оригинала 2019-07-25 . Получено 2019-07-26 . […] SYS был улучшен в DR DOS 5.0, поэтому вам не нужно беспокоиться о том, что вы оставите первый кластер свободным на диске, который вы хотите сделать загрузочным. Системные файлы DR DOS могут располагаться в любом месте на диске, поэтому любой диск с достаточным свободным местом может быть настроен для загрузки вашей системы. […](Примечание. Источник приписывает это утилите SYS , хотя на самом деле это функция расширенного загрузчика в загрузочном секторе. SYS просто помещает этот сектор на диск.)
  8. ^ абвг Paul, Matthias R. (2002-02-20). "Невозможно скопировать". opendos@delorie . Архивировано из оригинала 2017-10-06 . Получено 2017-10-06 . […] Загрузочный сектор 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 . […]
  9. ^ DR-DOS 7.03 WHATSNEW.TXT — Изменения с DR-DOS 7.02 на DR-DOS 7.03. Caldera, Inc. 1998-12-24. Архивировано из оригинала 2019-04-08 . Получено 2019-04-08 . […] Добавлена ​​заглушка, которая отображает информацию о сборке, если COUNTRY.SYS ошибочно считался драйвером устройства (DEVICE=COUNTRY.SYS). Также отображает ту же информацию, если запущен как программа .COM. […] Добавлен второй метод сжатия для дальнейшего уменьшения размера IBMBIO.COM. […]
  10. ^ abcd Chappell, Geoff (январь 1994). "Глава 2: След системы". В Schulman, Andrew; Pedersen, Amorette (ред.). DOS Internals . Серия программирование Эндрю Шульмана (1-е издание, 1-е изд.). Addison Wesley Publishing Company . ISBN 978-0-201-60835-9.(xxvi+738+iv страниц, 3,5-дюймовая дискета [6][7]) Опечатки: [8][9][10]
  11. ^ Пол, Маттиас Р. (17.01.2001). "FAT32 в DR-DOS". opendos@delorie . Архивировано из оригинала 06.10.2017 . Получено 06.10.2017 . […] Загрузочный сектор DR-DOS […] ищет файл IBMBIO.COM (DRBIOS.SYS), а затем загружает *весь* файл в память, прежде чем передать ему управление. […]
  12. ^ Poarch, Mad (апрель 1993 г.). "Загрузка нескольких операционных систем с помощью утилиты DR Multiuser DOS LOADER". Developer Support Bullets . 5 (4). Novell . Архивировано из оригинала 2012-03-22 . Получено 2013-06-28 .
  13. ^ Патерсон, Тим (1994-10-03). "Истоки DOS: Создатель DOS излагает свою точку зрения на связь между CP/M и MS-DOS" (PDF) . Microprocessor Report . 8 (13). MicroDesign Resources (MDR). ISSN  0899-9341. Архивировано из оригинала (PDF) 2012-05-31.
  14. ^ Патерсон, Тим (2007-09-30). "Design of DOS". DosMan Drivel . Архивировано из оригинала 2013-01-20 . Получено 04.07.2011 .
  15. ^ Килдалл, Гэри Арлен (июнь 1975 г.). CP/M 1.1 или 1.2 BIOS и BDOS для Lawrence Livermore Laboratories . Фрагмент заголовка файла 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 */[…]
  16. ^ Kildall, Gary Arlen (январь 1980 г.). «История CP/M, эволюция отрасли: точка зрения одного человека». Журнал компьютерной гимнастики и ортодонтии доктора Добба . 5 (1): 6–7. Архивировано из оригинала 24.11.2016 г. Получено 03.06.2013 г. [ …] Первое коммерческое лицензирование 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 . […]
  17. ^ Шустек, Лен (2016-08-02). «По его собственным словам: Гэри Килдалл». Замечательные люди . Музей компьютерной истории . Архивировано из оригинала 2020-03-24 . Получено 2020-02-24 .
  18. ^ Килдалл, Гэри Арлен (2016-08-02) [1993]. Килдалл, Скотт ; Килдалл, Кристин (ред.). Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (Рукопись, часть 1). Kildall Family. Архивировано (PDF) из оригинала 2016-11-17 . Получено 2016-11-17 .
  19. ^ Киллиан, А. Джозеф «Джо» (2001). «CP/M Гэри Килдалла: Некоторая ранняя история CP/M - 1976–1977». Томас «Тодд» Фишер , IMSAI . Архивировано из оригинала 24.03.2020 . Получено 03.06.2013 . […] Когда нам не удалось своевременно выпустить операционную систему, Гленн начал говорить с Гэри о CPM […] Потребовалось несколько месяцев выкручивания рук Гэри, чтобы заставить Гэри перенести ее на 8080. Окончательный успех пришел, когда Гленн уговорил Гэри просто отделить ввод-вывод от остального, а Гленн пообещал переписать модуль ввода-вывода для IMSAI 8080 (что он и сделал). Таким образом, CPM на IMSAI была совместным усилием Гленна и Гэри. […]
  20. ^ Фрейли, Боб; Спайсер, Даг (2007-01-26). "Устная история Джозефа Киллиана, интервью: Боб Фрейли, редактор: Даг Спайсер, запись: 2007-01-26" (PDF) . Маунтин-Вью, Калифорния: Музей компьютерной истории . Номер ссылки CHM: X3879.2007. Архивировано из оригинала (PDF) 2014-07-14 . Получено 2013-06-03 . Киллиан : «[…] Гленн […] разговаривал с Гэри , и он начал выкручивать ему руку. Он сказал: «Эй, Гэри, почему мы не можем запустить это в этом IMSAI ?» «Ввод-вывод совсем другой, не запустится». Но Гленн упорствует и в конце концов заключает сделку с Гэри. Он говорит: «Ладно, Гэри, если ты разделишь ввод-вывод, я напишу BIOS , базовую систему ввода-вывода», и Гленн назвал ее тогда. «Мы разделим это отдельно. Я напишу эту часть, если только вы сможете сделать разделение в программе там». И он заставил Гэри сделать это, а Гленн соединил эти две части и запустил CP/M Гэри на IMSAI. Гленн сообщил нам об этом, и вскоре Билл уже был там , договариваясь с Гэри Килдаллом о лицензировании CP/M . […] Теперь, когда BIOS отделен, любой может написать BIOS для своей машины, если она основана на 8080, и запустить его, поэтому он начал продавать его отдельно под руководством компании Digital Research , которую он основал и которая преуспела».
  21. ^ Apricot Portable - Техническое справочное руководство. Том. Раздел 3: Программное обеспечение. ACT (International) Limited . 1984. Получено 13.01.2020 .(228 страниц)
Взято с "https://en.wikipedia.org/w/index.php?title=IBMBIO.COM&oldid=1174206612"