eCo Software
не получает вознаграждение
из США

 
Обновление

 
Программы

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

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

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

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

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

 
История (1):

 
(Бонусы)

 
Советы:

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

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

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

 

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

 
Новая eComStation:

 
Будущее: (1)

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

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

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

 
Гаджеты

РЕКЛАМА: Обновите ArcaOS до уровня NeoWPS

  • Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
  • Установите eSchemes 2019, чтобы менять цвета и кнопки на рабочем столе

Разработка 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.
  • по всем сайтам ос2 велось обсуждение ACPI. собирали вручную баг-репорты, чтобы быстрее получить результаты во всех форумах мы сами всех приглашали..

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

T&V HappyPlayer - управление телеприемниками Brooktree 848/878

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

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


Ваше имя:

Ваш E-Mail:

CODE:
357664......

  

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


Как избежать потерю данных? a) не пользуйтесь старой версией JFS драйвера. b) Не пользуйтесь старым eCS CD1 (Если все-таки загружаете eCS 2.0 CD1, то откажитесь от его disk checker'а, т.к. он может повредить тома), Простые советы по сохранению JFS

Статьи

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


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

 





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

[Google]

IBM OS/2 Warp

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

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

 
Статьи


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