Home > OS & 小型机 > Unix 与 NT 的集成来源

Unix 与 NT 的集成来源

 在大型,“历史悠久”的企业中,Unix 以其稳定性,可靠性,始终成为企业 IT 的主力,同时占据着高端市场。NT 靠 PC 起家,以其易用性,对 DOS,WINDOWS 98% 的兼容性,及善于完成简单任务等优点,逐渐被人们接受,成为 IT 行业的新贵,暴发户,并不断地蚕食着传统的 UNIX 市场。 

在过去的几年中,计算机业有一批人,一直力图将 UNIX 与 NT 两个从内核到设计思想不尽相同的两个平台“粘合”到一起。 因此就有了数家公司开发多种相应的产品,如 Microsoft Windows X Servers,(『缪』 按:从来没有听说有谁用过也从来没有听说有谁见过,估计是十足地见不得人)。SUN 的 Wabi,能在 SPARC CPU 上跑 Windows 3.1 的一部分程序,以及后来的可跑 Windows 95 应用的 Insignia SoftWindows。MKS 公司的 MKS ToolKit 等等。它们有的可让 Unix 的程序跑在 X86 Box 上,有的允许 Windows 应用 Run 在 Unix Box 上。方式有在 CPU 一级进行模拟的,有的是直接将程序移植过来的。

本文主要涉及两个方面的内容:Unix 与 NT 的混合工作模式以及 UNIX/NT 间的程序相互移植,将通过我所用过的一些工具的特点及个人的一点经验教训加以介绍。敬请各位网友,瞪圆双眼,明晓是非,偏听则暗,兼听则明,如有鼓噪及不实之词,皆可推出午门,以正视听。 
· Unix 与 NT 的混合工作模式:

所谓混合工作模式即指 Unix 与 NT 的应用之间所具有的互操作性。 在这方面做的比较有特色的有 MKS Toolkit。 

+ MKS ToolKit

MKS ToolKit 是让一些常用的UNIX 的命令可运行在 Windows’95/NT 平台上,如:ls,cat,awk,sed,ksh 等有 200 多个。这样在 Windows’95/NT 平台上不仅可以运行 Unix 的命令,更主要的是它大大简化了一些 Unix 的应用程序向 NT 移植的工作。 

MKS Toolkit 具有良好的兼容性(与 Unix 上的命令与参数),MS 也正是因为其, 同时也是为了吸引更多的用户从 UNIX 转移到 NT 上来,不必一步将他们统统掐死,将 MKS 中的一些常用的命令 和工具,做成 Windows NT Services for UNIX Add-On Pack 程序包发布, (其实,MS 只不过又一次签了支票簿),这样许多 Unix 上的 Scripts 文件可不加修改地运行在 NT 平台上,这就大大加强了 NT 与 Unix 的互操作性。另外,在 Windows’98 中也有部分的集成。 

还包括资源共享 – Windows NT Workstation 4.0 的用户将能访问 Unix 系统上的文件,而 Unix 工作站用户将能访问 Windows NT 上的 资源, 远程管理 – 通过 Telnet 给远程用户提供了远程登录基于 Windows NT 或 Unix 的系统并在其上执行命令的能力, 密码同步 – 允许用户在他们基于 Windows NT 和 Unix 的机器之间 保持一个公共密码。在 Windows NT Workstation/Server 上进行的密码 修改将自动地在 Unix 系统上同步。它还将提供一个无缝的导航环境,因此, 用户无需多次键入他们的口令就能够使用基于 Windows NT 的服务器和 Unix 系统上的的数据。这大大简化了在一家公司内,要有两套分别运行于 Unix 和 NT 的资源环境。 跨平台的通用 Script – Windows NT 上可运行 Unix 上的 Script。 

我刚开始在做 Unix 到 NT 的程序移植时,还在苦于如何将所有的 Unix Scripts 转成 MS Nmake 认识的 Makefile,没想到一见到 MKS, 对于我这个整天被老板逼着,如杨白老被黄世仁逼着卖喜儿一样,强迫让出 Solaris 的 20 寸大屏幕,改亲 Windows NT 14 寸的小窗口人来说,简直是“天上掉下个 儿林妹妹”。原有在 Unix 上的 Scripts 未加多少改动,就风风火火地在 NT 上跑了起来。这回喜儿不用卖了,顺便还拐跑了地主家的二奶奶! Unix 和 NT 两台机器兼而得之。 

顺便讲了一下,虽然我在家里的机器上装了瘟 95(没办法,我母亲大人每天 要在上面翻扑克来进行身体锻炼),但仍把 MKS 做为标准配置。 MS Prompt 固然好用,但 Unix 的命令则更强大。 一句话,简单,方便,清晰,实用,这是每一个 Unix Lover 的共同心声。 

如果非要从美女的脸上识出几个美人痣话,令人遗憾的是 MKS ToolKit 没有提 供最常用的,扩展的 Shell – CSH,但这是残缺,遗憾的美。 

+ Hamilton C Shell

Hamilton C Shell 弥补把 MKS 的缺憾,它也提供了 常用的 UNIX 命令,当然最有特点的还是它的 CSH。 

Hamilton C Shell 是我所知道的最好的 C Shell 了,其兼容性,适用的广泛性都 无与伦比。可惜的是它不是免费的。一个 Free Demo 版只能让您连续运行十条命令, 长于十行的只能做罢。 

+ Hummingbird Exceed & NFS Maestro

Hummingbird – “蜂鸟”公司,并不想其名字那样小的不让人知晓。这是一家 赫赫有名,让我佩服地甘心愿为其舔地板的公司。它不仅有一帮通晓 Unix 的 专家,而且还有一群能给 MS 把脉诊病的能人。他们开出 Unix 的处方,来拯救 NT 这个病人。 

Hummingbird Exceed & NFS Maestro 就是一无人能出其左右的产品。 

Exceed 提供了大部分 UNIX 上的工具,如 Telnet,FTP,但 是其支持 X11R6.3 的 X Server。将绝大多数的 X Windows 客户端程序 毫无保留地运行在 Windows 95/NT 平台上了。 

Maestro 将 Unix 以 NFS 分享出的硬盘,连入 NT 的文件系统当中。两个不 同的文件系统可自由地交换数据,分享数据。 另外还有一些 Mini 公司,提供象 CronD, TelnetD 等这样非常重要但 NT 又不具备的 Daemon 工具。 

说到底,NT 只是一个单用户,多任务的操作系统。 它不提供一个用户以两个或两个以上的身份在终端前登录。有了这些实用的工具 补充,NT 看上去有点象个多用户,多任务的操作 系统了,并且多多少少有点 Unix 的影子了。 

+ WinFrame 

Citrix 的 WinFrame 是一个不错的产品。 

首先,它是一个支持多用户的 Windows 程序,允许 15 个人同时登录运行程序 在一个服务器上。 

支持 Microsoft RAS,NetWare Connect,LANRover and Cubix WorldDesk Commuter 及 Comlink 等远程。登录支持远程用户以 dial-up phone,ISDN,X.25 或 Frame Relay 以及 Internet 等多种联接方式。瘦客户端设计,可在 386 上运行32位的应用程序。因此,用 WinFrame 做一个多用户的客户端应用程序是相当不错的选择。 

另外,Citrix 还有一个 NTrigue 产品用于从 UNIX 到 NT 的程序移植。 
其实还有一个非常实用且重要的功能,即是否对 NIS 的支持。 

NIS 是一个简单的“平板”数据库, NIS 的概念首先由 SUN 提出并在 SUN OS 上 率先实现。其它的 Unix 版本也陆续增加了对 NIS 的支持。 后来的目录树服务,NT 中的 Domain 的 概念,无不是其引伸和扩展。 但差别在于 NIS 做为 Open Standard 服务于大众, 而 Bill Gates 则是将其烙上 MS 的“纪念戳”用来赚你的钱。 NIS 与 Domain 并不兼容,它们的信息不能完全地互相交换。因此,在 Unix 与 NT 的混合网络中,有些系统资源信息,如用户,组,权限,安全审计等等 常常是 Unix 上一份, NT 上又一份,操作时做互相转来换去, 这造成了效率的低下和资源的浪费。 现在,已有些公司致力于开发 NIS 与 Domain 的集成与互操作的产品了。 

· 从 UNIX 到 NT 的程序移植: 

+ OpenNT

由于 NT 本身支持多个操作系统环境,如 POSIX 子系统,提供 POSIX 1003.1 和 POSIX.1 的 Windows API. 兼容 POSIX 1003.1 并不意味着一个健全的 Unix 系统,但在 NT 内部 Build 一个 Unix 内核已经足够了。OpenNT 扩展了 NT 的 POSIX 子系统, 包括全部的 POSIX 1003.1 系统功能调用,和与 POSIX 1003.2 兼容的命令和工具, 并增加了 ANSI C 接口,BSD sockets ( 对映于 NT 的 Winsock ,IPC, X11R6.3 服务器,Telnet 服务器,标准的 TCP/IP 客户端程序,完整的 Unix 开发环境 ( 如 GNU C/C++ 的编译器,也可以选择 MS VC , 包括 OSF/Motif 开发环境,还有支持全部 Shell 功能 Korn 和 C Shell,awk,sed 和 Perl 脚本语言等等等等。这么多的东东都跑在你的 同一个 NT 本台上! 

不是我对 OpenNT 青睐有佳,我只是觉得照着其有的功能,选系统的了。 更重要的是它将一个“傻子” NT,提升到一“专家”系统。 Softway Systems 的 OpenNT,我刚刚咨询过后没有几天,人家就寄来了测试光 盘和资料介绍。 我没有给过其一分钱,不太好意,对不住其热情,就在这买买力气为其吆喝吆喝。 

+ Nutcracker

Nutcracker 免费提供了 UNIX 到 NT Port 的技术文档,非常的详细,对 其概念上的理解很有好处。 

+ CYN-Win32

在谈到 UNIX 到 NT 的程序移植时,不能不提及 CYGNUS 的 CYN-Win32,很多人都用它做 Unix Port 的工作,有很好的用户支持, 而且它是个免费的 软件。无论何时何地,Free The Best,免费的永远是最好的! 

有了好的工具,往往能达到事半功倍的效果。与我同组的人及我的老板,坚持要用 M$ 的 Visual C++,几个人一个多月都没有完成。而我选择了CYGNUS 的 CYN-Win32, 利用星期五、六、日及星期一四天 时间,借了人一台 Pentium Pro 的机器,搭环境,设置系统, 连源程序及其外部工具程序,包括 Tcl/TK、 itcl,外加 SYBASE 的 Open Connectivity 的工具就 Build 完成了。我的老板 知道后傻呆了。这就是 PC 科班出身与 Unix 人的世界观的不同之处吧。 
· 从 NT 到 UNIX 的程序移植: 

从 NT 到 UNIX 的程序移植工具不多,比较有名的要数 Bristol Tech 的 Wind/U,M$ 的 IE 就是用它移植到多个 UNIX 平台上的。 本人曾经有幸拜读有关 MS 从事这个 Project 的 Group 的报道, 令人发笑的是,在图文并茂的报道中,其组长,一位可爱的印度老哥,举着一张 
Peace and Love between Unix & MS

Categories: OS & 小型机 Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin