ФЭНДОМ


Разработка osFree должна делиться на несколько крупных этапов – от базового функционала с поддержкой командной строки к полнофункциональному работоспособному Workplace Shell. Текущее состояние проекта помечено жирным шрифтом.

Расшифровку аббревиатур см. здесь и здесь.

Статус готовности различных компонентов

Поддержка файловых систем

Filesystem MicroFSD MiniFSD IFS Utility DLL
FAT12/FAT16 Yes Yes No No
FAT32 Yes Yes No No

Задачи

Небольшие

  • Разработать утилиту командной строки для osFree DOS Personality
  • Продолжить улучшение утилиты командной строки
  • Изменить COMP CLT, для приведения к совместимости к оригинальной утилите OS/2
  • Портировать исходный код PING на OpenWatcom и интегрировать в систему сборки
  • Портировать исходный код TRACERTE на OpenWatcom и интегрировать в систему сборки
  • Написать утилиту EAUTIL
  • Добавить ключ /S для команды TIME (CMD.EXE)
  • Собрать документацию из частей, используемых в osFree
  • Заменить all_getopt кодом с лицензией osFree вместо GPL-кода (для предотвращения проблем с лицензией)
  • Улучшить утилиту mkmsgf от hobbes

Крупные

  • Спроектировать и написать Personality Neutral server
  • Спроектировать и написать OS/2 Personality server
  • Реализовать библиотеки DOSCALLS с использованием серверов и библиотек DROPS
  • Написать LVM2 front-end (Backport с Linux)
  • Написать утилиты BACKUP/RESTORE
  • Написать более сложный динамический компоновщик / загрузчик. Переместить части ld пакета в загрузчик. Интегрировать LX загрузчик by Viking в динамический загрузчик и улучшить его. Требуется для загрузки исполняемых файлов OS/2.

Этапы пути к версии 1.0

0.1

К этой версии, в основном, должна быть завершена реализация CPI. Поддержка 16-битных API на данном этапе не требуется. CMD.EXE и прочие утилиты должны быть пересобраны для получения полностью 32-битных приложений (т.к. на данном этапе требуетcя только совместимость на уровне исходного кода).

Версия Требования Статус
0.0.1 должна работать загрузка L4 при помощи GRUB и запускаться “Hello, world”. “Hello, world” имитирует “ядро” osFree. Готово.
0.0.2 Должна быть завершена основная поддержка EXT2FS и рабочая последовательность загрузки. На данном этапе мы должны избавиться от GRUB и заменить его собственным загрузчиком. 16-битным MicroFSD (OS/2-совместимым) и 32-битным IFS (не OS/2-совместимым). MicroFSD должен загружать и запускать FreeLDR. FreeLDR запускает ядро L4 и "корневую задачу" (root task) (имитирующую ядро osFree). LILO на данном этапе не требуется для EXT2FS. Готово.
Замечание: Поддержка MiniFSD отсутствует, т.к. она не требуется для загрузки L4.
0.0.3 “Ядро” osFree должно считывать и обрабатывать CONFIG.SYS, используя file provider (на данном этапе пока не нужна реальная загрузка драйверов) и отображать дерево настроек. Готово.
0.0.4 LX-загрузчик и компоновщик исполняемых модулей (с использованием file provider-а). “Ядро” osFree должно загружать и запускать приложение, указанное в PROTSHELL. Готово.
0.0.5 Реализация файловых API. LX-loader должен запускать задачу MINICMD.EXE, используя L4VFS. Должен быть реализован минимальный набор API. Все операции с указателями должны быть заменены хендлами (нужен диспетчер хендлов). Сервер OS/2 должен стать более структурированным. Поддержка обычной для OS/2 раскладки адресного пространства. Разрабатывается
0.0.6 Разработка VIO-сервера. VIO API (32-битная версия, на основе VIO сервера). Работа через l4 console вместо вывода на log server. Консоль на основе nitpicker (написать сервер типа proxygon). Не готово
0.0.7 Разработка KBD API (32-битная версия) Не готово
0.0.8 Параллельное выполнение нескольких приложений. Многонитевые приложения. Не готово
0.0.9 OpenWatcom и утилиты для сборки должны быть пересобраны в виде 32-битных приложений (не должно быть зависимостей от 16-битных API). (LX формат) Не готово
0.0.10 CMD.EXE должен быть собран под osFree и все нужные CPI должны быть реализованы. (LX формат, только 32-bit API) Не готово
0.0.11 Сборка osFree под самой osFree. (LX формат, без 16-бит API) Не готово
0.0.12 Open Object REXX должен быть портирован на osFree. (LX формат, без 16-бит API) Не готово

0.2

Должна быть реализована поддержка 16-бит API.

Версия Требования Статус
0.1.1 Должна быть реализована поддержка 16↔32 thunking Не готово
0.1.2 16-битные обертки 32-битных API Не готово
0.1.3 Поддержка ELF формата Не готово
0.1.4 Поддержка формата NE Не готово

0.3

Поддержка SOM и SOM toolkit. (Повторное использование кода somFree, не включенного в ветвь osFree)

Версия Требования Статус
0.2.1 SOM Compiler Watcom Linker Emitter Готово
0.2.2 SOM Compiler Preprocessor Готово
0.2.3 Необходимо реализовать SOM Compiler C Emitter (встроен) Готово
0.2.4 Необходимо реализовать SOM Compiler C++ Emitter (встроен) Готово
0.2.5 Необходимо реализовать Emitter Framework classes Разрабатывается
0.2.6 Необходимо реализовать SOM Compiler Готово
0.2.7 SOM обертка для CPI (CPI+) Не готово

0.4

Поддержка GPI (Пока без SOM)

0.5

Разработка PM (PM на основе SOM???)

0.6

Разработка WPS

0.7

Сетевой стек

osFree
План работКомпонентыИспользуемые проектыЭкраныFreePML4Скриншоты

Помощь

Получение исходных кодовСборкаОтладкаОтправка отчетов

Сообщество

IRC

OS/2

Presentation ManagerIFSПетиции к IBM