Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:docs:general:architecture [2014/06/05 22:43] – valerius | en:docs:general:architecture [2014/06/06 21:53] (current) – [osFree general architecture] valerius | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | A===== Architectural ideas behind | + | ===== osFree |
- | ==== Compatibility with OS/2 (Intel) ==== | + | Here should be an index of architectural ideas for different osFree components. |
- | osFree combines OS/2 (Intel) ideas with those from OS/2 (PowerPC). It must run programs using OS/2 API, | + | ==== A microkernel |
- | both console and PM ones. So, on Intel architecture, | + | |
- | on other architectures it will have different ABI ((Application Binary Interface)), but the same portable | + | |
- | API ((Application Program Interface)). | + | |
- | Also, like it was in OS/2 (PowerPC), the binary compatibility with OS/2 (Intel) is possible (even on non-Intel | + | <general concepts> |
- | architectures). It includes the translator of PowerPC instructions to Intel ones. The Instruction Set Translator (IST) is a special DLL. It could be made on the base of QEMU binary translation. | + | |
- | LX executable format is unlikely to be used on other architectures, | + | ==== Personality-Neutral Services ==== |
- | most possibly, the ELF format will be used. It is cross-platform, extensible and simple. It supports both a 32-bit and a 64-bit variant. | + | |
- | So, the userland must be compatible with OS/2 (Intel). This includes some support of 16-bit applications. Although | + | The ideas around Personality Neutral Services, servers, libs, and how they could be reused |
- | there is a very little of pure 16-bits apps (like cmd.exe and hiew.exe), but some 16-bit API's are widely used today. | + | |
- | For example, Kbd/Mou/Vio API's (I.e., Console API) are still 16-bits in OS/2 (Intel), though on OS/2 (PowerPC) | + | |
- | + | ||
- | TODO: Thunking. Getting rid of thunks | + | |
- | + | ||
- | ==== Kernel-related parts of OS/2 ==== | + | |
- | + | ||
- | The most of ' | + | |
- | + | ||
- | ==== Personality-Neutral Services ==== | + | |
OS frameworks: l4env, l4re and Genode | OS frameworks: l4env, l4re and Genode | ||
Line 30: | Line 15: | ||
==== Device Driver Environment ==== | ==== Device Driver Environment ==== | ||
- | ==== The OS/2 personality main server (or simply "OS/2 Server" | + | Wrappers for Linux/FreeBSD/etc drivers to work on l4env/ |
- | ==== Filesystem server ==== | + | ==== Multiple Virtual Machines (MVM) personality |
- | + | ||
- | === Installlable file systems (IFS) === | + | |
- | + | ||
- | === Filesystem router === | + | |
- | + | ||
- | === IFS helpers === | + | |
- | + | ||
- | ==== Exec server ==== | + | |
- | + | ||
- | === Virtual Memory Arenas management === | + | |
- | + | ||
- | + | ||
- | === Instalable eXecutable Formats (IXF) === | + | |
- | + | ||
- | + | ||
- | === Shared memory management === | + | |
- | + | ||
- | + | ||
- | ==== Multiple Virtual Machines (MVM) server | + | |
=== A historical note === | === A historical note === | ||
Line 57: | Line 23: | ||
The term " | The term " | ||
- | === Virtual Device Drivers (VDD' | + | Read more on [[en: |
- | + | ||
- | === Virtual Machine Monitor === | + | |
- | + | ||
- | === MVM server === | + | |
- | + | ||
- | === The DOS emulation kernel (doskrnl) === | + | |
- | + | ||
- | === Instruction Set Translator (IST) === | + | |
- | + | ||
- | === VM86 on Intel, and Hardware-assisted virtualization === | + | |
- | + | ||
- | === Microkernels as Hypervisors === | + | |
- | + | ||
- | ==== Other OS's personalities ==== | + | |
- | + | ||
- | === "The one Ring to Bind Them all" (OS/2 as an integration platform for different types of applications) === | + | |
- | + | ||
- | ==== The current OS/2 personality | + | |
- | + | ||
- | ==== osFree PM ==== | + | |
- | + | ||
- | === Graphical Program Interface (GPI) === | + | |
- | + | ||
- | === Graphics Runtime Environment (OS/2 PM GRE) and Presentation Drivers === | + | |
- | + | ||
- | === The GRADD model === | + | |
- | + | ||
- | === Video Protected Mode Interface (PMI) === | + | |
- | + | ||
- | ==== VIO/KBD/MOU (Console API) ==== | + | |
- | + | ||
- | === VIO and BVH's (Base Video Handlers) === | + | |
- | + | ||
- | ==== Framebuffer Interface ==== | + | |
- | + | ||
- | === Virtual Framebuffer over GRADD driver === | + | |
- | + | ||
- | === BVH and PM GRE on top of a Framebuffer interface === | + | |
- | ==== The current osFree PM prototype | + | ==== OS/2 Personality |
+ | [[en: | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||