每种操作系统(OS)都有值得推荐的地方,但是,为了不致于太杂乱,你最好还是限制一下你所运行的OS总数。
1.应用程序的可用性
关键问题:你将选择的OS是否能够运行你目前所运行的应用程序?目前正在为它开发的应用程序有多少?你为要运行的应用程序会付出多少代价?
有多少应用程序可供使用并不仅仅是个数字游戏。如你所知,某个OS所支持的上万个应用程序其实都是游戏。要保证你需要的应用程序都能够买得到,还要确认这些应用程序及其支持合同的费用不应该比服务器更高――那是大型机时代的传统作法。另外,要寻找能以标准方式支持应用程序交互的OS。例如,NT就允许各个应用程序使用OLE在互相之间传递信息。
2.平台支持
关键问题:它是否支持你目前的客户机?它如何支持移动用户?客户机是否需要特殊的软件才能访问服务器?
互操作性有几个层次。在最低层,系统可以定义和使用多种不同的网络协议。NetWare网络使用IPX,而大多数Unix网络和Internet则使用TCP/IP。 缺省情况下,NT使用NetBEUI。所有这些OS都能支持其它的协议, 但它们运行自己的核心协议时效率最佳。在较高层,即使客户机支持服务器的低层协议,也许仍然无法连接。一个典型事例就是,你可以在NetWare 4.11服务器上运行Appletalk,但若一个Mac机不首先加载用于Macintosh的NetWare客户机软件就想注册到服务器上,则会收到错误信息,告诉它该服务器的注册序列不可识别。而同时,NT的Appletalk 实现看起来却像是个标准的Mac服务器。
要选择集成了特殊类型目录服务的OS。其出发点是:用户不但要能够注册到应用服务器上,还要能够访问驻留在该服务器上的任何应用程序。例如, Unix 系统主要使用域名系统(DNS)和 网络信息服务(NIS ),NetWare 4.11 使用NetWare 目录服务(NDS),NT 4.0也使用一种定义域系统。这些互相之间都很难协调,但有些,如NDS,则可以在其结构中接受许多种OS。Web的出现使这种情况更具有争议性,它标准化了一些通信协议, 如 HTTP 和TCP/IP。然而,就目前来说,跨平台集成的最佳解决方案,要么是让一种服务器OS支持公司中运行的所有协议,要么是把某种协议标准化(很可能是TCP/IP)。NT似已精于运行多种协议,包括TCP/IP、NetBEUI、 IPX/SPX 和Appletalk (当然还有其它一些),不过,目前几乎任何OS都有一些扩展功能,可使你的服务器拥有这一级的功能。
3.性能
关键问题:用单个系统能够支持多少用户?你所选择的OS是否支持对称多处理(SMP)?它是否允许你在多个系统上平衡负载?
你可以读到你想要的基准测试(benchmark)结果, 但一个OS的性能到底如何,还取决于你如何使用它。性能是与应用程序无关的。有些基准测试程序,如事务处理委员会的 TPC-C ,表示的是数据库环境下的系统性能。 而其它的, 如BYTEmark,则表示的是特定系统组成部分的性能。OS设计的某些方面表明了你可以期望的性能特点。例如,多线程可以使你的应用程序减少必须进行的上下文切换的数目,从而提高了性能。抢先多任务功能将允许各个应用程序截断对方, 使性能表现更加均等。
NT 、 OS/2 、 OS/400 及SunSoft Solaris都具备上述两项功能,而NetWare则一项也不具备。下一步,要注意可伸缩性,具体就是SMP。所有大操作系统,如 Unix 、 NT 、NetWareSMP、OS/2 及OS/400都支持SMP。问题是:该OS可以处理多少个CUP?例如,NT的最终用户许可证限制为4个,而OS/2则可以像一些Unix实现一样处理多达64个。但是要记住,运行SMP系统,还需要调整你的软件。
4.管理
关键问题:你能否从一个点上控制多个服务器?能否对服务器进行远程访问?该服务器与你的现有管理系统是否兼容?
对不同的人而言,系统管理意味着不同的内容。对许多人来说,备份是系统管理的重要部分。任何OS都有某种内装的备份实用程序。然而,它们都不是最先进的软件包,各有不同的界面。如果你的目的是从中央控制台备份自己的不同服务器,并且你已选用了如Arcada的Backup exec之类的软件,则需确认它亦应支持新的OS。在为网络的扩展作计划时,必须确认所选的OS适合你的管理机制。如果网络不会变得很大,则可以依赖Unix的命令行界面。然而,如果你负责一个服务器群,有十几个机器,则你需要用某种方式使该机群的状态一目了然。
有些软件,如Intel的LANdesk Manager 和Symantec的Norton Administrator for Networks, 都可以帮助你掌握服务器的运行状况。 然而, 它们却不太支持Unix 和OS/400之类的OS。另外,标准SNMP 控制台, 如 Hewlett- Packard 的OpenView,能够向你提供网络上信息流动的情况,但它们不能给你提供特定系统部件级的信息。选择管理功能的基本规则是,无论你选择什么样的OS,要么保证它与你现有的管理策略兼容,要么你自己乐意修改现有的策略来适应新的OS。
5.应用程序开发
关键问题:该平台是否提供了你所使用的开发工具?该OS供应商的支持只提供给独立的软件供应商(ISV),还是可支持具体用户?其API是否是开放的,并资料齐全吗?
大家都在争先上市销售产品,故而良莠不齐。除了最简单的操作层外,每个网络都会需要某种程度的定制。OS必须具有标准的OS服务和工业标准界面,以支持开发。虚拟保护内存、多任务、抢先调度及其它高级功能(如线程及异步I/O),都已是许多高档开发工作不可缺少的。要充分利用OS的定制性能,你需要一套强大的开发工具、文档和该OS供应商对内部开发的支持(这一点最主要)。最起码,开发人员应该能够获得编译器、调试程序、项目管理实用程序及视频程序设计工具。如果你选择的服务器OS厂商只对大型的ISV提供支持,你就不可能找到大批有经验的开发人员。
第三方供应商的支持同样重要。工具、编程环境及全套应用程序通常是由多种NOS平台提供的。使用熟悉的工具,开发人员就能在各个层次得心应手地工作。
6.可靠性
关键问题:它是否支持RAID或集群?其文件系统是否有日志?能否带电插拔零部件?
保护内存体系结构和OS提供的设备驱动程序是一些可靠的操作系统的品质标志,如NT、OS/2、OS/400 和Unix等。不过,NetWare在共享内存空间运行应用程序,应用程序可以在保护模式下运行, 但有可能与OS的机制发生冲突。大部分容错发生在硬件层。无论是以软件形式或是以硬件形式实现的RAID,都已很常见。软件实现的优点主要是价格低,如NT。其它的容错功能,如冗余供电、网卡及冷却风扇,则视所选服务器的不同而不同。OS/400 Solaris还有先进的集群解决方案。IBM正在努力把OS/400 的集群功能(代号为Phoenix)移植到 OS/2 上去。 Microsoft 正在研制一组 API (代号为Wolfpack ),将集群两台NT机。Digital公司已经有一种系统,可实现NT集群。缺省情况下,集群功能是上述操作系统的一个选项,不过这可真是一个昂贵的选项,平均每个CPU数千美元。
7.安全性
关键问题:管理员能否实施口令字限制?该OS是否支持访问控制列表?是否支持”飞行”(onthe-fly)加密?其Orange Book C2级安全性如何?
安全是个很棘手的问题。众说纷纭,却又谁也说不清。简而言之就是,任何OS若不安装并保持使用一种严格的安全政策,都可能遭到破坏,泄露秘密。你必须使用字母数字口令,经常更换口令,或甚至考虑给重要信息加密。这说明OS可以使实施安全性简便易行。文件和目录访问许可就是个起点。每个OS都实现了这两个功能,但稍有不同,如Unix相当隐晦,而NetWare则直观明了。还是这句话,要由每个人具体保证其正确的设置和实施。
审计可以使你掌握何人何时做了何事。它所产生的日志可能很大,但其信息可能是极有价值的,特别是当你想跟踪某个文件最近一次的修改情况时。NT带有一个很好的审计系统,并十分易用。Unix的安全性越来越受到批评。它原来设计时是面向开放的,现在成了攻击的对象。如果你选择了Unix作为你的应用服务器OS,应当立即找供应商索要最新的安全修补程序。关于C2级安全性有许多空话,但也就仅此而已,只是空话。这有一些原因。首先,C2等级只适用于OS的受试版本,例如,NT 3.51有C2级安全性,但其4.0版则没有。此外,Red Book C2级安全性(说明该OS是网络安全的)指的不仅只是这个受试版本,而且还只适用于受试硬件。
小结
从这些方面对OS进行通盘考虑后,就可以很清楚它作为应用服务器的OS将会如何表现了。NT、Solaris、OS/2、NetWare 和OS/400 都是强有力的应用程序-服务器操作系统。这些问题所能教给你的就这么多。在做出初步决定后,还必须把所选择的OS带回公司去,尝试进行开发。这需要时间,成本可能会很高,但这总不会比错误决定的成本更高吧?
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国