|
ArcaOS 5.0 Русская версия
Пакет русификации ArcaOS 5.0 OS/2 давно доступен.
Поддерживается любая версия: 5.0, 5.0.1, 5.0.2.
eCo Software может выпустить и другие пакеты
(Немецкий, Голландский, Бразильский Португальский, Испанский, Шведский и т.д.)
|
TITLE: Порядок загрузки OS/2
DATE: 2004-01-18 03:21:36
AUTHOR: Pavel Shtemenko
Несмотря на то, что OS/2 существует десятилетия,
споры на тему "В каком порядке происходит загрузка?" по прежнему продолжаются.
Статья частично отвечает на этот вопрос.
Этапы большого пути
При разработке
загрузчика с JFS, я, естественно, пользовался выводом протокола загрузки.
Имена файлов, которые требовало ядро, также попадали в этот лог - благодаря
ему можно судить о порядке загрузки.
В основу положена аксиома - "для того чтобы драйвер
загрузился, его файл сначала нужно вычитать с диска". Отдельно подчеркиваю,
речь идет о загрузке с JFS.
Первый этап
OS/2 загружается в три этапа. Все три этапа могут быть совершенно разными
в зависимости от того, с какого устройства происходит загрузка.
Итак первый этап - так называемый bootstrap (и то что его
производит, называют blackbox).
Для диска - это то, что записано в бутблоке, для
сети - то что записано в ПЗУ удаленной загрузки.
От этого этапа требуется
весьма немного: загрузить OS2LDR и передать ему управление, сообщив при этом
адрес, с которого загружен модуль, который должен будет обеспечить выполнение
второго этапа (кто интересуется конкретикой рекомендую читать ifs.inf).
Дальше OS2LDR "растыкивает" по всем углам "разные поддержки всего чего
не попадя" и загружает OS2KRNL в память. Окончание этого этапа знаменует
передача управления ядру OS2KRNL. Итак, тут мне разногласий в загрузке
определить не удалось и выглядит она так:
OS2LDR.MSG
SWAPPER2.DAT
OS2LDR.MSG
OS2KRNL
OS2DUMP
OS2DBCS.FNT
Второй этап
На этом и всех последующих этапах, загрузкой управляет исключительно OS2KRNL.
Вот с этого этапа уже и можно рассматривать порядок загрузки с CONFIG.SYS.
Итак, по материалам
следствия происходит поиск следующих файлов (перечисление идет в порядке запросов):
ALTF2ON.$$$
ARCHBASE.$$$
OS2VER
CONFIG.SYS
KDB.INI
OS2LOGO
OS2NOREV.$$$
RESOURCE.SYS
PREVIOUS.DAT
CLOCK01.SYS
SCREEN01.SYS
KBDBASE.SYS
ISAPNP.SNP
PNP.SYS
вычитка снуперов
Дальше уже идет вся загрузка в соотвествии с CONFIG.SYS,
кроме некоторых интуитивно понятных случаев:
IBMKBD.SYS
CHKDSK.SYS
IBM1FLPY.ADD
IBM1S506.ADD
XDFLOPPY.FLT
IBMATAPI.FLT
IBMIDECD.FLT
OS2DASD.DMD (здесь начинаются интуитивно понятные случаи)
OS2LVM.DMD
На этом радостном файле и заканчивается второй этап загрузки. Обращаю внимание,
два последних файла всегда грузятся последними, независимо от того,
в какой строчке CONFIG.SYS они прописаны (что интуитивно понятно).
Третий этап
Он знаменутся проверкой, на месте ли OS2LDR (хотя куда ему с подводной
лодки деться на локальном компьютере...) и загрузкой файла COUNTRY.SYS.
Далее, процесс загрузки
уже перестает быть однозначным на некоторое время, т.к. уже могут работать
разнообразные DLL, итак в моем случае последовательность оказалась такой:
COUNTRY.SYS
VIOTBL.DCP
KEYBOARD.DCP
DOSCALL1.DLL
SESMGR.DLL
DOSCALL2.DLL
BMSCALLS.DLL ( три раза )
DEV\MOUSE$
JFS.IFS
Далее идет все в соответствии с CONFIG.SYS, то есть все device= и ifs=
в том порядке, в каком они следуют в CONFIG.SYS.
Всем желающим детально ознакомится как проходила загрузка,
предлагаю скачать лог загрузки.
Замечания:
- В данном случае JFS.IFS идет первой, потому дальше я уже ничего не
вижу в своем логе, но зато по AltF2 уже все замечательно видно кроме DLL
- Если грузимся с устройства "1:", то драйверы IFS грузятся в порядке
следования их в config.sys, если не с "1:", то лично у меня первым грузился
именно JFS.IFS.
- Окончательным является только прилагаемый лог
(в тексте статьи что-нибудь может быть пропущено).
- Если кому-то действительно хочется узнать порядок загрузки до самого
старта startup.cmd, могу предоставить загрузчик для FAT32 с
отладкой (в отсуствии ifs=fat32.ifs он выполняет его функции до
самого окончания загрузки - устав однако).
Попробуй программу:
|
CalcMi - калькулятор, результат вычисляется по мере того, как вводите выражение.
|
Комментарии: Василий А. Сидоров 2004-01-19 10:55:55 | А если сопоставить порядок загрузги dll с импортами из других модулей? | Pavel Shtemenko 2004-01-19 10:59:43 | п.4 ? | Василий А. Сидоров 2004-01-19 16:08:46 | Хочешь взвалить тяжёлый девелоперский труд на хрупкие пользвательские плечи? | Pavel Shtemenko 2004-01-19 16:11:35 | Нуууу, по особым просьбам трудящихся могу снять и с загрузки FAT32 без ifs=fat32.ifs в конфиге ;-) | Василий А. Сидоров 2004-01-19 16:17:42 | :) | Алексей Тимошенко 2004-08-02 13:08:49 | У меня вопрос.
Что происходит после загрузки последнего DEVICE и перед выводом накопленных сообщений? В этот момент очень активно работают винты (несколько десятков секунд).
| Eugene Gorbunoff 2005-06-18 12:39:57 | Еще одна статья: [url] ->
"III. Последовательность загрузки OS/2" |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
eComStation 2.0 создана для работы на современных компьютерах (i3/i5/i7, Core Duo, AMD X2), но будет работать и на компьютерах, купленных 5 лет назад. Что нового в eCS 2.0? |
|
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|