НОВОЕ: OS/2 GURU - Вопросы и ответы

Reviews / articles about OS/2

Operating systems:
ArcaOS, eComStation, IBM OS/2 Warp
Мифы о eComStation 

Unsorted

 

 

ArcaOS 5.0 Русская версия
Пакет русификации ArcaOS 5.0 OS/2 давно доступен. Поддерживается любая версия: 5.0, 5.0.1, 5.0.2.

eCo Software может выпустить и другие пакеты (Немецкий, Голландский, Бразильский Португальский, Испанский, Шведский и т.д.)

Порядок загрузки OS/2


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.

Всем желающим детально ознакомится как проходила загрузка, предлагаю скачать лог загрузки.

Замечания:

  1. В данном случае JFS.IFS идет первой, потому дальше я уже ничего не вижу в своем логе, но зато по AltF2 уже все замечательно видно кроме DLL
  2. Если грузимся с устройства "1:", то драйверы IFS грузятся в порядке следования их в config.sys, если не с "1:", то лично у меня первым грузился именно JFS.IFS.
  3. Окончательным является только прилагаемый лог (в тексте статьи что-нибудь может быть пропущено).
  4. Если кому-то действительно хочется узнать порядок загрузки до самого старта startup.cmd, могу предоставить загрузчик для FAT32 с отладкой (в отсуствии ifs=fat32.ifs он выполняет его функции до самого окончания загрузки - устав однако).



Попробуй программу:

eSchemes - изменить цвета и кнопки на рабочем столе.

Комментарии:

Василий А. Сидоров
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"

Вы не можете решить проблемы с Сетью (медленная работа, нет соединения, ..), Аудио (висы, щелчки, ..), USB (подключенные устройства не видны, медленная работа, ..)? Начни отсюда: Configuring ACPI driver for eComStation 2.0 + Новинка: Часто задаваемые вопросы и ответы по ACPI в 2011-ом году

 


 

(C) OS2.GURU 2001-2021