OpenWin: Difference between revisions
m Ashific moved page Draft:OpenKernel to Draft:OpenWin: OpenKernel is now a part of the project, instead of being mainstream |
No edit summary |
||
| Line 1: | Line 1: | ||
''' | '''OpenWin''' (also: ''OK''), is an internal attempt to rewrite/rejuvenate Windows NT kernel to turn it more capable and modern, by integrating similar solutions implemented in [[MinWin]] and adding more features which doesn't exist in original NT project. | ||
OpenWin also combines additional projects that will be developed in parallel, to enhance OpenWin with additional functionality, ultimately replacing Windows NT ones. These projects will use same development principles and will be tied with OpenWin as additional dependencies. | |||
== Structure == | |||
=== OpenKernel === | |||
Originally OpenKernel's need have been raised in order to replace the Windows Server 2003's kernel with structurally same but different in approach kernel, which will fix most of compatibility issues for both old and new machines. This project doesn't have similar aims as ReactOS does, however, OpenKernel tends to be free for use and open-source. This approach will make OK eventually replace NT. | Originally OpenKernel's need have been raised in order to replace the Windows Server 2003's kernel with structurally same but different in approach kernel, which will fix most of compatibility issues for both old and new machines. This project doesn't have similar aims as ReactOS does, however, OpenKernel tends to be free for use and open-source. This approach will make OK eventually replace NT. | ||
The pure basis of the OpenKernel would be the Server 2003 RTM + Windows Research Kernel. In contrary of original one, the IA-64 native support will be removed entirely, due to absence of this architecture and very rare opportunity of Intel Itanium machines. Also, the MinWin-ish approach is planned: kernel will turn more modular and expandable, among with dealing with culprits of undocumented routines and internally improving all sub-modules of kernel. The precise construction of kernel is following: | The pure basis of the OpenKernel would be the Server 2003 RTM + Windows Research Kernel. In contrary of original one, the IA-64 native support will be removed entirely, due to absence of this architecture and very rare opportunity of Intel Itanium machines. Also, the MinWin-ish approach is planned: kernel will turn more modular and expandable, among with dealing with culprits of undocumented routines and internally improving all sub-modules of kernel. The precise construction of kernel is following: | ||
| Line 12: | Line 16: | ||
* <code>'''halSchema.dll'''</code> - same approach of orchestrating custom HALs and their management for <code>hal.dll</code>, with practically same ability levels, only for Hardware Abstraction Layers. | * <code>'''halSchema.dll'''</code> - same approach of orchestrating custom HALs and their management for <code>hal.dll</code>, with practically same ability levels, only for Hardware Abstraction Layers. | ||
=== Compilers === | ==== Compilers ==== | ||
OpenKernel will be implemented by switching compilers stack: thus, the NASM will turn the direct replacement for Microsoft's MASM, which is proprietary and have Microsoft-specific instructions set. Also, the compiler will be switched into Tiny CC (aka TCC), in order to be cross-platform compatible and allow more enhanced ports into foreign architectures, e.g. ARM and RISC-V. | OpenKernel will be implemented by switching compilers stack: thus, the NASM will turn the direct replacement for Microsoft's MASM, which is proprietary and have Microsoft-specific instructions set. Also, the compiler will be switched into Tiny CC (aka TCC), in order to be cross-platform compatible and allow more enhanced ports into foreign architectures, e.g. ARM and RISC-V. | ||
Also the ability to make ELF-compatible kernel is in plans too, for leveraging work in easier way and allowing better hot-patching mechanism for OpenKernel. | Also the ability to make ELF-compatible kernel is in plans too, for leveraging work in easier way and allowing better hot-patching mechanism for OpenKernel. | ||
=== OpenCRT === | === OpenCRT === | ||
OpenC(++) Language Runtime is a one-in replacement for MSVC Runtime, with extra functionality such as support for newer C(++) standards and libraries, cross-platform source code and easy integration in other operating systems, such as Linux-based ones, macOS and more. As a compatibility layer, <code>msvcrt.dll</code> and <code>ucrtbase.dll</code> will be provided as stubs linking to OpenCRT DLL files, additionally making runtime more reliable and faster. | OpenC(++) Language Runtime is a one-in replacement for MSVC Runtime, with extra functionality such as support for newer C(++) standards and libraries, cross-platform source code and easy integration in other operating systems, such as Linux-based ones, macOS and more. As a compatibility layer, <code>msvcrt.dll</code> and <code>ucrtbase.dll</code> will be provided as stubs linking to OpenCRT DLL files, additionally making runtime more reliable and faster. | ||
== Utilities == | |||
=== Env === | === Env === | ||
Env is a virtual environment which can initialize multiple virtual environments at once, work in completely separate environments in order to bypass system breaking capabilities. With enhancements of <code>.env</code> type files, the Env project will provide extra syntax features, turning it into a make-like syntax tuned platform. Env will be capable to replace legacy Razzle environment shipped with earlier versions of Windows NT. | Env is a virtual environment which can initialize multiple virtual environments at once, work in completely separate environments in order to bypass system breaking capabilities. With enhancements of <code>.env</code> type files, the Env project will provide extra syntax features, turning it into a make-like syntax tuned platform. Env will be capable to replace legacy Razzle environment shipped with earlier versions of Windows NT. | ||
[[Category:OpenXP]] | |||