Next revision | Previous revisionNext revisionBoth sides next revision |
ru:docs:general:index [2013/03/11 17:12] – created valerius | ru:docs:general:index [2014/06/12 20:17] – [osFree Whitepaper] valerius2k |
---|
==== Общая концепция построения osFree ==== | ===== osFree Whitepaper ===== |
| |
| {{logos:fiasco.png?35}}{{logos:os2.gif?35x35}}{{logos:dos.gif?35x35}}{{logos:win16.gif?28x35}}{{logos:win32.gif?28x35}}{{logos:linux.jpg?35x35}}{{logos:java.gif?35x35}} |
| |
=== Сравнение проектов по созданию клонов OS/2 === | Проект osFree нацелен на создание операционной системы, поддерживающей OS/2-совместимую personality как базовую. Мы использовали следующие принципы в нашем исследовании и разработке: |
| |
^Название ^Ресурс ^Кратко ^ | * Удобство в использовании |
|osFree |[[http://www.osfree.org/]] | ОС на микроядре с наличием OS/2 Personality и использованием основных технологий OS/2 | | * Расширяемость |
|Voyager |[[http://voyager.netlabs.org/]] | Совместимость с OS/2 на уровне WPS | | * Открытость |
|OS2Linux |[[http://sourceforge.net/projects/os2linux/]] | Библиотека для перекомпиляции программ OS/2 на Linux (Фактически - LibC) | | * Простота |
|NuDawn |[[http://sourceforge.net/projects/nudawn/]] | Аналог Wine, но целью стоит эмуляция OS/2 | | |
|FreeOS |??? | Проект по созданию клона OS/2. Не вышел за пределы обсуждения. | | |
|ReactOS |[[http://www.reactos.org/]] | Проект по созданию клона Windows NT. Одна из подсистем - ROS/2 - поддержка OS/2 Personality | | |
|OS64 |??? | Цели и задачи неизвестны, заявлено о какой-то связи с OS/2 | | |
|OS8/FreePM |[[http://wiki.laser.ru/os8]] | Проект FreePM и подборка информации по прочим технологиям OS/2 | | |
| |
=== osFree и связь ее с другими проектами === | В результате, мы имеем следующие соображения: |
| |
Проект osFree обладает ограниченными ресурсами, поэтому при разработке часто используется принцип "Возьми о адаптируй". | * использовать [[wiki>IBM_Common_User_Access|CUA]] для удобства и визуальных стандартов интерфейса (см. IBM [[wiki>IBM_System_Application_Architecture|SAA]] [[wiki>IBM_Common_User_Access|CUA]]) |
| * использовать принципы ООП и модульности на основе использования микроядра и SOMб вместе с бинарной совместимостью с существующими компонентами для Расширяемости |
| * Документированность и Open-source для Открытости |
| * Все вышеперечисленное для Простоты |
| |
^Часть ОС ^Исходный репозиторий ^Причина доработки ^ | |
|Загрузчик |GRUB Legacy |Обеспечение поддержки технологии IFS | | ==== Общий дизайн ==== |
|Ядро |DROPS |Основа для построения Personality neutral servers | | |
|REXX |ReginaREXX/OOREXX |Поддержки скриптовых языков | | Мы предполагаем использовать некоторые, или большинство принципов построения, на которых была основана OS/2 PPC, с некоторыми уточнениями. Поскольку поддержка OS/2 является нашей первичной целью, то, конечно же, мы предполагаем использовать в готовом виде большинство OS/2 технологий. |
|PM |FreePM |Доведение до минимально работоспособной версии | | |
|SOM/WPS |Voyager |"Обратная" адаптация к PM с сохранением совместимости | | В основе системы, мы собираемся использовать микроядро L4 как базу системыы. Поверх L4 мы планируем построить следующие OS personalities (индивидуальные ОС): |
|GNU/Linux Personality |L4Linux/Afterburner/GNU/Debian |Прямое использование кода | | |
| * Нейтральную personality |
| * OS/2 personality |
| * Linux personality |
| * DOS personality |
| * Win16 personality |
| * Win32 personality |
| |
| **[[en:docs:general:neutral_personality|Neutral personality]]** это базовое ОС API. Это набор серверов и библиотек, предоставляющие разные сервисы. Все другие personalities построены поверх Нейтральной Personality. Скорее всего, многие API нейтральных сервисов будут использованы почти в готовом виде (в виде простых врапперов). |
| |
| **[[en:docs:general:os_2_personality|OS/2 personality]]** должна предоставлять полное (или подмножество) OS/2 API. На первом этапе мы собираемся разработать базовые 32-бит API. |
| |
| **[[en:docs:general:linux_personality|Linux personality]]** должна предоставить полную функциональность ядра Linux. Linux в данный момент является одной из mainstream OS. Она представляет собой инструментальную среду. которая предоставляет множество утилит для разработки, библиотек и приложений, и мы собираемся использовать Linux как одну из главных платформ для разработки. Для этого мы собираемся использовать результаты проекта L4Linux. |
| |
| **[[en:docs:general:dos_personality|DOS personality]]** должна предоставлять функциональность DOS. DOS поддерживалась оригинальной OS/2 и она до сих пор используется многими. Мы не собираемся тратить слишком много сил в этом направлении, поэтому мы возможно, воспользуемся наработками других проектов. накпример QEMU, DosBox, DosEmu, FreeDOS. |
| |
| **[[en:docs:general:win32_personality|Win32 personality]]** должна предоставлять частичный или полный набор Win32 API. Windows это тоже одна их mainstream OS и мы тоже не можем игнорировать ее присутствие. **Если** получится пара-виртуализировать ReactOS (есть идея насчет написания HAL-а, работающего поверх l4env/l4re), то мы этот результат используем для поддержки Win32 API. В противном случае, будут использованы результаты проекта WINE. |
| |
| При желании, вы можете сюда добавить нужную вам personality. |
| |
| На данный момент, мы закончили выбор файловой системы и процесса загрузки. Мы используем готовую, традиционную для OS/2, концепцию IFS. Наиболее заметное отличие от обычной OS/2 это отсутствие MiniFSD (как это было в OS/2 PPC) и 32-битный главный IFS драйвер. Более подробно о процессе загрузки можно прочитать здесь: [[en:docs:boot:index|Руководстваа по процессу загрузки]]. |
| |
| Для общих указаний по разработке см. [[en:develop:guidelines|Справочник для разработчика]]. |
| |
| ~~DISCUSSION~~ |
| |