Разработка 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. | Готово. |
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 | |
---|---|
План работ • Компоненты • Используемые проекты • Экраны • FreePM • L4 • Скриншоты | |
Помощь |
Получение исходных кодов • Сборка • Отладка • Отправка отчетов |
IRC | |
Presentation Manager • IFS • Петиции к IBM |