Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
ru:docs:general:index [2013/03/14 23:55] – created valerius | ru:docs:general:index [2014/06/12 21:47] – [Общий дизайн] valerius2k |
---|
{{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}} | {{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}} |
| |
Проект osFree нацелен на создание операционной системы, поддерживающей OS/2-совместимую personality как базовую. Мы использовали следующие принципы в нашем исследовании разработке: | Проект osFree нацелен на создание операционной системы, поддерживающей OS/2-совместимую personality как базовую. Мы использовали следующие принципы в нашем исследовании и разработке: |
| |
* Удобство в использовании | * Удобство в использовании |
В результате, мы имеем следующие соображения: | В результате, мы имеем следующие соображения: |
| |
* использовать CUA для удобства и визуальных стандартов интерфейса (см. IBM SAA CUA) | * использовать [[wp>IBM_Common_User_Access|CUA]] для удобства и визуальных стандартов интерфейса (см. IBM [[wp>IBM_System_Application_Architecture|SAA]] [[wp>IBM_Common_User_Access|CUA]]) |
* использовать Микроядро, принципы ООП на основе SOM и Бинарную совместимость с существующими компонентами для Расширяемости | * использовать принципы [[wp>Object-oriented_programming|ООП]] и модульности на основе использования микроядра и [[wp>IBM_System_Object_Model|SOM]], вместе с бинарной совместимостью с существующими компонентами для Расширяемости |
* Документированность и Open-source для Открытости | * Документированность и Open-source для Открытости |
* Все вышеперечисленное для Простоты | * Все вышеперечисленное для Простоты |
| |
| |
==== Общий дизайн ==== | ==== Общий дизайн ==== |
Мы предполагаем использовать некоторые, или большинство принципов построения, на которых была основана OS/2 PPC, с некоторыми уточнениями. Поскольку поддержка OS/2 является нашей первичной целью, то, конечно же, мы предполагаем использовать в готовом виде большинство OS/2 технологий. | Мы предполагаем использовать некоторые, или большинство принципов построения, на которых была основана OS/2 PPC, с некоторыми уточнениями. Поскольку поддержка OS/2 является нашей первичной целью, то, конечно же, мы предполагаем использовать в готовом виде большинство OS/2 технологий. |
| |
In general, we'll use L4 microkernel as a core of the system. On top of L4 we plan to implement the following personalities: | В основе системы, мы собираемся использовать микроядро L4 как базу системыы. Поверх L4 мы планируем построить следующие OS personalities (индивидуальные ОС): |
| |
* Neutral personality | * Нейтральную personality |
* OS/2 personality | * OS/2 personality |
* Linux personality | * Linux personality |
* DOS personality | * MVM/DOS personality |
* Win16 personality | * Win16 personality |
* Win32 personality | * Win32 personality |
| |
**[[en:docs:general:neutral_personality|Neutral personality]]** is the real OS API. It is a set of servers for various services. All other personalities need to work via Neutral personality. Most probably we will reuse many OS/2 features in this personality. We plan to make Neutral personality API through the usage of IDL (like SOM/CORBA). Since L4 also uses IDL for its API, this is a logical approach. | **[[en:docs:general:neutral|Neutral personality]]** или **Personality-нейтральные сервисы** это базовое ОС API. Это набор серверов и библиотек, предоставляющие разные сервисы. Все другие personalities построены поверх Нейтральной Personality. Скорее всего, многие API нейтральных сервисов будут использованы почти в готовом виде (в виде простых врапперов) API нейтральной personality можно сравнить с Native NT API -- они почти функционально эквивалентны. |
| |
| **[[en:docs:general:os2|OS/2 personality]]** должна предоставлять полное (или подмножество) OS/2 API. На первом этапе мы собираемся разработать базовые 32-бит API. |
| |
**[[en:docs:general:os_2_personality|OS/2 personality]]** aimed to provide partial or full set of OS/2 API. At the first stage we want to implement core 32-bit API. In most cases OS/2 personality calls are planned to be just forwarders of calls to Neutral personality. | **[[en:docs:general:linux|Linux personality]]** должна предоставить полную функциональность ядра Linux. Linux в данный момент является одной из mainstream OS. Она представляет собой инструментальную среду. которая предоставляет множество утилит для разработки, библиотек и приложений, и мы собираемся использовать Linux как одну из главных платформ для разработки. Для этого мы собираемся использовать результаты проекта L4Linux. |
| |
**[[en:docs:general:linux_personality|Linux personality]]** aimed to provide full functionality of Linux. Linux is one of the current mainstream OSes. It provides lots of development tools, libraries and applications, and we want to use Linux as one of the main development platforms. We plan to reuse the L4Linux project for this. If everything will work fine, we'll just recompile the L4Linux project and reuse it. | **[[en:docs:general:mvm|MVM/DOS personality]]** должна предоставлять функциональность DOS, или, в более ширроком смысле, среду для запуска множества виртуальных машин с немодифицированными ОС. DOS поддерживалась оригинальной OS/2 и она до сих пор используется многими. Для нас это направление очень перспективно, хотя и имеет меньший приоритет, чем разработка OS/2 personality, поэтому мы возможно, воспользуемся наработками других проектов. накпример QEMU, DosBox, DosEmu, FreeDOS. |
| |
**[[en:docs:general:dos_personality|DOS personality]]** aimed to provide the functionality of DOS. DOS was supported by the original OS/2 and is still used by many people. We don't want to lose forces on this goal, so we'll most probably reuse QEMU here. | **[[en:docs:general:win32|Win32 personality]]** должна предоставлять частичный или полный набор Win32 API. Windows это тоже одна из mainstream OS и мы тоже не можем игнорировать ее присутствие. **Если** получится пара-виртуализировать ReactOS (есть идея насчет написания HAL-а, работающего поверх l4env/l4re), то мы этот результат используем для поддержки Win32 API. В противном случае, будут использованы результаты проекта WINE. |
| |
**[[en:docs:general:win32_personality|Win32 personality]]** aimed to provide partial of full functionality of Win32. Windows is also one of the mainstream OSes and we can't ignore its existence. **If** it will be possible to pre-virtualize ReactOS then we'll also provide Win32 functionality. Otherwise Win32 support will come via WINE project. | При желании, вы можете сюда добавить нужную вам personality. |
| |
Of course you are free to add another personality. | На данный момент, мы закончили выбор файловой системы и процесса загрузки. Мы используем готовую, традиционную для OS/2, концепцию [[en:ibm:ifs|IFS]]. Наиболее заметное отличие от обычной OS/2 это отсутствие MiniFSD (как это было в OS/2 PPC) и 32-битный главный [[en:ibm:ifs|IFS]] драйвер. Более подробно о процессе загрузки можно прочитать здесь: [[en:docs:boot:index|Руководства по процессу загрузки]]. |
| |
At present time we have closed view about file systems support and boot process. We are reusing OS/2 concept of IFSes. Most notable differences from OS/2 PC are the absence of MiniFSD (like it is in OS/2 PPC) and 32-bit IFS main driver. For more information about the boot process look at [[en:docs:boot:index|Boot process guides and references]]. | Для общих указаний по разработке см. [[en:develop:guidelines|Справочник для разработчика]]. |
| |
For general development guidelines see [[en:develop:guidelines|Developer Reference]]. | ~~DISCUSSION~~ |
| |