Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Отчет: OS/2 совместимое оборудование
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

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 он выполняет его функции до самого окончания загрузки - устав однако).



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

Widescreen activator - включает широкие режимы для Intel.

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

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

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Писать программы для eComStation - это выгодно: a) система имеет более компактный API, который хорошо продуман и эффективен, b) Рынок не такой бесконечный, как у Windows. Все пользователи eComStation узнают про ваш продукт, c) Один разработчик значительно влияет на всю ОС.

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

Самая комментируемая новость за месяц: Взаимодействие OS/2 и Android

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2018 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: