level 8
http://www.reactos.org/zh/news_page_61.html
2010-10-20, Aleksey Bragin
ReactOS 0.3.12 Released
The ReactOS team is proud to announce the release of ReactOS 0.3.12.
This is a huge release for the team, not just with regards to the number of improvements which this release holds but in terms of the leap forward architecturally, stability wise and in bringing some of the more modern aspects of the NT kernel into ReactOS.
It's been almost a year since the last release and whilst this is understandably excessive, it was required to stabilize the OS due to the nature of the work which was undertaken. Focus at the start of this release was on a single area, the trap handler mechanism, which resulted in a complete rewrite of this area. This brought with it the need for more changes which escalated into many areas getting an overhaul and many new technologies being developed and brought into the core. What resulted from this was a vastly more modern kernel containing code which had been exercised significantly less than the code it replaced. This triggered a large testing phase to bring the stability and compatibility to levels above that of the previous code.
During the preparation of this release, 259 bugs were fixed, including 61 regressions some of which originated from ReactOS 0.3.7. Ten of those bugs are more than 3 years old, with the oldest fixed bug being #969 (5 years old).
A heavily cut down list of some of the more major changes which have been going on in the past year is as follows:
?Memory Manager - The memory manager continued to see much work as the ARM team replaced each component piece by piece whilst also maintaining the functionality of the old manager. Although 0.3.12 does not completely switch over to the new manager, what is obvious are the speed, stability and compatibility improvements of this new model.
?NMI support - ReactOS can now handle NMIs with a Red Screen of Death, useful for capturing hardware errors detected by the CPU or Bus. Additionally, support for 3rd party NMI callbacks has been implemented, which is useful for certain server systems. Finally, support for generating a crash dump during an NMI is partly implemented, which can help when a machine is frozen or hung and an external NMI dump switch is used.
?Trap Handler Rewrite - Almost all CPU faults, trap, exception, and system call code is now written in C instead of Assembly. Many legacy and/or deprecated code paths have been disabled and performance-heavy debugging paths disabled by default. Additionally, the x64 and ARM ports now share much more of this code. Finally, the code is much cleaner and can take advantage of compiler optimizations to generate the best possible code for the CPU instead of writing hand-crafted assembly that was specific only to certain CPU models. Work is ongoing to remove even more of the last remaining Assembly routines.
?EMS - Support for Emergency Management System (or Headless) has been partially implemented. The boot flags documented by Microsoft are supported, and certain debug output is sent to the serial port as expected. Work is ongoing to provide the EMS logging capabilities and to move the existing legacy KDBG debugger over EMS. SAC (Special Administration Console) driver work is also in progress to compliment this.
2010年10月22日 08点10分