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.c…
Added: branches/monstera/ntoskrnl/mm2/i386/mach86.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/mach…
Added: branches/monstera/ntoskrnl/mm2/i386/mach86.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/mach…
Added: branches/monstera/ntoskrnl/mm2/i386/pte.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/i386/pte.…
Added: branches/monstera/ntoskrnl/mm2/memorymanager.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/memoryman…
Added: branches/monstera/ntoskrnl/mm2/memorymanager.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/memoryman…
Added: branches/monstera/ntoskrnl/mm2/mmntapi.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/mmntapi.c…
Added: branches/monstera/ntoskrnl/mm2/pfndb.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pfndb.cpp…
Added: branches/monstera/ntoskrnl/mm2/pfndb.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pfndb.hpp…
Added: branches/monstera/ntoskrnl/mm2/pool.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pool.cpp?…
Added: branches/monstera/ntoskrnl/mm2/pool.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pool.hpp?…
Added: branches/monstera/ntoskrnl/mm2/poolmanager.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/poolmanag…
Added: branches/monstera/ntoskrnl/mm2/poolmanager.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/poolmanag…
Added: branches/monstera/ntoskrnl/mm2/pte.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/pte.hpp?r…
Added: branches/monstera/ntoskrnl/mm2/systemcache.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemcac…
Added: branches/monstera/ntoskrnl/mm2/systemcache.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systemcac…
Added: branches/monstera/ntoskrnl/mm2/systemptes.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systempte…
Added: branches/monstera/ntoskrnl/mm2/systemptes.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/systempte…
Added: branches/monstera/ntoskrnl/mm2/virtualmemory.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/virtualme…
Added: branches/monstera/ntoskrnl/mm2/virtualmemory.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/virtualme…
Added: branches/monstera/ntoskrnl/mm2/workingset.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/workingse…
Added: branches/monstera/ntoskrnl/mm2/workingset.hpp
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/ntoskrnl/mm2/workingse…
Added: branches/monstera/trunk.diff
URL:
http://svn.reactos.org/svn/reactos/branches/monstera/trunk.diff?rev=60847