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


Reply via email to