Author: fireball Date: Sun Nov 3 14:08:12 2013 New Revision: 60847 URL: http://svn.reactos.org/svn/reactos?rev=60847&view=rev Log: Initial commit of a small subproject I wanted to do for years. If you like it, please feel free to join me as there is more than enough place for improvement. This commit brings the first very small implemented part (mainly everything related to phase 0 initialization).
A cut from the readme file: Monstera is a new implementation of a memory manager (along with a cache manager) compatible with the ReactOS kernel at source code level and providing the same binary compatible Native API through a lightweight wrapper. Monstera is implemented in a subset of C++ programming language. A document outlining specific restrictions, coding style and other considerations is available. Key ideas: 1. Object oriented language for object oriented kernel. When NT was implemented, C++ wasn't that good. 2. Simplicity > optimization. Nowadays we can sacrifice a bit of performance in favor of more robust implementation. 3. Same Native API. Internal implementation and external interfaces are two different things. 4. Don't drift away too much. It's still based on NT architecture, but think of it as if Microsoft Research would decide to reimplement NT in C++ for fun. Credits: - ReactOS Portable Systems Group for the code which is used as a base in many places of Monstera. - Alex Ionescu for his invaluable contribution to the ReactOS kernel. - Timo Kreuzer, Johannes Anderwald for their C++-in-the-kernel-mode help. - Amine Khaldi for help with the build environment. - ReactOS team for their great work. Added: branches/monstera/README (with props) branches/monstera/ntoskrnl/ (with props) branches/monstera/ntoskrnl/cc2/ (with props) branches/monstera/ntoskrnl/cc2/ccntapi.cpp (with props) branches/monstera/ntoskrnl/mm2/ (with props) branches/monstera/ntoskrnl/mm2/i386/ (with props) branches/monstera/ntoskrnl/mm2/i386/mach86.cpp (with props) branches/monstera/ntoskrnl/mm2/i386/mach86.hpp (with props) branches/monstera/ntoskrnl/mm2/i386/pte.cpp (with props) branches/monstera/ntoskrnl/mm2/memorymanager.cpp (with props) branches/monstera/ntoskrnl/mm2/memorymanager.hpp (with props) branches/monstera/ntoskrnl/mm2/mmntapi.cpp (with props) branches/monstera/ntoskrnl/mm2/pfndb.cpp (with props) branches/monstera/ntoskrnl/mm2/pfndb.hpp (with props) branches/monstera/ntoskrnl/mm2/pool.cpp (with props) branches/monstera/ntoskrnl/mm2/pool.hpp (with props) branches/monstera/ntoskrnl/mm2/poolmanager.cpp (with props) branches/monstera/ntoskrnl/mm2/poolmanager.hpp (with props) branches/monstera/ntoskrnl/mm2/pte.hpp (with props) branches/monstera/ntoskrnl/mm2/systemcache.cpp (with props) branches/monstera/ntoskrnl/mm2/systemcache.hpp (with props) branches/monstera/ntoskrnl/mm2/systemptes.cpp (with props) branches/monstera/ntoskrnl/mm2/systemptes.hpp (with props) branches/monstera/ntoskrnl/mm2/virtualmemory.cpp (with props) branches/monstera/ntoskrnl/mm2/virtualmemory.hpp (with props) branches/monstera/ntoskrnl/mm2/workingset.cpp (with props) branches/monstera/ntoskrnl/mm2/workingset.hpp (with props) branches/monstera/trunk.diff [This mail would be too long, it was shortened to contain the URLs only.] Added: branches/monstera/README URL: http://svn.reactos.org/svn/reactos/branches/monstera/README?rev=60847 Added: branches/monstera/ntoskrnl/cc2/ccntapi.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/cc2/ccntapi.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/i386/mach86.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/mach86.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/i386/mach86.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/mach86.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/i386/pte.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/pte.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/memorymanager.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/memorymanager.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/memorymanager.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/memorymanager.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/mmntapi.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/mmntapi.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/pfndb.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pfndb.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/pfndb.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pfndb.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/pool.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pool.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/pool.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pool.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/poolmanager.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/poolmanager.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/poolmanager.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/poolmanager.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/pte.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pte.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/systemcache.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemcache.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/systemcache.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemcache.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/systemptes.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemptes.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/systemptes.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemptes.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/virtualmemory.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/virtualmemory.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/virtualmemory.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/virtualmemory.hpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/workingset.cpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/workingset.cpp?rev=60847 Added: branches/monstera/ntoskrnl/mm2/workingset.hpp URL: http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/workingset.hpp?rev=60847 Added: branches/monstera/trunk.diff URL: http://svn.reactos.org/svn/reactos/branches/monstera/trunk.diff?rev=60847