微软软件开发技术二十年回顾(操作系统篇)
今年11月,微软新一代的操作系统Vista即将正式发布,它将会极大地改变原有的Windows编程机制。近20年来,随着技术和应用的变化、发展,微软的开发技术也历经变迁。随着微软下一代开发平台vista即将发布,微软会把开发者引向何方?
自Windows 1.0问世到今年11月份,微软Windows操作系统已经走过了它辉煌的二十一年。沧海桑田一瞬间,让我们再次追随Windows的踪迹,了解微软核心技术发展史,评析她当时所处的位置并展望其今后的发展趋势。
一、 操作系统篇
Win16时代(1985~1995)
1985年11月,微软公司正式发布了第一代窗口式多任务系统──Windows 1.0,代表了MS-DOS时代将逐渐终结,Windows王朝正式拉开了序幕。该操作系统的推出标志着PC机开始进入了图形用户界面(GUI)时代。1987年12月9日,Windows 2.0发布,但这个版本依然没有获得用户的广泛认同。
1990年5月22日,微软推出Windows 3.0,由于在界面/人性化/内存管理多方面的巨大改进,终于获得用户的认同。1992年4月,windows 3.1发布,在最初发布的两个月内,销售量就超过了一百万份;至此,微软公司的资本积累/研究开发进入良性循环。随后,首次发布了Windows 3.2中文版本。不论是图形操作系统的稳定性还是友好性,Windows 3.X都有了巨大的改进。Windows 3.X在界面人性化和内存管理上有了较大的改进:具备了模拟32位操作系统的功能,图片显示效果大有长进,对当时最先进的386处理器有良好的支持。另外,这个系统提供的对虚拟设备驱动(VxD)的支持,极大改善了系统的可扩展性。
1992年10月,Windows for Workgroups 3.1发布,标识微软公司吹响了进军企业服务器市场的号角。1993年,Windows NT 3.1发布,它是第一款真正面向服务器市场的产品。值得注意的是,在这个版本中,微软把主要的API改为32位的版本。
Win32时代(1995~2005)
1995年8月24日,微软推出具有里程碑意义的Windows 95。这是微软开发的第一个独立的32位操作系统,并实现真正意义上的图形用户界面。从此,个人电脑进入了普及化阶段。
另外,Windows 95是单用户多任务操作系统,它能够在同一个时间片中处理多个任务,充分利用了CPU的资源空间,并提高了应用程序的响应能力。同时,Windows 95还集成了网络功能和即插即用功能。
1996年8月,Windows NT 4.0发布,增加了许多了管理方面的特性,稳定性进一步提高。同年11月,针对各种嵌入式系统和产品设计的Windows CE 1.0发布。这标识着微软的战线从桌面系统杀到了服务器市场,又转攻到嵌入式行业;至此,微软帝国的雏形已基本形成。1997年11月,Windows CE 2.0发布。
1998年6月25日,Windows 98发布;与Internet的紧密集成是Windows 98最重要的特性。1999年6月10日,Windows 98 SE发布,以内置方式提供了Internet Explorer 5、Windows Netmeeting 3、Internet Connection Sharing、对DVD-ROM和对USB的支持。
Windows 2000(Windows NT 5.0)Professional于2000年年初发布,它是第一个基于NT技术的纯32位的Windows操作系统,实现了真正意义上的多用户。从此,Windows操作系统进入商业用户市场。Windows 2000包含新的NTFS文件系统、EFS文件加密、增强硬件支持等新特性。
2001年10月25日,Windows家族中极具开创性的版本Windows XP面世。Windows XP具有全新的图形用户界面,整合了更多更实用的功能:防火墙,即时通讯,媒体播放器,增强的即插即用特性。Windows XP具有全面为中国用户开发的中文技术及特性,能够全面满足中国用户在数字时代的需求。
2003年4月,Windows Server 2003发布。这个版本对活动目录、组策略操作和管理、磁盘管理等面向服务器的功能作了较大改进,对.net技术的完善支持进一步扩展了服务器的应用范围。
2004年9月微软发布Windows XP SP2。
Windows Vista(2006.11~)
今年11月,微软新一代的操作系统Vista即将正式发布,它将会极大地改变原有的Windows编程机制。
Vista生成器最终将跟以前的Win32 API进行分离,取而代之的是可管理的WinFX,而WinFX将成为微软继DOS、Win16、Win32之后推出的第四代API。据外刊报道,以前利用Win32 API开发的软件,在微软承诺的维护期之后将不能运行。
Win32 API历经Windows 95到XP,受到众多应用软件开发商的追捧。过去,无论是最常用的字处理、电子邮件、即时通讯软件,还是专业的杀毒、ERP软件等,大都利用微软提供的API进行开发。微软提供了近7.8万个Windows API以及大量的辅助开发工具,这种友好的服务极大地鼓励了无数程序员在微软平台上创造各种应用软件。但另一方面,微软又通过API“控制”了软件的开发,帮助自己成就了霸主地位。如今,在Win32 API逐渐淡出人们的视野后,新一代的API还能如微软设想的那样延续Win32时代的辉煌吗?
微软已经看到了这些威胁。所以,Vista的发行中配带了全新的WinFX。同时,微软的WinFX已经把繁杂的Win32 API减少到8千个左右,在.NET框架下采用可管理代码编程模式,进一步减轻程序员的负担。另外,WinFX还加入全新的图形用户界面子系统Avalon、文件子系统WinFS和网络服务通讯子系统Indigo,使得开发环境更加友好。时势所趋,正如Win32取代DOS和Win16一样,Win32 API也终将被WinFX所替代,而成为新操作系统中的“遗留物”。
据估计,在一段时间内,程序员还可以继续使用Win32 API开发应用程序,但利用WinFX开发的程序并不向下兼容,只能在Vista平台上运行。另一方面,Vista操作系统带来的变化和WinFX开发者框架迟早将会刺激开发者转向.NET框架。因此,作为Windows开发人员,应当尽早掌握.NET框架可管理编码的技能以便应对在2008年全面使用WinFX时可能出现的种种问题。