ru:docs:general:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ru:docs:general:index [2013/03/11 17:12] – created valeriusru:docs:general:index [2018/08/17 13:34] (current) – external edit 127.0.0.1
Line 1: Line 1:
-==== Общая концепция построения 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 обладает ограниченными ресурсамипоэтому при разработке часто используется принцип "Возьми о адаптируй"+  * использовать [[wp>IBM_Common_User_Access|CUA]] для удобства и визуальных стандартов интерфейса (см. IBM [[wp>IBM_System_Application_Architecture|SAA]] [[wp>IBM_Common_User_Access|CUA]]) 
 +  * использовать принципы [[wp>Object-oriented_programming|ООП]] и модульности на основе использования микроядра и [[wp>IBM_System_Object_Model|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 
 +  * MVM/DOS personality 
 +  * Win16 personality 
 +  * Win32 personality 
 + 
 +**[[en:docs:general:neutral|Neutral personality]]** или **Personality-нейтральные сервисы** это базовое ОС API. Это набор серверов и библиотек, предоставляющие разные сервисы. Все другие personalities построены поверх Нейтральной Personality. Скорее всего, многие API нейтральных сервисов будут использованы почти в готовом виде (в виде простых врапперов) API нейтральной personality можно сравнить с Native NT API -- они почти функционально эквивалентны. 
 + 
 +**[[ru:docs:general:os2|OS/2 personality]]** должна предоставлять полное (или подмножество) OS/2 API. На первом этапе мы собираемся разработать базовые 32-бит API.  
 + 
 +**[[ru:docs:general:linux|Linux personality]]** должна предоставить полную функциональность ядра Linux.   Linux в данный момент является одной из mainstream OS. Она представляет собой инструментальную среду. которая предоставляет множество утилит для разработки, библиотек и приложений, и мы собираемся использовать Linux как одну из главных платформ для разработки. Для этого мы собираемся использовать результаты проекта L4Linux. 
 + 
 +**[[en:docs:general:mvm|MVM/DOS personality]]** должна предоставлять функциональность DOS, или, в более ширроком смысле, среду для запуска множества виртуальных машин с немодифицированными ОС. DOS поддерживалась оригинальной OS/2 и она до сих пор используется многими. Для нас это направление очень перспективно, хотя и имеет меньший приоритет, чем разработка OS/2 personality, поэтому мы возможно, воспользуемся наработками других проектов. накпример QEMU, DosBox, DosEmu, FreeDOS. 
 + 
 +**[[ru:docs:general:win32|Win32 personality]]** должна предоставлять частичный или полный набор Win32 API. Windows это тоже одна из mainstream OS и мы  тоже не можем игнорировать ее присутствие. **Если** получится пара-виртуализировать ReactOS (есть идея насчет написания HAL-а, работающего поверх l4env/l4re), то мы этот результат используем для поддержки Win32 API. В противном случае, будут использованы результаты проекта WINE. 
 + 
 +При желании, вы можете сюда добавить нужную вам personality. 
 + 
 +На данный момент, мы закончили выбор файловой системы и процесса загрузки. Мы используем готовую, традиционную для OS/2, концепцию [[en:ibm:ifs|IFS]]. Наиболее заметное отличие от обычной OS/2 это отсутствие MiniFSD (как это было в OS/2 PPC) и 32-битный главный [[en:ibm:ifs|IFS]] драйвер. Более подробно о процессе загрузки можно прочитать здесь: [[en:docs:boot:index|Руководства по процессу загрузки]]. 
 + 
 +Для общих указаний по разработке см. [[ru:develop:guidelines|Справочник для разработчика]]. 
 + 
 +~~DISCUSSION~~