Nějakou dobu jsem se vypouštění informací o ReactOSu nevěnoval, takže jsem úplně propásl oznámení vydání 0.3.12 a i nejaktuálnější verzi 0.3.13 oznamuju dost pozdě. Co se dá dělat, novinek bude opravdu hodně Tentokrát jsou změny pouze v angličtině, převzato ze stránek ReactOSu.
Seznam novinek je v další části článku.
I haven’t been releasing any information about ReactOS lately, so I have not covered release of 0.3.12 and also report quite late on release of 0.3.13. Well, there’s not much to do aside from showing you the news Changes are taken right from ReactOS site.
List of news after the break.
- 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.
- PnP Compatibility – Various improvements have been done to increase hardware support and support for loading 3rd party drivers.
- ACPI Improvements – The ARM team has implemented the basic drivers required for supporting batteries and 3rd party UPS/battery drivers, including support for the ACPI Composite Battery specification. This support is not currently enabled in this release because ACPI is still undergoing work.
- New PCI-X driver – The ARM team has been slowly working on the new PCI bus driver. Previously, ReactOS was using a very simple and mostly stubbed PCI bus driver which lacked support for many real-world PCI bus features, PCI-to-PCI bridges etc. With this new driver, compatibility on real hardware, not just virtual machines, should improve significantly, along with performance.
- SxS support – Side-by-side code was added, along with loading and finding manifest files. It’s an important step forward to be compatible with modern applications which use this technology.
- Pool Corruption Fixes – Perhaps the most serious of these suspected leaks were fixed thanks to combined efforts of key ReactOS developers utilising advanced methods including a customized version of QEMU virtual machine.
- Timer and message handling rewrite – Incorrect handling of non-queued messages led to deadlocks in some applications which the message handling rewrite resolved. The timer implementation rewrite is also completed by this release which fixes many timer-related problems, most known is the “need to move mouse in order to download in Firefox”.
- x64 build – While the x64 port is still in an early stage regarding the functioning of the kernel, most of the generic compilation issues are resolved and necessary core functionality implemented. These efforts have been merged back into trunk, so that trunk can be compiled for x64 target. With the help of automatic builds, possible breakages can now quickly be detected and resolved. Don’t expect it to boot to GUI though!
- Implemented dynamic video mode switch and improved graphics drivers compatibillity.
- Fixed several graphic issues.
- Completely rewritten heap manager with additional debugging capabilities for detecting out of bounds operations.
- Improved management of audio mixer lines, preventing application sounds from becoming garbled due to overlapping lines.
- Heavy bug fixing in user subsystem (improved handling of user mouse input, messages and timers).
- Visual artifacts fixed in some apps as Firefox and Thunderbird.
- Fixed several bugs in the installer.
- Improved apps compatibility: Stellarium 0.10.2, LHelp, winpcap,FlashPlayer 10.1 and Mono 2.8, OllyDbg 1.10, Xenon 2000, VLC 1.1.5, Foobar 2000, Skype 4.0.0 work now.
- More SATA devices are supported.
- Lots of test cases were fixed.
- Many improvements in the memory manager that fix several bugs and make it more compatible with NT memory manager.