操作系统中立视角 / 微软 Windows
Windows 是家庭和企业桌面使用中最广泛的操作系统,因此受到软件开发人员的良好支持。早期版本的 Windows 基于微软的 DOS(磁盘操作系统),因此并非为持久网络连接而设计(与 UNIX 不同;见下文)。这对 Windows 的发展造成了问题,因为随着持久网络连接变得越来越普遍,病毒、恶意软件和其他安全漏洞的风险也随之增加。从 Windows NT 开始的一项重大重新设计旨在解决这个问题。
这些早期的 Windows 版本基于 XEROX PARC 的 WIMPS(Windows、图标、菜单、指向系统)概念(与苹果公司同时进行),只不过是 MSDOS 之上的一个漂亮图形用户界面。事实上,1.x 和 2.x 系列的版本的主要外壳是基于文本的目录列表,它们的程序在更新版本的 Windows 上无法运行。早期的版本并不受欢迎:大多数用户一直使用 DOS,直到 Windows 3.1 出现了相当简单的网络支持。Novell 和其他公司利用了微软留下的机会,但他们没有认识到正在出现的互联网标准,即 _TCP/IP_。这一重大错误使微软得以重新控制,尽管当时对完整和安全的实现并不关心。
Windows 95 为消费级 Windows 系列引入了抢占式多任务处理。这在当时非常重要,因为 Windows 已经(事后看来是不公平地)获得了不稳定的声誉;然而,实际上,大多数错误都出现在 Windows 运行的应用程序和第三方驱动程序中。抢占式多任务处理允许应用程序失败而不会导致整个机器崩溃。然而,这些版本的 Windows 仍然缺乏足够的维护,因此,一个失败的应用程序可能会使内存变得一团糟,以至于需要重新启动。然而,实际上,大多数使用商业应用程序的人遇到的崩溃相对较少。三个基本问题依然存在
- 没有硬性壁垒阻止用户应用程序在内核级别运行;
- 没有任何东西可以区分数据内存和指令内存;以及
- 没有管理员或超级用户的概念;普通用户拥有完全控制权,但缺乏管理它的知识。该系统附带的 TCP/IP 关键功能处于暴露状态。
所有这些都使得世界上最流行的操作系统成为恶意软件作者的目标。然而,随着 Windows 作为恶意软件目标越来越受欢迎,一些其他操作系统似乎也落后于安全,因为它们很少成为目标。
32 位内存寻址的可用性使微软能够重新开发操作系统的大部分内容,以满足在“信息高速公路”上行驶所需的标准。顶尖的软件设计师被从 Digital Equipment Corporation 挖角,以从头开始重新设计操作系统。他们设计和开发了 Windows NT(“新技术”),抛弃了大部分 DOS 框架。从设计上来说,Windows NT 比以前版本的 Windows 更安全。微软最终逐步淘汰了所有基于 DOS 的 Windows 版本,转而支持基于 NT 的版本。Windows 2000、Windows XP、Windows 2003 和 Windows Vista 均基于 Windows NT 架构。
- 有趣的是,Windows NT(WNT)被宣传为“Windows 新技术”,用户经常猜测是“Windows 网络技术”,因为网络成为 Windows NT 的原生功能。然而,后来透露,WNT 实际上是 VMS(另一个操作系统)的谐音——就像 2001 年:太空漫游中的 HAL 被认为是 IBM 的谐音一样。
在设计 Windows 操作系统时,微软已经决定用户友好性是设计的主要目标。作为副作用,Windows 系统通常没有启用足够的默认安全设置,即使在基于 NT 的版本中,直到 Windows XP SP2 和 Windows Vista 发布之前都是如此,因此如果直接连接到互联网,仍然可能被入侵。事实上,许多用户抱怨,即使在安装 Windows XP 时,他们的计算机也被各种蠕虫和病毒感染。然而,自 Windows Vista 发布以来——这是第一个使用可信计算开发生命周期开发的微软操作系统——这些问题在很大程度上已变得无关紧要。Windows 包括用于在同一网络上连接的 Windows 计算机之间共享互联网连接的软件,以及用于保护网络的基本防火墙软件。从 Windows Vista 开始,微软内置了一个反间谍软件解决方案,并且一个名为 Microsoft Security Essentials 的免费反病毒解决方案目前处于测试阶段,计划免费提供给所有使用正版 Windows 的用户。为了获得更好的安全保障(通常建议用于家庭或小型企业网络),一个单独的基于硬件的交换机,带有一个集成防火墙,是一个更明智的解决方案。这种硬件可以以低至 30 美元的价格购买。(事实上,这种安全措施可以与任何操作系统一起使用,而不仅仅是 Windows。)
2008 年的一项研究比较了 Linux、Windows Research Kernel(Windows 2003 内核的衍生版本)、FreeBSD 和 Solaris 的源代码质量,发现代码质量大致相同[1]
参见 Windows 软件。 Windows NT 和 VMS:故事的其余部分.
ReactOS 是一个项目,试图创建一个与 Windows 兼容的开源操作系统。它没有使用来自微软 Windows 的任何代码,并且完全是开源的。它也不是基于 Linux 的,但一些代码来自运行在 Linux 上的 Wine 项目。目前它处于 alpha 阶段,不适合生产系统。