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

Reviews / articles about OS/2

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

Unsorted

 

 

Обновите ArcaOS до уровня NeoWPS

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

OS/2 в лаборатории


TITLE: OS/2 в лаборатории

DATE: 2002-10-04 11:30:29

AUTHOR: Evgeny Kotsuba

Список решений, основанных на eComStation и OS/2

Типичная лабораторная установка
Обычный лабораторный компьютер

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

Само-собой разумеется, что разработчику ПО нет никакого смысла делать для тестовой задачи навороченный графический интерфейс, создавать сложные структуры данных и т.п. Быстро разобраться с сигналами, быстро , "на коленке", написать и отладить тест....

Что обеспечивает успех использования OS/2 в описанной выше ситуации:

  • Простота общения с портами ввода-вывода
  • Относительная простота написания 16битных драйверов
  • Высокая надежность HPFS, переживающего выключение питания и прочие приключения, отсутствие необходимости держать под рукой утилиты типа NDD
  • Переносимость винчестера с OS/2 c одного PC на другой. (имеет достаточно большое значение в условиях маленькой психиатрической лечебницы, i.e. лаборатории со своими волшебниками паяльника и рубильника . Может сдохнуть мама, процессор, память, порты ввода-вывода и т.д. Впрочем, винчестер тоже может сдохнуть. )
  • Хорошая многозадачность. В том числе в случае при использовании разными задачами портов ввода-вывода (команды обращения к портам ввода вывода , в отличии от всех других команд процессора , не имеют ускорительного эффекта от попадания в кеш процессора)
  • Простота интегрирования в сетевое окружение
  • Возможность использования пайпов для работы клиент-серверных приложений, что дает возможность как много-машинного управления, так и для эффективной отладки. (Отладка графического интерфейса в многониточной программе реального времени, да еще котороая из всех ниток обращается к портам ввода-вывода, - весьма проблематичное занятие)
  • Отсутствие вирусов и прочих приключений, свойственных MS-WinXXX
  • Замечательной совместимостью с DOS-программами, в том числе с теми, которые используют ввод-вывод через порты. Для дос- разработчика получаются идеальные условия для работы: многозадачность, легкая убиваемость повисшей дос-задачи и т.п. В настоящее время это почти не актуально.
  • Наличие нормальной командной строки и интерфейса командной строки, наличие которого неведомо нынче многим программистам от MS-WinXXX, наличие REXXа и легкость написания скриптов на нем.
  • Наличие нормального графического пользовательского интерфейса, позволяющего:
    • иметь несколько видимых одновременно текстовых (консольных) окон. Через некоторое время обычные пользователи (научно-технические сотрудники, слегка оболваненные интерфейсом WinXXX) начинают лихо открывать по 10 черных консольных окон с бегущими строчками напряжений с разных каналов и управлять устройствами без помощи мыши кнопками клавиатуры).
    • использовать графику для быстрого и эффективного анализа данных, в том числе очень больших для пакетов StarCalc (из StarOffice) или Exel (десятки тысяч строк данных) для чего используем gDiagramm
  • Консервативностью версий OS/2 в хорошем смысле: новые версии системы сохраняют API от прежних версий. Программы, в том числе графические, написанные для OS/2 v2 до сих пор работают под всеми следующими версиями OS/2 и наоборот, программы написанные и отлаженные под eCS или "Авророй", если они не используют новое API (например, работу с файлами с размером более 2Gb) будут работать и под OS/2 v3.

Для общения с портами используем либо 901-байтовую IOPL32.DLL от Рината Сатретдинова или описанный им же способ использования SDD.

С какими устройствами я лично работал (и об этом помню):

  • Управление дискретным вводом/выводом: ISA платы L-208, L-154, PCL-724, PCL-730, PCI платы : PCI-7224 , PIOD-24
  • Внешние таймеры: ISA платы L-208, L-154 , PCI платы : PCI-7224, PIOD-24
  • Управление ЦАПами/АЦП: ISA платы L-208, L-154
  • Платы управления движением: PCL-832(Advantech),
  • DSP: ADI 2185 в составе PCI плат L-780 и L-761 (дискретный ввод-вывод, ЦАП/АЦП,32K слов память программ + 32K память данных, таймеры, прерывания, прямой доступ в память DSP из PC, программирование на С etc.)
  • устройства на COM-порте - любые устройства, общающиеся по COM-порту: от модемов, свитчей, мини-АТС до контроллеров, работающих на PIC'ах
  • устройства на LTP-порте - самые различные устройства, которые управляются или выдают дискретные TTL сигналы (0 и 5 В), например можно сделать
  • управление шаговым двигателем от LPT (использовалось 4 сигнала, выдача в порт производилась с базовой частотой около 500Гц, при частоте порядка 2кГц переставал работать двигатель. Эффект переключения задач наблюдался, но был обойден простым поднятием приоритета управляющей нитки).
  • термометр DS1820/DS1822 на LPT: DS1820 для простоты сажается на 2 выходных и 1 входной разряд, в принципе могут сажаться много устройств на один сигнал (вход-выход) и землю. Выдает от 9 до 12 бит с дискретностью от 0.5?C до or 0.0625?C и с рабочей температурой от -55?C до 125?C, На фото сам термометр не видно - закрыт белым кембриком, провод тоже выбран помощнее. Подобное устройство можно возить вместе ноутбуком и измерять температуру воздуха и неагрессивной жидкости в практически произвольных условиях и устройствах .
  • сканаторы на LPT. Это так сказать, экстремальный случай. Сканатор - это высокоточное устройство для премещения лазерного луча в пространстве. Координаты задаются в виде 16 разрядов, еще 3 разряда используется для управления. Потенциальная скорость работы сканатора ограничивается его электроникой и не может быть менее длительности строба 0.5 мкс на точку. Реальная скорость сканатора ограничивается механикой, но тем немее требования технологии требуеют выдерживать и более-менее плавно менять длительность здержки. При использовании двух ISA-LPT портов достигается общее быстродействие порядка 7мкс на точку , а дискретность изменения задержки - порядка 1мкс (достигается посредством выполения inp из порта состояния LPT). Кстати, при использовании L-780 эти цифры составляют примерно 1мкс и 0.033 мкс.

Что касается реального времени. Конечно, для использования в системах "жесткого реального времени" OS/2 не предназначена by design. Но. С одной стороны - указанные выше милли- и микросекунды реально работают. Справедливости ради надо сказать, что работают они в системах не сильно критичных ко времени. Например, если один раз из миллиона вместо задержки 7мкс будет задержка 70мкс, то ничего страшного не произойдет. С другой стороны, основные проблемы с переключением задач возникают при длительных дисковых операциях, поэтому установка PRIORITY_DISK_IO = NO должна делать OS/2 системой "почти жесткого реального времени". Ну и самое главное - "жесткое реальное время" должно обеспечиваться не на уровне PC, а аппаратно и программно-аппаратно, на уровне общающихся с PC контроллеров. А в PC нет для этого достаточных аппаратных средств.

Дополнительная информация об оборудовании:

Платы

Производитель, поставщик, комментарии.

ISA: L-208,L-154

PCI: L-761,L-780

L-Card. Разработчик и производитель плат расширения для PC и других изделий для сбора данных и управления. Нормальная документация, драйвера, примеры, исходники. По досовским, линуксовским исходникам и документации можно разобраться. Нормальная поддержка - разработчики пинаемы и отвечают на вопросы.

ISA: PCL-724, PCL-730, PCL-832

Производитель: Advantech

Поставщик: ProSoft

Документация и примеры для дос достаточны для того, чтобы самостоятельно разобраться. Поддержка в Prosoft пинаема до некоторых пределов, до каких могут быть пинаемы дилеры; компания предпочитает иметь дело с крупными клиентами.

PCI: PCI-7224

Производитель: Adlink

Документация достаточна для того, чтобы самостоятельно разобраться.

PIOD-24

Производитель: ICP DAS

Документация достаточна для того, чтобы самостоятельно разобраться.


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

Искать программы в интернете? Слишком долго и неудобно. eCo Market - можно скачивать софт без веб-браузера.

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

Kirov Igor
2002-10-10 13:59:55

Так как в основном организована работа с устройствами в/в - через драйверы или приложения работают непосредственно с портами?

Evgen
2002-10-11 04:10:11

В основном с портами. Драйвер у меня только один для пары плат, которые сидят на трех прерываниях, причем одно должно вызываться до 1000 раз в секунду, а у этой чудацкой платы буфер только на одну команду и по приходу прерывания надо быстренько записывать следущую

Игорь
2003-10-29 14:07:12

Оxередное упоменание о PCL-832. А в windows с этой платой имели дела?? Если да, то очень хотел бы пообщатся с Вами, так как в нашей лаборатории с этой платой очень много связанно, а она не работает долным образом!!

Игорь
2003-10-29 14:15:18

Ой я тут ошибся немного в адресе!! Если будет желание помочь можно написать на [e-mail]

Иван
2004-04-05 10:53:33

Добрый день, Евгений, не могли бы вы дать более подробную информацию по работе с DS1822 под LPT портом, а то возникла такая проблемка (правда под Виндой), но может есть что нибудь?

Пожалуйста.

http://syscarft.ru
2004-08-31 11:54:07

[url]

eComStation 2.0 работает быстрее (поддержка SMP x файловая система JFS) Что нового в eCS 2.0?

 


 

(C) OS2.GURU 2001-2021