技术人生:故事之十五 NT,UNIX?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baiedu/article/details/48573997

故事之十五 NT,UNIX?
谈到Windows NT Server和UNIX,我不妨讲一下我对Windows NT Server的思维的理解。自从NT出现以来,实际上已经出现了一种新的网络思维方式,比较传统的主机系统和磁盘共享来说,这种思维确实难以被人接受,但明确了微软的思维,则有助于我们进行真正高效的程序的开发。他们包括:
NT网络的原理,IIS WEB服务器原理。
首先解释为什么选择了NT网络操作系统平台的问题。这个问题已经在许多人中间争论了很久,特别是在NETWARE和NT之间的争论更是持久战。问题在哪里?问题就在于熟悉NETWARE的人用固有的思维方式来理解NT网络系统。而对于UNIX的使用者来说,如果告诉他,NT是多任务的,多线索的,他立即就明白NT的作用了,但这两个概念,对于NETWARE的使用者来说,是根本没有意识的。
简单地说,NETWARE是DOS的中断扩展,所以才出现NETWARE下的多个程序(而不是进程!)执行时,随着运行程序的增加,内存要求也巨增,这对于在DOS编写过多个程序同时执行的开发者来说是深有体会的。比如一个程序有10MB,十个程序就是100MB!NETWARE只是简单地让这样耗费资源的程序运行,并没有更高明的调度方法。
而NT则不同,它和UNIX相似,使用进程的概念,利用进程调度算法,在多个程序执行时,以进程形式存在,程序运行的数目和内存的消耗并不是正比的。
另外还有一个重要的概念,那就是“服务”(SERVICE)。在UNIX和NT的环境中,服务器上的程序不是简单的EXE或NLM程序体,而是提供服务的一种环境。当用户要求一个服务时,NT就把相应的处理进程调度起来,但要注意,不是运行一个庞大的程序!为了解释服务的思想,我们来看数据库系统的执行,数据库系统是标准的服务系统。当用户在CLIENT端发送请求命令SELECT(简单理解,只是一个字符串!),命令到了服务器,NT根据网络信息的情况,将该命令SELECT分配给数据库系统,如SQL SERVER,则SQL SERVER接收了命令,并执行它,SQL SERVER不是单一的程序,而是一个数据库环境,SQL SERVER执行命令是通过NT的进程调度功能,将解释执行SELECT的服务进程启动(不是一个独立的EXE或DLL!),处理SELECT命令,然后将结果发送给NT,NT再将结果返回给CLIENT。
以上的解释仍然是简单的,但希望这样的解释能够让有DOS和NETWARE思维的人理解NT的思维方式。
而在网络上,微软的思维则更大胆,她试图通过下图的模式,解决目前网络的信息处理问题:

上图的意思是:将所有的服务器连接起来,所有的服务连接起来,形成一个对用户来说如同一台单一服务器,具备各种服务的环境。而且,没有时间和空间距离的限制!从商业角度说,是通过100个低档计算机,系统化地(而不是简单的互连)形成一个或几个高档计算机的性能,而且总体造价很低。基于此种思维,微软的NT中具备了“DOMAIN”,“SERVER”的概念。
从服务的角度讲,微软的思维是,如同现实中的邮电,银行一样,只要你需要服务,随处可以得到。微软的NT网络试图在计算机的世界中实现这个服务体系。用户可以不管计算机服务器在哪里,只请求一种服务,比如,用户需要计算器,则简单输入计算器所在的地址,就能够使用计算器程序了。而这个计算器在哪里,用户无须关心。

展开阅读全文

没有更多推荐了,返回首页