小贴士:本资源为电脑系统资源,如你需要在手机上下载,请下载完成后,导入到电脑系统中。
ReactOS0.4.11版本已经完成了对内核的大量工作,有助于提高整体系统的稳定性。
更新内容
内核改进
·尽管术语“内核”是一种包罗万象的术语,但实际上,它封装的功能范围非常广泛。一个典型的例子是内核对文件I/O的管理。此处的错误可能导致细微的数据损坏,导致更明显的硬崩溃。Pierre Schweitzer对高速缓存控制器对其数据结构进行管理的修复已消除了至少一个蓝屏源,该蓝屏源是在尝试使用ODIN备份软件备份磁盘分区时发生的。
·这次存储改进是内核改进的主题,因为ReactOS支持的文件系统也已经完成工作。虽然fastfat驱动程序是内部文件系统驱动程序,但是ReactOS始终依赖第三方驱动程序来支持BTRFS。但是这种依赖会反馈出去,因为ReactOS在使用驱动程序时发现的问题可以向上游发送,以帮助进一步改进它。
·谈到存储,自从IDE和并行连接器的美好时光以来,允许操作系统与存储设备进行通讯的接口已经发生了很大的变化。
·如今,大多数计算机都使用SATA连接和相应的AHCI接口,ReactOS依赖UniATA驱动程序来支持该接口。当第六代英特尔酷睿处理器(Skylake)发布时,它伴随着一个芯片组平台,该平台的AHCI SATA控制器被证明与UniATA不兼容。不过现在已经解决了这种不兼容问题,允许希望在更现代的平台上测试ReactOS的用户更好地利用这些平台的功能。
应用程序启动/停止
·运行应用程序时,它通常依赖于DLL形式的其他库。加载程序(LDR)负责查找和加载相应的依赖DLL,并且正确地迭代这些依赖关系是使任何东西都运行的基础。指定这些依赖关系的一种方法是使用称为清单的东西,这在ReactOS中未得到适当的支持。考虑到许多现代应用程序都使用清单,这是一个非常明显的漏洞。马克·詹森(Mark Jansen)在启动至0.4.11的过程中,为清单提供了足够的支持,这些清单表明现在可以在ReactOS中启动的应用程序范围已大大扩大。新启用的应用程序的一些示例包括Blender 2.57b(如下面的屏幕快照所示),Bumptop,Evernote 5.8.3,Quicktime Player 7.7.9。
·从系统稳定性的角度来看,正确停止应用程序通常同样重要,就像程序停止时释放其先前分配的资源一样。长期以来,ReactOS在处理.NET 2.0应用程序的关闭序列时特别困难,通常情况下,等待时间不足以使这些应用程序正常退出。但是,吉安尼斯·阿达莫普洛斯(Giannis Adamopoulos)的工作解决了这个特殊问题,进一步提高了ReactOS作为运行Windows兼容应用程序平台的有用性。
USETUP的改进
·虽然社区对提高ReactOS的生活质量的愿望清单很长,但是其中一个特别悠久的是能够升级现有ReactOS安装的能力。要做到这一点,需要在USETUP模块中付出大量努力,而HermèsBélusca-Maïto投入了大量时间。这样做的重要性是双重的。明显的增强是执行升级的能力,但更实质的是此功能对未来的要求。为了使ReactOS可以用作实际的系统OS,它需要能够就地更新而不丢失用户数据和配置的能力。尽管要求用户进行系统安装过程仍然与其他现代操作系统的用户友好程度相去甚远。
Win32
·在ReactOS中负责图形渲染的Win32子系统本身就是一个巨大的野兽。此处的改进通常倾向于使大多数用户看到更改,因为它是用户与操作系统进行最多交互的引擎。
·那些熟悉NT系列基本设计的人会记得,从Windows Vista开始的NT6系列之前,在操作系统的内核空间中实现了相当多的功能。此块通常称为win32k,由于它具有广泛的内核级别特权,因此win32k中的问题可能会使整个系统崩溃。甚至看似基本的菜单,也依赖于win32k内的功能,而修复相关功能是许多开发人员的主要工作重点。
·基本的健壮性是Thomas Faber重点关注的重点,它通过折磨测试运行菜单代码,该测试将看到不同窗口之间的不断切换,以确保在不同进程之间不会泄漏任何资源等。必须记住,在用户模式下对应用程序进行分区时,在内核模式下将资源有效地放在单个空间中,并且必须维护适当的簿记以避免崩溃。说到崩溃,马克·詹森(Mark Jansen)还发现了滚动条初始化的问题,滚动条的初始化为ReactOS的兼容程序库中增加了另一系列的应用程序。例如,如下面的屏幕快照所示,就是32位Civilization II Multiplayer Gold Edition 1.3版,以及诸如IceChat 7.63的其他版本。
·菜单元素的视觉正确性也很重要,因为未对齐的元素会产生图形震撼的显示。正因为如此,片山弘文对菜单项的y坐标计算的校正增加了细节感,这是优美的图形体验与足够好的体验之间的区别。
·菜单还可以扩展到不仅仅是我们经常在应用程序顶部看到的菜单栏。还有一些弹出菜单,例如在某一项上单击鼠标右键时,就像在任务栏的系统任务栏中的图标一样。Mark再次负责此修复程序,该修复程序解决了在尝试使用系统托盘时选件错误的问题。用户可以很高兴地发现,挫败的另一个根源已被消除。
·最后,必须回想一下,并不是整个世界都使用从左到右的显示标准来支持英语和其他基于拉丁语的语言。许多语言(例如希伯来语和阿拉伯语)使用从右到左的方向。ReactOS对这种类型的文本渲染的支持最初是在0.4.10中正式公开的,但是这项工作仍在进行中。Baruch Rutman为使Wine的USP10库和双向支持代码适应ReactOS所做的工作,取得了实质性的飞跃。当然还有更多的工作要做,但是开源开发的本质是采取一种迭代的方法,一个又一个地进行改进。
联网
·虽然最终用户的改进通常是最明显的,但对于高级用户,管理员和开发人员而言,生活质量的改进也具有一定的乘数效应。为此,皮埃尔在TCP和UDP连接枚举中的工作使得各种网络调试和诊断程序的启用变得更加微妙。
·对于一般用户而言,调试网络应用程序不是一种常见的用例,但对于从事IT或常规软件开发工作的人员而言,这是至关重要的能力。通过这种方式,ReactOS不仅作为运行应用程序的平台,而且还可以调试应用程序,变得越来越有用。正如历史所表明的那样,开发和管理的简便性是更广泛的技术行业所采用的关键特征。
稳定性和测试
·随着ReactOS在稳定性和成熟度上的不断增长,必要的测试范围和深度也随之增加,仅仅是因为有更多的候选应用程序要测试。为此,约阿希姆·亨泽(Joachim Henze)以他一贯的奉献精神和毅力来确保在稳定性和新功能/改进功能方面,此发行版保持适当的平衡。尽管总是很想提出最新和最大的更改和修正,但必须记住,每一次这样的更改都会带来一定程度的风险。权衡风险和可能带来的好处的能力,是使Joachim这样的质量保证人员对于任何快速发展的项目都无法估量的价值。
·鉴于ReactOS的广泛改进,并为了帮助潜在用户更好地了解OS及其支持的应用程序的状态,Joachim还重组了测试结果页面,以更好地封装相关信息。现在,不仅可以看到测试的总体结论,还可以看到详细信息,例如跟踪得出特定结论的原因以及他们自己可能尝试的任何解决方法。从工作/失败的二进制文件向前迈出了显着的一步,因为一种解决方法建议至少可以找到一个永久性解决方案的起点。
如果是玫瑰,它总会开花的。
未知的网友