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 21:49] – valerius | en:docs:general:architecture [2014/06/06 21:53] (current) – [osFree general architecture] valerius | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== 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 === | + | |
| - | + | ||
| - | === Instruction Set Translator (IST) === | + | |
| - | + | ||
| - | === VM86 on Intel, and Hardware-assisted virtualization === | + | |
| - | + | ||
| - | === Microkernels as Hypervisors === | + | |
| - | + | ||
| - | === "The one Ring to Bind Them all" (OS/2 as an integration platform for different types of applications) === | + | |
| + | ==== OS/2 Personality ==== | ||
| - | ==== The current | + | [[en: |
| + | ~~DISCUSSION~~ | ||




