Testresults: =============== [list] Revision Release Required Phase 1 Phase 2 Phase 3 ============================================================================= ????? 0.2.5 24 MB 8 20 24 14530 0.2.6 28 MB 28 24 28 17449 0.2.7 56 MB 56 28 36 18815 0.2.8 64 MB 64 32 32 20301 0.2.9 108 MB 68 108 36 23749 0.3.0 72 MB 72 24 24 ????? 0.3.1 80 MB 40 80 ??? 29009 0.3.3 36 MB 36 28 36 31933 0.3.4 44 MB 44 40 44 34194 0.3.5 84 MB 52 84 80 35026 0.3.6 84 MB 52 84 80 37178 0.3.7 68 MB 52 60 68 39310 0.3.8 80 MB 56 80 72 40701 0.3.9 40 MB 20 40 40 41747 0.3.10 48 MB 20 48 36 44553 0.3.11 48 MB 20 48 44 49125 0.3.12 64 MB 32 64 44 51070 0.3.13 76 MB 32 76 72 53927 RBUILD/DBG 76 MB 32 76 72 53927 CMAKE/DBG 72 MB 40 72 52 [/list] Analysis result #1: Sometimes you're the pigeon, sometimes you're the statue. Analysis result #2: Debug builds require more memory than release builds (duh!). Analysis result #3: 3.11 isn't such a bad number after all, Windows or no Windows Frequently Answered Questions: ================================= 1) why was this done? - Check how efficient ReactOS is - Check on what kind of systems ReactOS still could be installed to - Check for regressions 2) test environment? - Intel Q6600 Core2 processor (2.4GHz), 4096MB RAM, SSD, Windows 7 x64 Ultimate as host system - VmWare Workstation 7.1.4 as virtualisation platform, with virtual machine guest profile "WindowsXP" - Virtual machine contains keyboard/mouse/display, 1 processor, 256MB system memory - Virtual machine contains IDE controller with CD/DVD drive (secondary master IDE 1:0) using ISO file - Virtual machine contains IDE controller with single harddisk (primary master IDE 0:0) 313MB disk image. (single 363 MB active primary partition, 100% of disk capacity thus, no other partitions or blank space) - Virtual machine network card, USB controller, soundcard, floppy drive and SCSI controller were removed. 3) Why is there data missing? - Couldn't find trunk revision of ReactOS 0.2.5. System properties doesn't exist yet. CMD's VER doesn't list it. - 0.3.1 has phase 2 corrupting FreeLDR in such a way that a virtual machine shutdown is triggered. No phase 3 thus, nor revision info. 4) Why are there some revisions missing? - 0.2.4 and lower weren't tested. - 0.3.2 was never released - 0.3.11-CLT2010 didn't fit on my virtual machine's harddisk - 0.3.13-CLT2011 didn't fit on my virtual machine - 0.3.14 hasn't been released yet. - 0.4.0 hasn't been released yet. 5) What are your arbitrarily decided requirements of succesfully completing each phase? - phase 1: succesfully copy all files, followed by copying bootloader to harddisk and finishing with restarting the system through ReactOS Setup itself, for phase 2 - phase 2: succesfully restarting after hardware detection and registry modifications. Gecko nor VMWINST are requirements. - phase 3: succesfully booting to desktop, including seeing a fully drawns system tray. Mouse/keyboard input and system stability not required. 6) Were there any things you didn't test? - phase 1: filecopy (memory versus time), due to no stopwatch/timer being present. - phase 1: harddisk (partitioning) - phase 1: minimum harddisk/partition size requirements - phase 2: downloading Gecko - phase 2: installation of VmWare tools. Broken since VmWare Workstation 7 introduced a different layout for the tools ISO image - phase 3: actually using the system, especially the downloader. 7) What observations did you make while testing this? - Memory consumption varies greatly between phases and releases. - Shouldn't virtual memory (swapfile/pagefile/swapping/paging) allow to use diskspace as memory, thus keep things working at low physical memory instead of crashing? - /MAXMEM boot parameter has no effect despite being available according to installation documentation, thus can't narrow down memory requirements below 4MB increments - Memory reporting by FreeLDR regressed inbetween 0.3.3 (29009) and 0.3.4 (31933). 256MB became 255MB - Memory reporting by "System Properties" dialog of My Computer also regressed, inbetween 0.3.10 (41747) and 0.3.11 (44553). 256MB became 255MB - The lower amount of memory available during phase 1, the slower copying goes. Try 128MB versus 40MB for example - Files aren't pre-cached during phase 1 when you're staring at dialogs for language/hardware/partitioning, even with enough memory available. This makes it necessary to still access CD during file copying. - There's no "go back" button if selecting to install FreeLoader to floppy but you can't find a floppy - Phase 2 isn't performing hardware detection and user input in an overlapping way. - Phase 2 can corrupt itself and phase 3 (start with too low memory, increase it, and notice hangs + lack of reboots) - Phase 2 can hang on Installing Devices - Phase 2 can hang on MSHTML / Gecko - Phase 2 can unsuccesfully install/copy/register MSHTML/Gecko but still continue/finish succesfully - Phase 2 can hang on the Reboot screen (see corruption above, phase 1 reinstall required) - Phase 2 doesn't do an integrity check (modified registry/hive files). - Phase 3 visual bug: DXDIAG doesn't recognise operating system, virtual memory, etc. - Phase 3 visual bug: WINVER ("ABOUT REACTOS" screen) contains lots of quotes - Phase 3 visual bug: WINVER's "AUTHORS" dialogue contains wrong copyright year (2009 instead of 2011) - Phase 3 visual bug: Device Manager contains generic name "Processor". Meanwhile System Properties and DXDIAG report actual processor, as does Windows's device manager - ACPI works like a charm now, including memory reporting (kinda..) and driver loading (all loaded once besides FASTFAT.SYS) 8) What happens if I go under this memory? - All kinds of funny things, happy bughunting. - Easily start phase 1 at 4MB, see what happens, then 8MB, see what happens, etc. Increment by 4MB 9) I get different numbers on same/different virtualisation/emulation platform or real hardware, can you update? - Ofcourse, I'd be happy to get feedback in this topic from people so numbers can be updated with real world experience - Please make sure you can complete a specific phase at least 10 times in a row without any issues preventing completion, only then submit the number. - Feel free to use Bochs/QEMU which might be able to set memory amount at 1 MB granularity instead of 4MB like VMware. 10) Personal opinions? - A decision about reference amount of memory (64MB?) and allowed installation time per phase (25mins?) would be nice. - A decision that phase 1 should only use fixed amount (xx MB) of memory for the OS and rest serves as filecache could help - What will ReactOS 0.3.14 offer to the end user besides automatic shutdown (ATX and ACPI) and no longer colored squares around desktop icon text labels? Power saving perhaps due to ACPI?