OS Free Вики
Advertisement

Разработка 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
Advertisement