Перейти к содержанию

OSFree FreePM

Материал из Русский WINE

FreePM - свободный аналог IBM Presentation Manager. С 2002 по 2009 был самостоятельным проектом. В 2009 году был поглощен osFree.

OsFree PM изначально был взят из проекта FreePM Евгения Коцюба. Т.к. проект давно не обновлялся, FreePM был форкнут. На случай, если Евгений вновь начнет работу над своим проектом, форк был переименован в osFree PM[1].

OsFree PM состоит из клиентской и серверной частей. Сервер работает на локальном хосте, обрабатывает аппаратные события и управляет клиентскими окнами и сессиями. Клиент работает на локальном и/или удаленном хосте и выполняет отрисовку на сервере экрана.

В настоящее время FreePM выводит сообщения о том, какие сообщения он получает в серверной и клиентской частях (сервер и клиент находится в отдельных исполняемых файлах). Обмен данными между сервером и клиентом проходит через именованный канал с определенным протоколом.

Драйвер PMDRIVER.DLL создает окно PM (с некоторым графическим оформлением) и отслеживает сообщения, которые он получает от него. При перемещении курсора мыши или изменении размера окна, сервер выводит сообщения об этом.[2]

Особенности FreePM:

  • клиент - серверная модель
  • минимальные промежуточные слои от приложения к аппаратным средствам
  • поддержка альфа-канала, сглаживания, теней, OpenGL у окон / уровней класса окон
  • поддержка (возможно) идентификаторов пользователя на уровне окна
  • поддержка нескольких и удаленных рабочих столов
  • поддержка не-прямоугольных окон (?)
  • улучшенный API, использование классов C ++ в API
  • поддержка "скинов"
  • прочное использование INI, поддержка очистки и резервного копирования INI, (?) текст INI
  • совместимость со старыми программами PM

Зависимтости:

WPS (планируется в версии 0.6)
|__PM (планируется в версии 0.5)
   `--GPI (планируется в версии 0.4)
      |__SOM (планируется в версии 0.3)
         `--VIO-сервер (планируется в версии 0.0.6)


OSFree
osFree Архитектура • План работ • Компоненты • Используемые проекты • Связанные проекты • Экраны • FreePM • L4 • Скриншоты
Загрузчик [ Последовательность загрузки: поток выполнения • изменение карты памяти ] • Загрузочный сектор • L4Ka::Kickstart
Personalities OS/2 personality VIO API • FamilyAPI
Win16 personality Win16API
MVM MVM API
Разработка Получение исходных кодов • Сборка • Отладка • Отправка отчетов
API TPCrt
Сообщество IRC • Новости проекта
OS/2 Presentation Manager • IFS • Петиции к IBM
Статьи Микроядро L4 как основа ядра ОС
Родственные проекты os2host32 • NeptuneOS