图形化界面变成主流
受施乐的 Alto 启发,图形化用户界面 (GUI) 变成了主流。
很多有竞争力的 GUI 快速出现,包括苹果的 Lisa 和 Macintosh,Commodore Amiga (Workbench),Atari ST (DRI's GEM),Acorn Archimedes (Arthur/RISC OS),Sun工作站,X11/X Windows,以及其他很多,包括 Microsoft Windows:
Windows 1.0 在1985年问世, 它基本上就是一个 MS-DOS 应用程序,提供了一个简单的窗口 GUI 环境,允许用户同时运行多个应用程序:

Windows 1.01 运行在 MS-DOS上
Windows 2.x,3.x、95 和 98 都是在 MS-DOS 基础上运行的。虽然后来的 Windows 版本开始取代以前由 MS-DOS 提供的功能,但它们都是基于 Windows 的替代方案(例如文件系统操作),它们都依赖于它们的 MS-DOS 基础。
注意:Windows ME(千禧年版)是一个有趣的嵌合体!它最终取代了 MS-DOS 的基础和以前版本的 Windows 的实模式支持,还有一些新特性(特别是游戏和媒体技术)。一些功能是在 Windows 2000(比如新的 ip 协议栈)中加入的,在家用电脑上运行的时候,可能会很难运行。这个故事最终可能会成为一个有趣的帖子。(感谢蜜蜂对这一点的看法:))
然而,微软知道,到目前为止,他们只能扩展 MS-DOS 和 Windows 的架构和功能:微软知道它需要一个新的操作系统来构建他们的未来。
Microsoft - Unix 市场的引领者!是的,我是认真的!
在开发 MS-DOS 的过程中,微软也在忙着交付 Xenix —— 微软的 Unix 版本 7 - 到各种处理器和机器架构,包括 Z8000、8086/80286 和 68000。
到1984年,微软的 Xenix 已经成为世界上最流行的 Unix 变体!
然而,美国政府拆分了贝尔实验室 —— Unix 的故乡 —— 导致了 AT&T 的分拆,该公司开始向电脑制造商和终端用户销售 Unix 系统 V 。
微软认为,如果没有他们自己的操作系统,他们实现未来目标的能力将受到损害。这导致了从 Xenix 转型的决定:1987年,微软将 Xenix 的所有权转让给了其合作伙伴 —— 圣克鲁斯运营公司(SCO),微软曾在 Xenix 上开发过多个项目,以在不同的平台上移植和增强 Xenix 。
微软+IBM==OS/2
1985年,微软开始与 IBM 合作开发一种名为 OS/2 的新操作系统。OS/2 最初被设计为“一个更有能力的 DOS ”,它的设计目的是利用一些现代 32 位处理器和其他来自 OEM 厂商的技术,包括 IBM 。
然而,OS/2 的故事一直是很混乱的。1990年,微软和 IBM 结束了他们的合作。这是由于许多因素造成的,包括 IBM 和微软开发人员之间的显著文化差异、日程安排的挑战,以及 Windows 3.1 采用的爆炸性成功和增长。IBM 继续开发和支持 OS/2 ,直到 2006 年底。
到1988年,微软确信它未来的成功需要一个更大、更大胆、更有野心的方法。这种方法需要一个新的、现代的操作系统来支持公司的雄心勃勃的目标。
微软的大赌注——Windows NT
1988年,微软聘请了戴夫卡特勒,他是 DEC 广受欢迎的 vax/vms 操作系统的创建者。卡特勒的目标 —— 创建一个新的、现代的、独立于平台的操作系统,微软将拥有、控制它,并将其未来的大部分时间建立在它的基础上。
这个新的操作系统变成了 Windows NT ——它发展成为 Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8 和 Windows 10 ,以及所有版本的 Windows Server、Windows Phone 7+、Xbox 和 Hololens !
Windows NT 从一开始就被设计为独立于平台,最初是为了支持英特尔的 i860 ,然后是 MIPS R3000,英特尔 80386+,DEC Alpha 和 PowerPC 。从那时起,Windows NT 操作系统已经被移植到支持 IA64“Itanium”、x64 和 ARM/ARM64 处理器架构等硬件。
Windows NT 通过其“Windows 控制台”终端应用程序提供了一个命令行界面,以及“命令提示”shell(cmd.exe)。Cmd 被设计成尽可能兼容 MS-DOS 的批处理脚本,以帮助简化业务对新平台的采用。
PowerShell 的力量
虽然 Cmd 仍然存在于 Windows 中(并且在未来的几十年里可能都会这样做),因为它的主要目的是尽可能保持向后兼容,Cmd 很少得到改进。甚至“修复 bug ”有时也会很困难,如果这些“bug”存在于 MS-DOS 或早期版本的 Windows 中!
在2000年早期,Cmd shell 已经失去了动力,微软和其客户迫切需要一个更强大、更灵活的命令行体验。这一需求推动了 PowerShell 的创建(这源于Jeffrey Snover的“Monad宣言”)。
PowerShell 是一种面向对象的 Shel l,与在 *NIX 世界中的基于文件/流的 Shell 不同的是:PowerShell 脚本作者能够直接访问和操作对象和它们的属性,而不是处理文本流,也不必编写和维护大量的脚本解析和操作文本(例如通过 sed / grep / awk / lex / 等等)。
建立在 . net 框架和公共语言运行时(CLR)上,PowerShell 的语言和语法是为了结合 .net 的丰富的生态系统与许多最常见的、其他有用的特性的不同的 shell ,重点确保了脚本是高度一致的,也是非常强大的。
为了解更多关于 PowerShell 的知识,我推荐阅读“PowerShell In Action”(曼宁出版社),作者是 Bruce Payette ,他是 PowerShell 语法和语言的设计者。前几章特别对语言设计的基本原理进行了有启发性的讨论。
PowerShell 已经被许多微软平台技术和合作伙伴采用,包括 Windows、Exchange Server、SQL Server、Azure 和许多其他技术,并提供了管理的命令,并以高度一致的方式控制 Windows 机器和/或环境的各个方面。
PowerShell Core,是 PowerShell 的开源未来版本,它适用于 Windows 和各种版本的 Linux、BSD 和macOS !
在 NT、Interix 和 UNIX 服务上的 POSIX
在设计 NT 时,卡特勒和团队专门设计了 NT 内核和操作系统来支持多个子系统——用户模式代码和底层内核之间的接口。
当 Windows NT 3.1 在1993年首次发布时,它支持几个子系统:MS-DOS、Windows、os/2 v1.3 和POSIX v1.2。这些子系统允许 NT 在相同的机器和基本操作系统上运行应用程序,而不需要虚拟化或仿真——即使在今天,这也是一种强大的功能!
虽然 Windows NT 的原始 POSIX 实现是可以接受的,但是它需要显著的改进才能使它真正有能力,所以微软收购了 Softway Systems 和它的 “Interix” 的 NT 子系统。Interix 最初是作为一个单独的附加组件发布的,然后再结合几个有用的实用工具和工具,并在 Windows Server 2003 R2 和 Windows Vista 中以“Unix服务”(SFU)发布。然而,SFU 在 Windows 8 之后就停止了,主要原因是客户缺乏兴趣。
然后一件有趣的事情发生了。
相关文章
网友评论(共有 0 条评论)