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

 
Гаджеты

 

Репортаж с DWS2007


TITLE: Репортаж с DWS2007

DATE: 2007-07-07 12:20:34

AUTHOR: eCo Software

(Репортаж будет дополнен комментариями и фотографиями в течение июля)

В этом году конференция Developers Workshop проходит в Амстердаме (столица Голландии). В первый день конференцию посетило около 30 разработчиков (в основном это голландские и немецкие разработчики программ для eComStation)

Utilizing Multi-Core processors -- Keith Merrington

Напоминает об истории процессора. Intel 8086 в 1978..

  • 1987 - OS/2 родилась и preemtive multi-tasking support
  • 1993 - SMP (symmetric multiprocessing), 16 процессоров
  • 1996 - 64 процессора в WSeB
  • 2007 - eCS 2.0 с поддержкой мультиядерных процессоров

Зачем треды нужны? для повышения производительности, если нужно ..

Раз мультиядерные процессоры, значит Все программы сегодня должны быть мультипроцессорными.

В PM программах, чтобы посылать сообщения из второго треда - WinPostMessage.

Показывает пример мультитредовой PM-программы, где второй тред пишет на экран. Во втором цикле создает Object window. HWND_OBJECT. Оно невидимое, не принимает нажатия кнопок, ..

Дальше рассказывает о проблемах синхронизации и какие средства для этого существуют. (Event, Mutex (mutual exclusion), MuxWait)

  • Операции с Event - отправка, ожидание, сброс
  • и так далее

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

Дальше Mutex-семафоры.
Когда они нужны. Как защитить данные.

Symmetrical Multiprocessing SMP

Несколько фактов о том, как взаимодействуют два процессора в eComStation. Дальше примеры кода,

  • как узнать количество процессоров в системе.
  • DosGetProcessorStatus - проверка, включен ли он

Также напоминает об утилите MARKEXE (позволяет пометить программу, чтобы она работала только на одном процессоре); При сборке программы указывайте, что она мультитредовая.


Подведение итогов
Нужно писать программы, которые выжимают максимум из SMP. Нужен zip мультитредовый и т.п. Наша ОС поддерживает до 64 процессоров, в магазинах только мультиядерные компьтеры, конкуренты этого не могут. Мы самые крутые, нужно брать быка за рога.

Reading XML files with REXX -- Christian Langanke

Предлагается обсудить вопросы: Нахрена это нужно, какие наработки уже есть, REXXXML - за и против, stem, пример парсинга, текущие ограничения, что планируется сделать.

Чтение из XML файлов нужно нужно чтобы:

  • для загрузки сложных конфигов в REXX-программу
  • позволит обмениваться сложными структурами данных между скриптами
  • можно будет загружать данные из файлов в формате OpenOffice.org

Уже доступны средства:

  • Код для парсинга XML
  • REXXXML - libxml API

В REXXXML очень качественно сделан REXX API, полностью реализован libxml API (все фичи), очень хорошая документация (в том числе основы REXX, XML, DTD, XML Schema)

Но есть и проблемы: libxml API нестандартный для REXX. XML-данные загружаются в бинарное дерево DOM и там есть несколько проблем.

Кристиан думает о том, что нужно сделать по-другому. Все должно быть сделано так, как это принято для REXX-либ. Главное, чтобы пользоваться либой было просто.

Теперь напоминает о том, что такое stem'ы и как ими пользоваться. Напоминает, как выглядет XML-файл (данные уложены в иерархические пространства имен). И теперь идет пример, как можно засунуть этот XML в stem.

Дальше примеры парсинга XML-файлов. Чтобы парсить, вызываем одну функцию на рексе, результат на фото:

Конечно, есть ограничения в самом рексе.. Планы на будущее: Должна быть и запись XML, должна быть возможность пополнять стем.

Обед

Столы с едой быстро опустели. В принципе, работать уже не хочется, можно идти спать..

Managing Sets of Program Resources -- Christian Langanke

Это всего лишь предложение и нужно продолжать обсуждение этой темы.

Сегодня ресурсы для PM-программ хранятся в DLL'ках. Отдельно может лежать графика, хелп. Либо можно использовать механизм TMF (Text Message File) из Workplace Shell Toolkit. Существуют и другие способы хранения ресурсов. И главное, каждая программа пользуется разными средствами.

Вопросы, которые интересуют Christian - как выбирать нужные ресурсы?

Обычно программа при старте выбирает язык для пользователя, какие графические ресурсы загрузить, проверяет регистрационный ключ (и в зависимости от этого загружает легкую демо или полную версию)

Предлагается обратить внимание на Apache MultiViews для автоматического выбора между вариантами ресурсов. Термины: Resource Variant, Resourсe Dimension, Preferences List. Примеры Preferences List - смотри хидеры в HTTP-страничках.

Дальше показан пример, как веб-браузер автоматически получает html на языке, которые понимает пользователь.

Детально рассказывает о том, что такое набор ресурсов (Resource set). Файлы могут быть в любом формате и декодируются Resource Set Decoder.

Также даются примеры прототипов функция для определения Resource dimension (т.е. языковой измерение, лицензионное измерение, хелповая измерение). Дальше программа укажет x,y,z и получит нужные ресурсы по этой координате.

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

Introduction to NOM -- Chris Wohlgemuth

Разрабатывается уже 2 года для OS/2.

Главные требования: release-to-release binary совместимость. Расширение без перекомпиляции. При расширении другому разработчику не нужны сорцы исходного класса, он получает описание интерфейса. Это хорошо для коммерции. Возможность заменять классы. Предлагает также несколько манипуляций с классами, которых нет в С++, ObjectiveC.

Все это даст портабельность и расширяемость.

Текущее состояние: компилятор, сборщик мусора, библиотеки классов в стадии разработки.

Как писать классы? Создайте IDL-файл, скомпилируйте, добавьте C-код.

Также рассказывает о возможности выбрать в программе версию класса.

Дальше показывает сорцы и детально описывает, что происходит и как оно все устроено.

Коллектор мусора
вся память, на которую нет ссылок - освобождается. и т.д.

Самая вкусная фича NOM - возможность проверки указателя на объект. Как известно, разработка WPS программ очень сложна в отладке. Разработчик сможет передавать функциям не указатель на объект, а GetClass(указатель на объект), который позаботиться о корректных указателях.

Будущие планы.

Интерфейс пользователя в eComStation -- Eugene Gorbunoff

описание отсутствует.

A freely programmable USB-interface for eCS -- Uwe Hinz

На примере девайса: DLP-USB245M (термометр?!)

Рассказал о том, как перехватывать USB-трафик, USBECD.SYS драйвер. Какие инструменты Windows помогают разобраться с программированием USB в eComStation. Удобно, что есть REXX-интерфейс и можно писать программу управления USB на REXX.

Как создать популярную программу -- Eugene Gorbunoff

описание отсутствует.

VirtualBox -- Adrian Gschwend

Есть версии для eComStation, Windows, MacOSX, Linux. Производительность везде примерно одинаковая. Фронтд-энд написан на Qt-тулките (dmiq).

Понятно, что VirtualBox самый-самый крутой, самый гибкий,.. Ядро машины платформо-независимое, область применения

VirtualBox умеет snapshot (запись/сохранение сеанса), шаред фолдерс. Сеть: NAT или TUN/TAP, поддержка PXE, поддержка VDI, VMDK,

В машину встроен RDP-сервер. Можно пользоваться USB через RDP.

Innotek сделала машину для Федеральной разведывательной службы Германии Bundesnachrichtendienst, есть две версии VirtualBox: коммерческая (бесплатна для персонального использования) и бесплатная опенсорсная.


слева направо: Knut, Adrian Gschwend, Dmitry Kuminov

Машина рекламируется, как сверхустойчивая, если происходит трап гостевой системы, то хост продолжает работать.

Дальше подключился Dmitry Kuminov и продемонстрировал работу гостевой Windows XP.

Управление машиной можно выполнять через командную строку, Скрипты для создания и управления - все объектный код (COM/XPCOM). Можно сохранять snapshot с помощью скрипта.

Qt toolkit -- Dmitry Kuminov

Дмитрий показал примеры программ, созданных на базе Qt и работающих в среде eComStation (PIS/2, SIM, ..) Cornelis сделал внешний нативный вид для Qt программ.

Qt 3 поддерживается в eCS, а Qt4 нету. Это не проблема, т.к. программ на базе Qt3 намного больше. Конечно, Qt тулкит очень удобный и мощный. Он коммерческий, мультиплатформенный и развивающийся.

Очень легко написать первую программу. 5 строчек кода, и окно с кнопкой готово. Подробно описал, как установить Qt среду на свой компьютер. При запуске утилит вызывайте через скрипт qt.cmd, который устанавливает переменные окружения. (хмм, может быть имеет смысл переименовать в qt-set-var.cmd, а то новички не поймут)

Будущая ОС -- Yuri Proniakin

Показал схему микроядерных ОСов K42 и L4, какая схема у OS/2 сегодня. И какая может быть (везде драйверы).

Напомнил, что 16-битные программы идут лесом, 16-битные драйверы и компоненты не оторвать. Предлагает взять IBM K42 ядро и реализовать "драйверы" для совместимости с OS/2.

Voyager -- Adrian Gschwend

Напомнил историю Voyager. Chris работает над NOM, думают портировать GTK+.

Планируют выполнять разработку вояджера в eComStation, но поддерживаться будут разные платформы (Win, Lin), потому что это важно.

Для вояджера ищут новое ядро. Некоторые участники проекта не хотят связываться с Linux.

Сегодня есть
NOM (SOM), Voyager Desktop (WPS), Cairo (GPI/GDI), GTK+, Triton (хмм)

Конечно, система должна быть безопасной, на базе OpenGL, бла-бла-бла..

Команда Voyager накопила документы от IBM (из журнала ACM), разные документы от IBM'еров. Т.е. уже можно создавать новый рабочий стол.

Показывают старые картинки.. старые схемы классов вояджера. NOM очень крутой, удобно отлаживать программы, есть сборщик мусора. В настоящее время разрабатывают новые WPS-классы. Предупреждают, что это не vaporware, а все реально.

Дальше нужно определить дату выпуска первой версии Voyager 1.0.

Дальше рассказывает про подсистемы. Cairo - PDF, мощный, современный. Текущая версия Cairo существует, но медленная.

Теперь о текущем состоянии GTK+ Toolkit. Лицензия LGPL позволяет его прилинковыват, поэтому это интересно для коммерческих продуктов.

Triton - мультимедия-подсистема, аналог IO-Procs. Цели проекта, текущий статус.

Обещают бинарную совместимость с OS/2. Пока что предлагают VirtualBox, где будут аддишенсы для гостевой OS/2. (Замечание: Mensys финансово не поддерживает проект Voyager, но предоставит своим клиентам образ виртуального диска с eComStation)

Что нужно пользователям, чтобы они перешли на Voyager? DOS*, Mou*, KBD*, VIO API, LX Loader уже есть, GRADD driver для OpenGL бэк-энда. И т.д.

По поводу лицензий - GPL идет лесом. Как говорилось в докладе про NOM, программы могут расширяться без необходимости смотреть исходные коды. Решили, что лицензия на Voyager будет LGPL/CDDL.

Что дальше? Первые сорцы доступны для eComStation.. В WinXP и Lin никого..

Adrian обещает обновить сайт www.netlabs.org, работает ftp, SVN, ..

Рынок для Voyager - Азия и Восточная Европа.

(хмм, каждые пять минут призывы: нам нужны деньги на реализацию этого проекта, нам нужна ваша помощь)

 


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

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

Как создать зашифрованный диск? NDCrypt - плагин для NetDrive.

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

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


Ваше имя:

Ваш E-Mail:

CODE:
......

  

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


Итак, eComStation установлена, но нет времени научить дочку/бабушку работе с компьютером? Вот LiveBook - распечатай и отдай новому пользователю.

Статьи

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


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

 





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

IBM OS/2 Warp

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

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

 
Статьи


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

 

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