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

12345

Reviews / articles about OS/2

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

Unsorted

 

 

РЕКЛАМА: ArcaOS 5.1 Русская версия
Пакет русификации ArcaOS 5.1 OS/2 давно доступен. Поддерживается любая версия: 5.1, 5.1.1.

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

Разработка ACPI драйвера, начало


TITLE: Разработка ACPI драйвера, начало

DATE: 2022-12-31 17:39:55

AUTHOR: eCo Software

Что такое ACPI?

Blonde Guy Итак, вы включаете компьютер, выполняется базовая частичная инициализация. Дальше вы видите на экране логотип операционной системы - начинается загрузка ОС.

Операционная система должна в удобной форме получить список всех устройств, датчиков, тумблеров - всех возможностей компьютера. Настроить скорость работы, шум вентиляторов, яркость экрана, ..

Именно для этого и существует ACPI. Через этот интерфейс система получает полное описание компьютера в виде дерева устройств и методов (функций) для воздействия на эти устройства (их включение-выключение, изменение состояния, изменение параметров, ..)

ACPI отвечает за управление питанием и засыпание-просыпание (suspend/resume).

Сложность проекта

Мы вошли на неизведанную территорию, "Пробирались в темноте".

В первые годы фронт работы был безграничным:

  • Нужно было заниматься и загрузкой ОС на сотнях разных компьютеров,
  • и suspend/resume ноутбуков (засыпание-просыпание)
  • и обработкой событий ACPI

Разработка драйвера ACPI для OS/2 осложнялось следующими факторами:

  • исходные коды ядра OS/2 - недоступны. OS/2 создавалась в 94-ом, 96-ом году, а в 2005-ом году ПК компьютеры уже значительно изменились.
  • исходные коды большинства драйверов были недоступны. базовых драйверов, драйверов устройств.
  • сколько-то месяцев велась отладка suspend-resume. На некоторых компьютерах оно работает, на других - нет.
  • велась борьба с Embedded controller.
  • реализация throttling поддержки.
  • Огромный вал баг-репортов: например, было получено 500 - 1000 баг-репортов. 100 - 200 баг-репортов мы прорабатывали в несколько заходов. 10 - 20 тестеров помогали с отладкой в течение десятков часов.

Материнские платы: а BIOS, ACPI точно готов?

Отдельно нужно напомнить,

  • считаем, что в те годы, 2005 - 2008 .. производители ноутбуков, производители мат.плат еще отлаживали ACPI поддержку в своем оборудовании. После выпуска любой матплаты - посмотрите - выходило по 10 обновлений биоса (получается, что и ACPI таблицы могли обновлять).
  • также к каждому компьютеру прикладывался свой ACPI драйвер на CD. (chipset driver + свой видеодрайвер), - т.е. считаем, что в Windows всё работало с костылями.

(этот аргумент спорный, хотя вспомните про Thinkpad T60).

Влияние на все внутренности OS/2

Разработка ACPI драйвера ре-анимировала OS/2 изнутри.

  • пришлось обновлять, переписывать 10-20 системных драйверов. (клавиатура, мышь, com-порт, таймеры, ..)
  • пришлось вносить взаиомодействие с ACPI в сетевые Ethernet драйверы
  • взаимодействие с видеодрайвером Panorama VESA
  • драйвер SATA, IDE контроллеров Danis506, OS2AHCI
  • Пришлось пере-писывать USB драйверы, т.к. часто загрузка ОС останавливалась на USB. (исходные коды не были доступны)
  • пришлось исследовать системный загрузчик, написать загрузчик заново (исходные коды не были доступны)
  • пришлось исследовать поведение ядра OS/2 (исходные коды не были доступны), восстанавливать исходные коды ядра.

Таким образом, "каменный дворец OS/2" ожил и началось движение.

Ограниченный бюджет:

  • В первые годы мы работали без зарплаты. Заключались короткие договоры, сделки. Есть список задач на месяц - удалось согласовать вознаграждение такое-то. А раз проект был сложным, то все сроки сбивались, для достижения цели приходилось работать не 1 месяц, а 2 месяца или 3. Итого, разработчик мог работать за 200$ в месяц, за 500$. (сравните со своей зарплатой. нам нужна была такая же зарплата, как у вас, 3000$ - 5000$) Режим работы: 24/7, в 03:00 часа ночи, в 10:00, .. в 16:00, ..

    Далее, обозначение:

    N-1: [Это неточная информация. у нас 0 информации о том, что там происходило на самом деле. это конфиденциальная информация. мы никогда не обсуждали этот вопрос с кем-либо]

  • Вообще, доходы от продажи eComStation уходили в 1 направлении: в бюджет компании Mensys. [N-1] С другой стороны, наверное, Mensys должна была выплачивать огромные суммы по договорам с корпорацией IBM. [N-1]

    В основном, разработка eComStation велась на спонсорские средства. Да, естественно, часть заказов, которые мы выполняли, оплачивала Mensys. Т.е. Mensys ре-инвестировала живые деньги в разработку eComStation.

    Проект eComStation - не было отдельным отделом, не было отдельной компанией. [N-1] Даже Roderick Klein и Joachim Benjamins (управляющие проектом eComStation со стороны Mensys), не получали % от продаж eComStation. [N-1] Они в течение рабочего дня выполняли в Mensys работу по продаже софта, отвечали на телефонные звонки, письма общих клиентов Mensys. Параллельно вели работу над eComStation. [N-1]

  • Например, у нас не было возможности покупать оборудование. Вся отладка выполнялась удаленно. В первый момент было куплено два новых ноутбука с Core 2 Duo процессорами.

    Сейчас, если посмотреть назад, то надо было прокручивать, например, по 20-30 матплат в месяц. У нас было 0.

  • Никаких гарантий, что нам оплатят разработку, не было. Срок жизни проекта: 30 дней. Поэтому качество кода было рассчитано на 30 дней.

Гибель была неминуема

К 2013 году накопилось много проблем:

  • мы потеряли нашего украинского разработчика. [будет открыто после 2030-го года]
  • Кризис 2008 года повлиял на компанию Mensys, к 2013-ому она потеряла eComStation.
  • Общая усталось от работы над OS/2 за 10 лет. Измотанность в проекте ACPI, т.к. разработка велась на истощение несколько лет.

Какое влияние ACPI оказало на OS/2 в итоге?

  • Простые пользователи OS/2 получили поддержку мульти-ядерности. До этого, (давайте считать так), что в OS/2 она была только для настоящих дву-процессорных серверов. (А главное, требовала покупки доп.лицензии за сотни баксов).
  • началась борьба за экономию энергии (холостые циклы, если нет нагрузки). До этого, считаем, что было недоступно (было примитивным).
  • Была собрана огромная база данных о поддерживаемом оборудовании. http://os2.guru/hardware

Следующий разработчик

С 2016, 2017 года разработку ACPI продолжает другая компания

  • Мы полностью признаем профессионализм разработчика David Azarevich, т.к. он уже имел опыт разработки серьезных программ, драйверов для какого-то оборудования.
  • Для David английский язык - родной. значит корректно интерпретирует техническую документацию на ACPI, на OS/2, на x86 компьютер.
  • новому разработчику уже стали доступны исходные драйверы всей этой эко-системы.
  • уже всё поле ACPI и OS/2 было вспахано. Все исследования проведены.
  • Уже можно было сформулировать более чёткие цели. Отказаться от широкого бесконечного фронта, а сконцентрироваться на определенных направлениях. На отладке последних проблем.
  • Часть функциональности ACPI драйвера наверное была отброшена (?)
  • Уже выделяются другие бюджеты, гарантированная оплата труда на несколько месяцев вперед.
  • по какой-то причине у нового разработчика была возможность отлаживать драйвер на десятках разных мат.плат.

Наши ошибки

  • Mensys совершили ошибку, что начали общаться с разработчиком напрямую.
  • разработчик должны знать англ.язык на 100% для чтения техн.док.
  • не было бюджета на тестовое оборудование.
  • нельзя было обслуживать любые компьютеры. надо было сконцетрироваться на 1 модели компьютера (были попытки в этом направлении), но надо было принять жесткое решение.
  • Ошибка eCo Software: просто перерабатывали баг-репорты. А нужно было всё отбросить и вернуться к исправлению базовых дефектов.

Заключение

Никто другой не мог выполнить этот проект в те годы.

Кто-то должен был "пройти по минному полю и отдать свою жизнь, чтобы спасти остальных". ------


ACPI проект реанимировал OS/2
и дал импульс, который мы чувствуем и сегодня, в 2025-ом году.

1) 
2) 
3) собрана огромная БД с отчетами
про оборудование
4) утилиты всякие: ACPI Manager, widget Temperature, ..


--------

таким образом,
получается, что eCo Software работала в основном за идею. 
на благо OS/2 сообщества.
Более того, основная часть дохода была опять вложена в OS/2, 
вот почему мы смогли создать еще несколько крупных 
программных продуктов  с 2005 по 2015.


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

PMView работает у тебя уже несколько лет. Имеет смысл вознаградить разработчика полезной программы (+присылай предложения и баг-репорты).

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

Много ли программ в eComStation? В каталоге eCo Market - более 160, в онлайн каталоге APeCS - более 1200, ecsoft2 - более 1600, на хоббесе - более 10 000

 


 

(C) OS2.GURU 2001-2025