第四章银行常用操作系统
本章将对银行计算机中常用的操作系统UNIX和Linux作简要的介绍,着重说明两者的特点和应用场合,而对另一个常用的操作系统Windows不作介绍。
4.1操作系统的基本概念
计算机系统是由硬件和软件两部分构成的。如图4.1所示,软件大致可分成系统软件、支撑软件和应用软件三层。操作系统属于软件中的系统软件,它是紧挨着硬件的第一层,是对硬件功能的首次扩充,其它软件则是建立在操作系统之上的。
各种用户
支撑软件:数据库、网络、多媒体…… |
应用软件:文字处理、科学计算、 图像处理、管理信息系统…… |
系统软件:操作系统,编译程序…… |
硬件系统 |
图4-1计算机系统的层次结构
操作系统在计算机系统中占据举足轻重的地位,它是硬件与所有其它软件之间的接口。任何数字电子计算机,从微处理器到巨型计算机都必须在其硬件平台上加载相应的操作系统之后,才能构成一个可协调运转的计算机系统。只有在操作系统的指挥控制下,各种计算机资源才能为用户所使用,也只有在操作系统的支撑下,其它系统软件(如各类编译系统、程序库等)才得以取得运行条件。没有操作系统,任何应用软件都无法运行。
可见,操作系统实际上是一个计算机系统中硬、软件资源的总指挥部,操作系统是软件技术含量最大、附加值最高的部分,是软件技术的核心,是软件的基础运行平台。
我们可从五个方面来全面地叙述操作系统的定义:
●从软件的角度看:操作系统是程序和数据结构的集合,它是由指挥和管理计算机系统运行的程序和数据结构两部分内容构成的。
●从扩展机器的角度看:操作系统是位于无软件的机器(裸机)和用户之间的一个界面,为用户提供一台等价的扩展机器。它向用户提供一组功能,用以简化程序设计、调试和维护。
●从资源管理器的角度看:操作系统负责对计算机软、硬件资源(含处理机、存储器、文件、I/O设备)进行控制、调度、分配和回收。
●从用户使用的角度看:为用户提供一组功能强大的、方便好用的广义指令(系统调用)。
综上所述。操作系统是计算机系统中的核心控制软件,它对计算机实施管理和控制,对软件资源进行分配,合理组织计算机工作流程,以便有效地利用这些资源,并为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与用户之间起到接口作用。
4.2 UNIX操作系统
UNIX是操作系统是中的一颗“常青树”,是银行计算机中最常用的操作系统之一。本节将简单回顾UNIX的发展历程,介绍UNIX的结构和优、缺点,最后对它的发展前景做出客观的分析。
4.2.1概述
UNIX是一种多用户操作系统,是目前的三大主流操作系统之一,也是银行计算机中最常用的操作系统。
图4.2 Ken.Thomson 和D.M.Rittchie |
Unix最初用于教学,以后经历了多次修改,形成多个版本,被移植到各种硬件体系结构中,发展成为国际标准和工业标准。几十年来,Unix一直是全世界的主流操作系统之一,技术相对成熟、可靠性高、网络和数据库功能强并具有良好的开放性。它在科研、教育、商业、工业等众多领域内发挥着巨大的作用,特别是能够满足企业重要业务的需要,Unix已成为主要的工作站平台和重要的企业操作平台。
Unix的版本有:BSD Unix、System V、OSF/1、XENIX、SCO Unix等,各种版本的基本结构、操作和配置大致相同。由于SCO Unix在Intel平台运行良好,IBM、HP、COMPAQ等众多厂商共同推崇SCO Unix作为PC Sever的主流Unix操作系统。另外,近年来IBM公司推出的AIX版本因用户界面友好也得到用户的青睐。
1.UNIX发展的5个阶段
图4.3画出了UNIX发展历程。图中的最后三框分别是UNIX的目前的主要变种,它们是SUN Solaris、IBM AIX和HP UX等。
(1)UNIX的诞生
“UNIX”这个名字是取“Multics”的反义,其诞生背景与特点一如其名。
Multics(MULTiplexed Information and Computing Service)项目由贝尔(电话)实验室、通用电气公司和麻省理工学院联合开发,旨在建立一个能够支持数千用户的分时系统,该项目因目标过于庞大而告失败,并于1969年撤消。
退出Multics项目后,贝尔(电话)实验室的雇员肯尼思.汤普森(Ken.Thomson)于1969年中期开始在一台闲置的PDP-7上开发“太空漫游”游戏程序。因PDP-7缺少程序开发环境,为便于此游戏程序的开发,Ken.Thomson与公司的另一名雇员丹尼斯.里奇(D.M.Rittchie)一起用GE-645汇编语言开发PDP-7上的操作环境。最初是一个简单的文件系统(后来演化为s5文件系统),很快又添加了一个进程子系统、一个命令解释器(后来发展为Bourne shell)和一些实用工具程序。他们将该系统命名为UNIX。
此后,随着贝尔实验室的工作环境的需要,他们将UNIX移植到PDP-11上,并逐渐增加了新的功能。UNIX很快地开始在贝尔实验室内部流行,许多人都投入到它的开发中来。1971年,《UNIX程序员手册》第一版问世。
1973年D.M.Rittchie开发的C语言对UNIX的发展起了关键作用,同年,他用C语言重写了UNIX(UNIX第4版),C语言的采用使UNIX的可移植性大大增强,这也是UNIX走向成功的关键之举。
1973年Ken.Thomson和D.M.Rittchie在ACM(Association for Computing Machinery,计算机协会)的SOSP(Symposium On System Principles,操作系统原理讨论会)发表了首篇UNIX论文,这是UNIX首次在贝尔实验室之外亮相。
(2)1973年到20世纪70年代末:免费扩散
UNIX在贝尔实验室外的首次亮相引起了众人的关注和兴趣,UNIX软件和源代码迅速以许可证形式免费传播到世界各地的大学。这些大学、研究机构在免费使用的同时,对UNIX进行了深入的研究、改进和移植。AT&T又将这些改进与移植加入以后的UNIX版本中。这种管理员与用户之间的敬业精神正是UNIX加速成长和不断发展的关键因素。近年来,Liunx的发展酷似当年UNIX早期发展的情形。
另外,众多大学对UNIX的免费使用,使学生很快熟悉UNIX,这些学生毕业后又把UNIX传播到各商业机构和*机构,这对UNIX早期的传播和普及也起了重要作用。
UNIX的首次移植是由Wollongong大学于1976年在Interdata机上进行的。其它几次较早的移植包括:1978年,微软公司与SCO公司合作将UNIX移植到Intel 8086上,即最早的UNIX商业变种——Xenix系统;1978年,DEC公司又将UNIX委托移植到32位的超级小型机VAX上,即UNIX/32V(3BSD的前身)。
(3)20世纪70年代中期到80年代中期:商用版本的出现(1977年)和三大主线的形成
UNIX的快速发展导致众多的计算机公司开始发行自己机器上的UNIX增值商业版本。UNIX的第一个商业变种是1977年Interactive System公司的IS/1(PDP-11)。20世纪80年代著名的商业变种有SUN公司的Sun OS、微软公司与SCO公司的XENIX等。
20世纪70年代中期到80年代中期,众多大学与公司的参与使UNIX的变种迅速增多。这些变种主要分成3条主线:由贝尔实验室发布的UNIX研究版(从V1到V10)、加利福尼亚州大学伯克利分校发布的BSD(Berkeley Software Distribution)、由贝尔实验室发布的UNIX System III和System V。
1984年的AT&T大分家使AT&T可进入计算机市场。因此,除了贝尔实验室研究小组继续研究和发行UNIX研究版之外,AT&T成立了专门的UNIX对外发行机构。最初是UNIX支持小组,接下来是AT&T信息系统。这些机构先后发行了System III(1982年)、System V(1982年)、System V Release 2(SVR2,1984年)、SVR3(1987年),许多商业UNIX变种都是基于这条主线实现的。
加利福尼亚州大学伯克利分校是最早(1973年12月)取得许可证的UNIX用户之一,最初的BSD版本发行(1978年春的1BSD和1978年末的2BSD)仅包括应用程序和实用工具(如VI、Pascal、C Shell等),没有对操作系统核心本身进行修改和再发行。1979年末的3BSD则基于UNIX/32V设计了页式虚存,是加利福尼亚州大学伯克利分校发行的第一个操作系统核心。因3BSD中所做的虚存工作使该校得到美国国防部资助,进而推出了4BSD(1980年的4.0 BSD到1993年的4.4 BSD),其中集成了TCP/IP,引入了快速文件系统FFS、套接字等大量先进技术,这些由BSD率先引入的先进技术对UNIX的发展具有重要影响。
到20世纪80年代,UNIX已运行于从微型机到巨型机等众多不同的机型中。UNIX已成为当之无愧的通用操作系统。
(4)20世纪80年代后期:两大阵营和标准化——SVR4(UI)、OSF/1、POSIX、X/OPEN等。
20世纪80年代后期,UNIX已出现了很多变种,变种增多导致了程序的不兼容性和不可移植(即同一应用程序在不同UNIX变种上不能不经修改而直接运行)。因此,迫切需要对UNIX进行统一标准化。这就引发了标准化倾向——两大阵营(以SVR4为契机)和中间标准机构的出现。
1987年,在统一市场的浪潮中,AT&T宣布了与SUN公司的一项合作,将System V和Sun OS统一为一个系统。其余厂商(IBM、Digital、HP、Apollo等)迫于市场压力联合开发了新的开放操作系统。他们的新机构称为Open Software Foundation(开放软件基金会,简称OSF)于1988年成立。作为回应,AT&T和SUN公司联盟也在1988年形成了UNIX International(UNIX国际,简称UI)。以SVR4为契机的这场“UNIX战争”将系统厂商划分为UI和OSF两大阵营——围绕着两大主要UNIX系统技术:AT&T的System V和OSF/1的OSF系统。
1989年,在System V、BSD和XENIX的基础上,AT&T的UNIX Software Operation(UNIX软件工作室,简称USO)设计实现了SVR4。SVR4是非常成功、广泛使用的一个版本,目前大部分UNIX商业变种都基于SVR4)。因为,SVR4取众之长,从当时的3个主要UNIX平台——BSD/Sun OS、SVR3、XENIX的身上,汲取了各自最好的技术。
与UI相对立的OSF,也于1989年推出OSF/1(基于Mach 2.5)。此外,20世纪80年代中期由Carnegie Mellon大学开发的Mach是UNIX的一个重要变种,它支持UNIX编程接口,但却是一个全新的进程通信结构和微内核的分布式操作系统。OSF/1和NextStep等商业系统都是基于Mach 2.5的。UNIX的发展历程如图4-3所示。
(5)20世纪90年代:共同面对外来的竞争、两大阵营的淡化
20世纪80年代是UNIX蓬勃发展的十年,而20世纪90年代是UNIX发展屡经考验的十年。20世纪90年代初期,美国经济低靡,再加上微软公司的Windows系统迅猛发展,这一切都威胁着UNIX的发展乃至生存。20世纪90年代后期又出现了一个新的竞争对手Linux。共同面对外来的竞争,使两大阵营(UI与OSF)的争斗很快淡化下来。
1993年UI停止商业动作。出自多种原因,SVR4从1989年至今几经易主。先后曾属于AT&T的UNIX Software Operation(1989年)、UNIX系统实验室(UNIX System Laboratories,简称USL)(1991年)、Novell公司(1991年拥有部分股权、1993年拥有所有股权)、X/OPEN(1993年底,仅拥有商标和授权书)和SCO公司(1995年底至今)。
OSF也少有作为。1993年,Digital公司发行的DEC OSF/1是唯一的基于OSF/1的主要商业操作系统。此后,Digital公司从该操作系统中删减了许多与OSF/1相关的部分,1995年则将其改名为Digital UNIX,在1998年DEC公司被Compaq公司并购后又改名为Tru64UNIX。
2.什么是UNIX
狭义地说,UNIX指的是一个多用户、多任务的分时操作系统内核(kernel)。内核的功能是用于控制并管理计算机的资源,使多个用户可以同时访问这些资源。内核负责进程的创建、控制、调度,为进程分配内存和外设,提供文件系统的管理功能。广义地说,UNIX不仅指系统内核,它还是一个程序设计环境,能为程序员提供丰富的软件开发工具,包括UNIX的实用命令、编辑器、编译程序、调试工具、数据复制和备份、打印、数据库等。
3.UNIX的标准化
由于UNIX被移植到各种各样的硬件平台上,即使同一种硬件平台上,也会有许多种不同的UNIX操作系统软件产品,如x86系统上就有SCO UNIX、Solaris、Linux等。UNIX的版本种类日益增多,这些版本都出自于不同厂家,加上厂家又扩充了UNIX内容,这导致了各种UNIX之间的可移植性,尤其是用户编写的源程序和命令在各种版本的UNIX之间的可移植性越来越低。在这种情况下,就有一些国际性组织着手制订UNIX的标准。这些标准常常出现在UNIX产品的使用手册中,以供用户在进行可移植性程序设计时的参考。这些标准通常只定义系统的界面,不关心系统内部的实现。下面介绍常用的几个标准:
第一版(1971年)年年 9( |
SYSTEMIII(1982年) |
1BSD(1978年) |
SYSTEM V(1983年)
|
2BSD(1978年)
|
3BSD(1979年) |
SVR2(1984年) |
MACH 2.5 |
第三版(1973年) |
第六版(1975年) |
第七版 |
第八版
|
第九版
|
第十版 (1989)
|
SVR4(1989年) |
4.XBSD(DARPA) |
OSF/1(1989年) |
4.4BSD(1993年) |
DEC OSF/1 |
Digital UNIX |
Tru 64 UNIX |
SUN solaris |
HP UX |
IBM AIX |
SVR3(1987年) |
图4.3 UNIX的发展历程 |
(1)IEEE P1003标准:此标准于1986年制订,称为POSIX(Portable Operating System Interface)。它定义了一整套的作业接口,包括系统调用、库函数、公共命令等。这套标准一直在不断演化和完备中。
(2)X/Open标准:这是一个标准化组织的名称,最初由几家欧洲的计算机公司组成,此组织于1989年发表了X/Open Portability Guide第3版,称为XPG3。
(3)SVD(System V Interface Definition)标准:这是AT&T制订的标准,它与POSIX兼容。
(4)OSF(Open Software Foundation,开放软件基金会):这是由IBM、HP、DEC等几家计算机厂商成立的标准化组织,它于1990年发表了OSF/1标准。
(5)FIPS(Federal Information Processing Standard,联邦信息处理标准):此标准由美国*出版,用于指导美国*的计算机系统采购。它于1989年出版FIPS 151-1,规定了必须支持的POSIX可选功能,因此,它实质上是个更严格的POSIX标准。
4.2.2UNIX的主要变种
除了贝尔实验室的“正宗”UNIX版本外,UNIX还有大量的变种。例如,目前主要的变种有SUN Solaris、IBM AIX和HP UX、CompaqTru64UNIX(原名Digital UNIX)、SCO公司的SCO UNIXWare、SGI公司的Irix,不同变种间的功能、接口、内部结构与过程基本相同而又各具个性(根据不同机器的体系结构、不同的设计目标与用户需求),表4.1列出了这几个变种的概况。它们大多是基于SVR4的。
除变种外,UNIX还有一些克隆系统,如Math和Liunx。克隆与变种的区别在于:变种是在正宗版本的基础上修改而来(包括界面与内部实现),而克隆则仅仅是界面相同,内部是完全重新实现。有时也将克隆和变种统称为变种。
表4.1 目前UNIX主要变种概况
变种名称 |
公司名称 |
最新版本 |
硬件平台 |
内部基准 |
遵循标准 |
简介 |
Solaris |
SunSoft |
Solaris 8 |
SunSPARC, INTEL PC工作站和服务器 |
SVR4 |
Unix 98 |
Unix市场第一 |
ALX |
IBM |
AIX 5L |
IBM 64位Powe / PowerPC CPU, Intel AI-64 |
|
Unix 98 |
|
HP UX |
HP |
HP UX IIi |
HP 9000服务器(HPPA-RISC体系结构) |
|
Unix 95 |
|
Tru64 Unix |
Compaq |
Tru64 Unix 5.1 |
Compaq Alpha 工作站和服务器 |
Mach |
Unix 95 |
|
SCO UnixWare |
SCO |
UnixWare 7.1 |
Intel PC工作站和服务器 |
|
Unix 95 |
|
Irix |
SGI |
Irix 6.5 |
SGI MIPS工作站和服务器 |
|
Unix 95 |
|
从表中可见,Solaris的最新版本Solaris 8的市场占有率最高,Solaris 8是64位分布式计算运行环境,其核心是完全对称多处理和多线程的,并基于SVR4(Sun OS 3.0之前的版本基于4BSD)。Solaris内部结构是硬件无关的,即对核心内硬件无关代码与硬件相关代码作了严格的、最大程度的分离,因此,实现了真正的可移植。目前它的硬件平台基于SPARC和Intel,但SUN公司将考虑支持未来新出现的主流平台。
4.2. 3 Unix操作系统的特点和体系结构
1.Unix操作系统的特点
现在的Unix操作系统与早期版本相比,已发生巨大变化,但作为Unix系统的基本特点仍然保留下来。其主要特点表现在:
(1)可靠性高。可每天24小时、每年365天不间断地连续可靠工作。
(2)它是多用户、交互式的分时操作系统。即不同的用户分别在不同的终端上,进行交互式操作,就好像各自独占主机一样。
(3)开放式系统。开放性是Unix最重要的特征。Unix核心程序和系统支持的软件大多都用C语言编写,少数与机器有关部分用汇编语言描述,其目标代码效率较高,使用户的应用程序可在不同执行环境下运行。
(4)向用户提供两种友好的界面。其一是程序级的界面,即系统调用,使用户能充分利用Unix系统的功能。它是程序员的编程接口,编程人员可直接使用这些标准子程序。例如,对有关设备管理的系统调用read或write便可对指定设备进行读写,open与close可打开和关闭指定的设备。其二是操作级的界面,即功能完善的诸多命令,它们为用户提供交互式的功能,程序员可用高级语言编程直接调用它们,大大减少了编程难度和设计时间。
(5)具有可装卸的树型分层结构的文件系统。该文件系统具有使用方便、检索简单的特点。
(6)设备具有文件属性。将所有外设都当作文件看待,分别赋予它们相应的文件名。用户可像使用文件那样使用任一设备,而不必了解设备的内部特性。这既简化了系统设计又方便了用户使用。
(7)易移植和扩充。这一特色主要源于C语言和源代码开放政策。由于Unix系统90%以上的代码是用C语言编写的,因此它具有很好的移植性。到1984年,UNIX操作系统已被移植到70多种计算机系列上。
(8)可伸缩性和互操作性强。可伸缩性是指在范围很广的性能和配置的硬件上运行的能力,而互操作性是指是在不同厂家的机器上运行和通信的能力。这两点是开放系统的基本特征,也是UNIX系统的重要特色。Unix系统是世界上唯一能在小至笔记本电脑、PC机、工作站、中小型机,大到巨型机上都能运行的操作系统,而且能在所有主要体系结构上运行。至今为止,世界上还没有第二个操作系统能做到这一点。
图4.5 Unix系统结构 |
(10)网络功能强。UNIX系统提供了一系列的网络通信工具和协议,著名的TCP/IP协议就是在UNIX上开发成功的,目前使用极为广泛。此外,在UNIX上实现和使用的网络协议还有NFS、NUC、IPX/SPX、SLIP、SUP/PPP等。
2.UNIX的体系结构
Unix操作系统的体系结构分成内核和核外程序两大部分,如图4.5所示。上述划分只是一个概念上的区分,因为在各种UNIX的不同实现中,这两大部分无论在内容和组合方式上都有很大的不同。例如,早期(1977年前)的UNIX内核只有10000行C语言语句和1000行汇编程序,而目前在微机上运行的一个UNIX版本,其内核程序量就超过100万行C语言程序。
Unix的内核包含了操作系统的主要功能,即进程管理、存储管理、文件管理和设备管理。其中,内核的最外层是系统调用,它是Unix内核的对外接口,也是用户程序获得操作系统服务的唯一途径。核外程序包括Shell解释程序、用户程序和其它应用程序,通过系统调用访问内核。所有核外程序都在Shell命令语言解释程序的管理和控制下为各用户服务。
Shell是Unix操作系统的命令设计语言和命令解释语言的统称,是用户与Unix操作系统之间的界面,是联系内核与用户程序的接口。Shell根据用户输入的命令,找到相应模块中的程序,建立进程并执行。它具有控制变量和编写程序的功能,可满足不同层次用户的使用要求。
Shell有很多版本,使用较普遍的有Bourne-Shell、C-Shell、Korn-Shell和WK-Shell。其中,C-Shell的语言风格类似C语言,故称C-Shell。WK-Shell是最新版本的Shell,具有图形开发能力。
4.2.4 Unix操作系统的网络功能
这一节要特别提及Unix操作系统的网络功能,这是因为作为Internet的关键技术的TCP/IP协议,就是在Unix上开发和发展起来的。Unix操作系统的网络功能非常强大,有一种说法是,“没有Unix就没有Internet”,这一点也不过分。目前,Unix服务器在Internet服务器中占80%以上,保持绝对优势。
此外,Unix还支持所有常用的网络通信协议,包括NFS,DCE,IPX/SPX,SLIP,PPP等,使用Unix系统能方便地与已有的主机系统以及各种广域网和局域网相连接,这也是Unix具有出色的互操作性(Interoperability)的根本原因。
Unix操作系统提供两组不同的网络服务,来实现基本的网络功能。这两组服务是:ARPA服务和Berkeley服务。这里,APRA是美国国防部远景研究规划局,Berkeley是美国加利福尼亚州西部的一个城市名。常用的ARPA服务是Telnet和FTP,常用的Berkeley服务是rcp、rlogin和remsh等。
下面将对上述常用服务作简单介绍:
1.Telnet
Telnet是ARPA服务中的远程登录程序,用来远程登录另外的计算机。这样可以在本地终端上使用远程计算机,甚至使用远程计算机上的打印机。而所有的工作站都是在远程计算机上完成的,本地的计算机只起到一个住外传递的作用。Telnet连接也能够被关闭,如使用exit即可退出远程计算机。
2.FTP
FTP(File Transfer Protocol)也一种ARPA服务,用来在本地计算机和远程计算机之间拷贝文件。当用FTP命令与远程计算机建立连接后,就可以列出远程计算机上的文件(ls)、从远程计算机获得文件(get)、将本地文件送到远程计算机(put)以及断开同远程计算机的连接(quit)。
3.rlogin
rlogin是一种Berkeley服务,即使用本地的用户名登录远程计算机。这和Telnet不同,Telnet必须用远程计算机上的账号登录。
4.rcp
rcp(remote copy program)是Berkeley服务中的远程复制程序,在已连接的远程计算机之间相互拷贝文件。
5.remsh
remsh是一种Berkeley服务,允许在远程主机上运行程序,在本地终端上看结果。同样也能使用连接在远程主机上的打印机。
4. 2.4 UNIX的优点、缺点和发展前景分析
最早的UNIX具有内核结构小巧精湛、接口简洁统一、功能丰富实用、用C语言编写、可移植性好、源代码免费开放等众多优点,这些优点对UNIX的成功崛起具有重要作用。但后来这些优点并没有完全保持至今,因UNIX变种不加控制的繁衍和功能的不断增添,其中的一些优点甚至逆向发展。目前的UNIX内核不再小巧,而是变得庞大、复杂和笨拙。源代码免费开放和简单的许可证传播形式促进了早期的普及,但也导致了后来各变种之间的不兼容性。
此外,早期的UNIX具有内核结构可扩充性不强、缺乏图形界面、接口对初学者和普通用户不友好等据点。这些缺点部分得到改进,部分依然存在。UNIX的图形界面在后期已得到改进,出现了IBM的AIX、X-Windows、Motif等图形界面的版本。内核结构问题至今仍存在。
UNIX操作系统从上世纪60年代末的一个实验室产品发展到目前安装数量超过500万套,用户超过3000万的一种主流操作系统,其业绩举世瞩目。
纵观UNIX从诞生至今走过的几十年的历程,其最初的许多概念、命令、实用程序和语言,今天仍在沿用,这充分显示了UNIX这一优秀操作系统的设计实力和运用魅力。从总体上来看,UNIX今后发展的主要趋势是统一化、标准化和不断创新。在统一界面的前提下,在具体实现上各厂商都积极采用微内核、多线程和面向对象等新技术,并进一步巩固和发展UNIX本身具有的网络通信功能强、开发工具丰富等优势,以满足分布式计算机环境及迅速发展的Internet计算模式的需要。
由于UNIX的开放性,使它的发展充满活力和生机,与UNIX有关的新技术和新产品将不断涌现,可能预料,UNIX系统将会在这种既有竞争、又有协作的环境中不断发展和前进。
4.3 Linux操作系统
Linux是一个UNIX兼容的操作系统,也是一个很有发展前途的操作系统。本节将介绍Linux的特点、功能、系统组成、系统服务、应用现状,并对Linux未来进行了客观的分析和展望。
4.3.1概述
Linux是一个多用户操作系统,是UNIX的一个克隆(界面相同但内部实现不同),同时它也是一种源代码公开、免费的*软件,这是它与UNIX绝大多数变种(UNIX绝大多数都是商业变种)的不同之处,它可运行于多种平台。UNIX的诞生和发展是与Internet紧紧联系在一起的,可以说这是Internet创造的一个奇迹。
图4-6 Linus Torvalds |
由于Linux具有结构清晰、功能简捷和完全开放等诸多特点,许多大专院校的学生和科研机构的研究人员相继把它作为学习和研究的对象。他们在更正原有Linux版本中的错误的同时,也不断地为Linux增加新的功能。在不到三年的时间内,得以众多热心读者和程序高手的帮助,整个Linux操作系统得到迅速扩充和发展(由最初的10000行程序猛增到100万行左右),并成为一个稳定可靠、功能日臻完善的操作系统,并很快赢得了众多公司的支持,其中包括提供技术支持,为其开发Linux的应用软件,并将Linux的应用推向各个领域。
国际上,许多知名的IT厂商纷纷宣布支持Linux,从Netscape、IBM、Oracle、Informix、Ingres到Sybase等都相继推出基于Linux的产品。其中,Netscape的支持大大加强了Linux在Internet应用领域中的竞争地位;大型数据库软件公司对Linux的支持,对它步入大、中型企业的信息系统建设和应用领域打下了坚实的基础。2000年10月11日,非营利机构*标准团体FGS在第三届亚特兰大Linux展示会上正式发布了全球第一个Linux开发平台规范——LDPS,使Linux的发展更趋标准化和规范化。
在中国,Linux也迎来了它发展的大好时光,不仅有*的支持、厂商的投入和媒体的赞誉,还有广大用户的认同。从1999年3月开始,国内陆续出现多个Linux的中文版本,其中较有影响的有,中科院软件所、北大方正和Compaq三家合作开发的中文版Linux操作系统“红旗Linux”。同年11月,Tom Linux、Cosix Linux等也相继问世,使国内中文Linux版本日趋丰富和完善。2001年3月16日,由中国软件评测中心、HP、IBM、Intel、联想等5家公司又共同携手建立了Linux开放实验室(Linux Open Lab),这为Linux在中国的规范发展创造了十分有利的条件。
纵观中国银行业,随着金融信息化向纵深的发展信息化的深入,对大型数据库及数据仓库的开发和管理人才的需求培增,特别是精通Linux操作系统和大型数据库系统的人才,而从国内IT行业来看,Linux高手则是最紧缺的。作为网络时代所孕育的一代骄子——Linux,以其具备自主开发、高效灵活、安全、可靠的特点成为全球增长最快的操作系统之一,从1999年到2003年平均增长幅度高达84%,目前全球已有800万Linux用户,30%的互联网服务器已经采用了Linux系统,随着互联网的迅猛发展,业内人士称Linux是软件市场最有潜力的操作系统。与此同时,国内大量的ISV、SI、软硬件厂商也都将其业务逐步向Linux转型。从各类网站、IDC服务商、网络安全公司到ISV、SI等类型的公司都渴求Linux的人才,这些公司中不乏像IBM、COMPAQ、Dell、联想这类大型知名企业。
总之,作为一种类Unix操作系统,Linux近十年的迅捷无比的发展,已使用她成为操作系统中一匹名符其实的黑马,她的强大性能已使其它品牌的Unix黯然失色,有分析家认为,“Linux的广泛普及已使其成为Unix市场上最具活力的一支新军。”,甚至连Unix之父Dennis Ritchie也认为Linux“确实不错”。有一些分析家甚至认为,在未来数年间,Linux将成为NT的真正强有力的对手,也是唯一可冲破微软垄断性文化圈的出路所在。
4.3.2 Linux的特点
Linux受到各方如此的青睐,是由它的以下特点决定的。
(1)免费、源代码开放
Linux是免费的,获得Linux非常方便,而且使用Linux可以节省大量费用。Linux开放源代码,使用户能够控制源代码,按自已需要对部件进行裁剪和搭配,建立自定义扩展。
(2)具有出色的稳定性和高速性
Linux可运行数月、数年而无需重启,与经常死机的Windows NT相比,这一优点尤为突出。
一台Linux服务器可支持多达100至300个用户,一台Linux打印服务器也可易如反掌地支持多达200~300台网络打印机。Linux对CPU的速度要求不高,可充分发挥各种处理器的性能。
(3)功能完美(尤其是网络功能丰富)
Linux包含了所有人们期望操作系统所拥有的功能,不仅仅是UNIX的,而且是任何一个操作系统的功能。这些功能包括多任务、多用户、页式虚存、库的动态链接(即共享库)、文系统缓冲区大小的动态调整等。
与Windows操作系统不同,Linux完全在保护模式下运行,并全面支持32位和64位多任务处理。Linux能支持多种文件系统。目前支持的文件系统有EXT2、EXT、XI、AFS、ISO、FS、HP FS、MS DOS、UMS DOS、PROC、NFS、MINIX、SMB、UFS、NCP、VFAT和AFFS等。
Linux具有先进的网络特性(在4.3.5节中详述),对网络的支持高人一筹。Linux拥有世界上最快的TCP/IP驱动程序,在相同硬件条件下,通常比Windows NT、Novell和大多数UNIX系统的性能优秀。
Linux支持所有的通用网络协议,包括E- mail、UseNet、NewsGopher、Teinet、Web、FTP、Talk、POP、NTP、IRG、NFS、NIS、SNMP、WAIS、Kerberos等。在上述协议环境下,Linux既可作为服务器,也可作为客户端运行。在Linux环境下,用户可使用所有的网络服务。无论用户系统采用哪种结构,Linux都能简单、紧密地融合到用户的局域网中去,因为它对Macintosh、DOS、OS/2、Windows NT、Novell、Windows 95都能做到无缝支持。
(4)硬件需求低
早期的Linux是为低端UNIX用户而设计的,它可使很多过时多年的硬件重新焕发青春。在仅有4 MB内存的Intel 386处理器上就能运行自如,此外,Linux还能运行在Alpha、SPARC、PowerPC、MIPS RISC处理器上。
(5)用户应用程序众多,硬件支持广泛,程序兼容性好
由于Linux是一种UNIX平台,因此大多数UNIX用户程序都可在Linux下运行。
POSIX(Portable Operating System Interface)1003.1标准定义了一个最小的UNIX操作系统接口,任何操作系统只要符合这一标准,才能运行UNIX程序。考虑到UNIX具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX 1003.1标准作为实现目标,Linux也不例外,它完全支持POSIX 1003.1标准。此外,为了能使UNIX System V和BSD上的程序能直接在Linux运行,Linux还增加了部分System V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。
Linux也符合X/Open标准,具有完全*的X-Windows实现。现有的大部分基于X的程序不需作任何修改便可在Linux上运行。
另外,为SCO公司产品和SVR4专门设计的程序,如CoreIDraw for SCO以及Dataflex数据库系统,也可以不加修改地在大部分Linux系统上运行,Linux的DOS“仿真器”DOSEMU可运行大多数MS DOS应用程序。借助于被称为WINE的Linux的Windows“仿真器”,Windows程序也能在X-Windows内部运行。由于Linux的高速缓存能力,Windows程序的运行速度一般能提高10倍。
(6)漂亮的用户界面
Linux提供两种用户界面:字符界面和图形化用户界面。
字符界面是传统的UNIX界面,用户需要输入待执行的相关命令才能完成相关的操作。尽管,字符界面下的操作不太方便,但因其效率高仍被广泛使用。
Linux也拥有方便好用的窗口式的图形化界面,它整合了大量的应用程序和系统管理工具,并可使用鼠标。用户在图形化用户界面下能方便地使用各种资源,快速地完成各项操作。
4.3.3 Linux的版本
我们所说的Linux实际上有狭义和广义两层含义。狭义的Linux是指Linux的内核(kernel),它完成内存调度、进程管理、设备驱动等操作系统的基本功能,但并不包括应用程序。广义的Linux是指以Linux内核为基础,包含应用程序和相关的系统设置与管理工具的完整操作系统。
到目前为止,Linux的内核仍由Linux Torvalds领导下的开发小组负责开发。因为Linux内核可*获取,并允许厂商自行搭配其它应用程序,所以不同厂商将Linux的内核与不同的应用程序相组合,并开发相关的管理工具就形成了不同版本的Linux发行套件,即广义的Linux。因此Linux的版本可分成两种:内核版本和发行版本。
1.Linux的内核版本:
Linux的内核版本由3个数字组成,一般表示为X.Y.Z形式。其中:
X—表示主版本号,通常在一段时间内比较稳定。
Y—表示次版本号,若是偶数,代表这个内核版本是正式版本,可公开发行;若是奇数,则代表这个内核是测试版本,还不太稳定,仅供参考。
Z—表示修改号,数字越大,表示修改的次数越多,相对越完善。
截止200 年月Linux的内核的最新版本为2.6.6,Linux的内核版本的发展历程可参见表4-2。
内核版本 |
发布日期 |
0.1 |
1991.11 |
1.0 |
1994.3 |
2.0 |
1994.6 |
2.2 |
1999.1 |
2.4.1 |
2001.1 |
2.4.20 |
2002.11 |
2.6.1 |
2004.1 |
2.6.6 |
2004.5 |
|
|
表4-2 Linux内核的发展历程
2.Linux的发行版本
目前Linux发行版本的数量已超过300种,并且还在不断增加。但无论哪种版本都不拥有发布内核的权利。发行版本之间的差别主要在于包括的软件种类及数量的不同。常见Linux的发行版本如表4-3所示。
商 标 |
简 要 说 明 |
|
简介 |
Red Hat是全世界最著名、使用最广泛的Linux发行版本。 |
|
网址 |
http://www.redhat.com |
|
Mandrake★ |
简介 |
凭借优秀的图形化桌面环境及自行研制的图形化配置工具而成为Linux业界易用、实用的代名词 |
网址 |
http://www. Linuxmandrake.com |
|
suse |
简介 |
SUSE是历史最悠久的Linux发行版本之一,可提供最完整、最全面的Linux解决方案 |
网址 |
http://www.suse.com |
|
简介 |
是完全依靠互联网上的Linux爱好者开发维护的Linux发行版本,它包含的应用程序最丰富。 |
|
网址 |
http://www.redhat.com |
|
简介 |
是亚洲地区著名的Linux发行版本 |
|
网址 |
http://www.turboLinux.com |
|
红旗 |
简介 |
是中国本土开发的较有影响的Linux发行版本 |
网址 |
http://www.redhat.com |
|
中软 Linux |
简介 |
是中国本土开发的较有竞争力的Linux发行版本 |
网址 |
http://www.redhat.com |
表4-3 主要Linux发行版本简介
4.3.3 Linux的功能
Linux具有丰富的系统软件和应用软件,除了Unix的工具外,还包括以下功能:
(1)支持多种系统语言,如C、C++、Objective-C、Java、List、Prolog等。
(2)支持多种脚本语言,如Perl、Tcl/Tk、Shell和AWK等。
(3)支持X -Windows系统及其应用程序,可运行各种图形应用程序,如Khoros、GRASS等。
(4)支持多种排版软件,如Tex/Latax等。
(5)支持多种自然语言,如中文、英文。
(6)支持多种免费的数据库,如Postgres等。
(7)支持各种网络应用。
(8)支持与其它操作系统,如Windows NT或Windows 9x的共享。
从功能上看,Linux操作系统是一个很有发展前途的操作系统,也是为数不多可与Microsoft操作系统相竞争的操作系统。
4.3.4 Linux系统的组成
Linux的基本组成包括核心程序、系统程序和应用程序,这与Unix相同,如图4.7所示。
图4.7 Linux的系统组成
其中,核心部分包括:进程管理、存储管理、硬件设备管理、文件系统驱动、网络管理。核心是操作系统的心脏,其功能是跟踪磁盘上的文件,启动和运行程序,为不同的进程分配内存和系统其它资源,通过网络接收和发送数据包等等。核心提供系列工具来建立全部的服务,通过系统调用可使用上述模快的功能。集成在核心内部的网络管理模块大大增强了Linux的网络功能。
在核心部分的诸多模块中,最重要的部分是存储器管理和进程管理。前者负责分配进程的存储器区域和交换空间区域、核心的部件及高速缓存。后者则负责产生进程,并通过切换处理器上的活动进程来实现多任务。
系统程序通过使用核心所提供的系列工具来实现操作系统的各种服务。系统程序和其它所有程序都运行于核心之上,这种工作模式通常被称为用户模式。
4.3.5 Linux操作系统的主要服务
Linux的主要服务有:Init(初始化)、从终端登录、Syslog、GUI(Graphic User Interface)、网络登录、网络打印、网络文件系统、邮件和打印等。
1. Init
Init提供了Linux系统中最重要的服务,Init是系统在核心引导后启动的1号进程。Init启动后,它首先创建一些后台进程不定期维护系统,然后进行系统配置,执行用Shell编写的初始化程序。
Init可选择多个启动模式,通常为单用户模式(single user mode)和多用户模式(multi user mode)。
2. 从终端登录
此项服务是由getty程序提供的。Init为每个允许登录的终端启动一个单独的getty实例,getty则读出用户名并运行login程序,再进一步读口令,若用户名和口令均能正确读出,login就运行shell。
3. Syslog
运行中的核心和许多系统程序有可能产生错误、警告及其它信息,这些信息被输出到syslog程序中,然后syslog程序将信息排序并输出到不同的文件。
4. 图形用户接口GUI
Linux使用的图形环境称为X Windows,X Windows是Unix的标准图形界面。
5. 网络打印
这是Linux的一项最基本的服务,通过网络可完成文件系统、打印、备份等诸多功能。
6. 网络登录
此项服务的功能是使从网络登录的每个用户都拥有一条单独的虚拟连接,它不限制用户的数量。这里要指出的是,网络登录与普通登录的不同处在于,它不为每个虚拟连接运行单独的getty。
用户可采取不同的方法实现网络登录,常用的方法是配置了TCP/IP网络中的Telnet和rlogin。
网络登录为每种登录方法单独提供了一个守候程序,通过它来侦听所有的登录请求,一旦接收到一个登录请求时,守候程序便启动一个新实例来处理此请求。
7. 网络文件系统
这是一项网络的主要服务,它通过网络文件系统NFS(Network File System)共享文件。通过NFS,用户可在网络终端运行远程计算机上的程序。
8. 邮件
与其它网络操作系统一样,Linux电子邮件系统的功能十分强大,它支持POP3、SMTP、IMAP4等诸多的邮件传送协议。
4.3.6 Linux的应用现状
目前全球Linux的用户已超过1000万人,并正在不断增加,许多知名企业和大学都是Linux的用户。IBM、HP、Dell、Oracle、AMD等计算机公司都大力支持Linux的发展,不断推出基于Linux平台的相关产品。
Linux的应用范围主要包括桌面、服务器、嵌入式系统、集群计算机等方面。
1.桌面应用
桌面应用曾是Linux的弱项,因为Linux继承UNIX系统,在字符界面中使用Shell命令来控制计算机。为便于用户使用,早期的Linux发行版本提供图形化用户界面,但限于当时的技术水平,这种图形化用户界面的易用性不如Windows。随着X Windows技术的发展,Linux的界面技术在界面美观、使用方便等方面有了长足的进步,Linux作为桌面操作系统逐渐被用户接受,市场份额正在稳步增长。根据IDC的调查,2003年Linux桌面操作系统的市场份额比2000年几乎增长了2倍,并将超过苹果公司的Mac OS,成为第二大主流操作系统。
2.服务器
Linux服务器的稳定性、安全性和可靠性已经得到业界的认可,*、银行、邮电、保险等关键部门已经开始规模性使用。
由于Linux服务器具有较高的性能价格比,在“9.11”恐怖事件中遭到重创的美国华尔街金融企业纷纷把Linux系统列入其IT部门强制性采购的计划中。Linux系统正在成为当今服务器技术市场上的一个成长亮点。如雷曼兄弟财务公司做出了用Linux系统代替在“9·11”恐怖袭击之中损失的1000台服务器的“惊人决定”,摩根-斯坦利投资银行也将其4000台服务器从Unix系统转为Linux系统。一些研究报告指出,目前北美大约8%的金融企业已经完成了Linux型系统应用的转型,15%正在考虑实施Linux计划;到2005年,Linux服务器总体占有量会增至20%,而去年的占有量仅为7%。
作为服务器,Linux的服务领域包括:
(1)网络服务:Linux被广泛用于互联网和内联网(Internet/Intranet),据统计,目前全球29%的互联网服务器已经采用了Linux系统。在Linux操作系统下结合一些应用程序(如Apache、Vsfpd、Sendmail等)就可提供WWW服务、FTP服务和电子邮件服务。此外,Linux系统还被广泛用于DNS服务、NIS服务和NFS等网络服务。
(2)文件和打印服务:Windows 2000不能对用户使用的磁盘空间进行限制,只要管理人员向用户开放了可写权限,用户便可占用整个磁盘空间。而Linux下的Samba(一种在UNIX下运行的“桑巴”服务),不仅可轻松地面向用户提供文件及打印服务,还可通过磁盘配额控制用户对磁盘空间的使用。
(3)数据库服务:目前各大数据库厂商均已推出基于Linux的大型数据库,如Oracle、Sybase、DB2等,Linux凭借其稳定运行的性能,在数据库服务领域有取代Windows的趋势。
3.嵌入式系统
凡是带有微处理器的非计算机系统都可称为嵌入式系统。我们身边触手可及的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电和车载电子设备都采用嵌入式系统。
嵌入式系统是目前最具商业前景的Linux应用,大约52%的嵌入式系统倾向于以Linux作为系统。对于嵌入式系统而言,Linux有许多不可忽视的优点:
(1)Linux具有很强的可移植性,支持各种不同电子产品的硬件平台;
(2)Linux内核可免费获得,并可根据实际需要*修改,这符合嵌入式产品按需定制的要求;
(3)Linux功能强大且内核很小。一个功能完备的Linux内核只要求大约1MB内存,且最核心的微内核只需100KB的内存;
(4)Linux支持多种开发语言,如C、C++、JAVA,为嵌入式系统上的多种应用提供了可能。
4.集群计算机
集群计算机(Cluster Computer)是利用高速计算机网络将多台计算机连接起来,并加入相应的集群软件所形成的具有超强可靠性和计算能力的计算机。集群(cluster)是高性能计算机(HPC)领域增长最快的,而Linux集群是集群领域增长最快的一种。
Linux集群是利用商品化的工业标准互联网络,将各种普通服务器连接起来,用特定的方法,向用户提供更高的系统计算性能、存储性能和I/O性能,并具备单一系统映象(SSI)特征的分布式存储MIMD的并行计算机系统。从2005年TOP500公布的计算机中,采用集群系统的达360台,占有72%的比例。采用Linux的达371套,占74.2%。其中我国曙光4000A(排名TOP2004年第10位)在上海启用,运算速度高达10万亿次/秒,该机是采用Linux平台的集群式超级计算机,它采用2560颗64位的AMD Opteron 800系列处理器,内存容量超过2TB,内部网络速度超过2Gb/s。总之,Linux集群计算机的快速增长是得益于Linux操作系统的发展。
目前,Linux已成为集群计算机的主要操作系统之一。Linux在集群计算机应用中具有非常大的优势:
(1)极高的性能价格比
Linux集群计算机的价格只有相同性能的传统超级计算机的10%~30%。构筑高性能的Linux集群计算机无需购买昂贵的专用硬件设备,只要利用廉价的个人计算机并加上很少的软件费用就可获得极强的运算能力。
(2)极强的扩展性
在Linux集群计算机中增加单个的计算机就能增加整个集群的计算能力,并不需要淘汰原来的计算机设备,从而方便地扩展集群计算机的计算能力。
4.3.7对Linux未来的分析和展望
Linux是目前的三大主流操作系统之一,在低端服务器市场,它的销量甚至超过了UNIX。Linux如此倍受青睐,其商业竞争原因可从主、客观两方面来看:主观上是目前普遍的“反微软”情绪,许多厂家支持Linux的真正原因实际上是针对微软公司,另外,对免费软件的好感也是重要的主观原因之一;客观原因是Linux在成本、性能和稳定性等方面的优势,相对于Windows NT在性能和稳定性等方面的问题,相比之下更使Linux成为倍受欢迎的替代品。
虽然Linux正以大众看好的趋势向前发展,但也有人对Linux的发展和应用持谨慎的态度,并表示怀疑,这表现在以下三个方面:
1.对Linux的“出身”持怀疑态度
现在,仍有很多企业和商业用户认为,Linux是一种由业余爱好者开发的、缺乏技术支持的“业余水平”的软件,实际上,这一观念是片面并且是过时的。
从开发人员看,Linux从一开始先在一些软件高手间流行,很快在因特网上吸引了大批的技术专家倾心于Linux的开发工作。虽然,Linux的开发者大多是在业余时间从事开发,但其水平绝不是业余的。
从开发模式看,Linux采用分布式的开发模式,即参与者分布在世界各地,并通过网络进行开发,这种分布式开发并非如一些人想象的那样混乱无序,相反,Linux的开发有严格的组织体系,否则它无法从一个仅有1万多行语句的内核发展成拥有100万多行程序代码的完善系统。
Linux及其应用程序的开发大多以项目(project)为组织形式,项目的参与者分工具体:开发经验丰富、有管理经验的参与者一般担任协调人,负责分派任务和协调工作进度;其它参与者有的从事程序编写,有的负责程序测试。基于Linux独特的分布式开发模式,项目管理工作使用了专门的软件。其中,错误跟踪系统(Bug Tracking)可以替开发者处理来自电子邮件或其它网上资源的错误报告,还能定义项目开发者的角色和职责,如编辑人员、软件集成人员和测试人员。工作流程管理(Workflow Management)系统除了能分配开发者的职权外,还能能进行文档管理、版本控制管理以及工作成本评估。项目管理(Project Management系统能跟踪相关的工作,提供调度、储备和优化资源的功能。项目开发小组开发出的程序经一段时间的测试之后,就会在因特网上发布程序的测试版和源代码,让更广泛的用户继续参与测试,直到程序相对稳定,才会发布程序的正式版本。正式版本的使用者如果发现错误,可通过因特网报告,问题一般都能得到迅速解决。因源代码公开,用户也可以自己动手解决问题。因此,比起草商业软件来,Linux操作系统产生的错误更少,有的错误用户可自行解决。由此可见,Linux项目开发的组织有序性和管理的有效性保证了它的高度可靠性。
2.对Linux的服务支持抱怀疑态度
Linux改变了以往的*软件缺乏服务支持的弊病,1997年,Linux支持群体在众多的软件公司中一举胜出,荣获了美国Info World杂志的最佳技术支持奖。在很多人看来,“可*扩散”的软件好像总是和“缺乏技术支持”以及“业余水平”划等号,其实不然。Linux从一开始就主要在一些软件行业中的高手之间流行,并且很快在全球范围内网罗了一大批职业和业余的技术专家,在因特网上形成了一个数量庞大而且非常主动热心的支持者群体。它们能够通过网络很快地响应用户所遇到的问题。例如,当Pentium II设计中的一个错误刚被发现,Linux是最早一个提供解决方案的操作系统。
早期Linux的技术支持主要靠网上的免费支持。虽然这种免费技术支持通常是快速响应的,但终归无法向用户提供百分之百的保证和承诺。近年来,越来越多的商业公司开始提供对Linux的收费技术支持。这种收费技术支持更为正规、可靠、有保证,从而进一步给大多数Linux的普通用户增强使用信心,大大改善了Linux的形象
3.对Linux结构和功能上的不足持悲观和怀疑态度
Linux出现的前十年间,其发展速度是十分惊人的,这与它的开放性和优异的性能密不可分。不过,作为一个由学生开发的系统,Linux还有许多先天不足之处,它的设计思想过多地受到传统操作系统的约束,没有充分体现出当代操作系统的发展潮流,Linux不是一个微内核操作系统,不是一个分布式操作系统,不是一个安全级别很高的操作系统,没有用户线程,不支持实时处理,代码是用C而不是C++这样的现代程序设计语言编写的。
就满足大公司的计算需求方面,Linux仍然显得不足,其中包括将数据写入大型磁盘驱动器的企业“日志”文档系统,先进系统管理工具和来自硬件外设制造商的强有力产品支持。
尽管Linux有各种各样的不足,但它的优点和优势仍占主导地址。就从近几年在服务器操作系统市场位居第二的骄人业绩,足以可见Linux是软件市场中最有潜力的操作系统。
4.4 银行常用的IBM操作系统简介
IBM(International Business Machines Corporation,国际商业机器公司)于1914年创建于美国,是世界上最大的信息工业的跨国公司。IBM公司的产品包括计算机及专有操作系统、各种外部设备、服务器、网络产品、数据库软件和应用软件等。
计算机历史上许多重大事件都与IBM有关,它创造了计算机业界的数个第一,不停地制造世界上第一个、最快、最小、最大的计算机系统和产品。例如,IBM 360是世界上第一台用集成电路制造的计算机,1999年IBM制造出世界上三个第一的产品,即世界上最小的硬盘、主频最高达637Mhz的商用微处理器,世界上第一台“铜芯”企业级服务器。
由于银行业固有的信息属性,使银行业很快成为被信息化改造得最快、最彻底的行业,因此也就和享有“蓝色巨人”之称的IBM公司结下了不解之缘。银行业首选的当然是质量过硬的IBM产品,IBM的计算机系统和各种硬、软件产品被广泛地用于银行的关键部门中。
本节将对用于银行的IBM公司的主要操作系统作简要的介绍。
1. AIX
AIX(Advanced Interactive Executive,高级交互执行)是超强设计的、重负载、高端UNIX操作系统,它运行在IBM RS/6000服务器或IBM SP结点中,AIX最早于1990年推出,较新版本是AIX 5L。世界上一些大的网站和研究中心都是由IBM RS/6000及运行其上的ALX操作系统支持的,战胜世界象棋冠军的深蓝(RS/6000的高端产品系列SP的一种型号)上运行的正是ALX操作系统,曾是世界上最快的计算机“蓝色太平洋”上运行的也是ALX操作系统。ALX是一个在可伸缩性、可靠性、安全性和系统管理等方面都相当出色的超级服务器操作系统,广泛用于文件、电子邮件、万维网、数据库服务器上及各种科学工程应用中(例CAD、CAE、可视化科学计算、模拟等)。
2.OS/400
IBM AS/400是IBM公司于1988年6月在世界一百多个国家和地区同时宣布的中小型机系列,后又推出增强型的AS/400e系列。AS/400系列集中展示了IBM公司的软、硬件最新开发成果和先进的制造工艺成果。目前全世界有50多万台AS/400e运行于各个重要应用领域。
(1)AS/400的性能特点
AS/400是以IBM S/3X系列的结构特性为基础的,其主要性能特点体现在以下几个方面:
①崭新的硬件体系结构
AS/400将软件、微码和硬件设计溶于一体,综合了数据库技术、安全性、图形、图象和通信设施等方面的先进技术。其基本结构由分层机器结构、面向模体及单级存储等三个基本系统组成,形成新型的硬件结构体系。用户与硬件隔离,硬件技术的变化、扩充和升级对用户的使用不受影响,提高了系统的灵活性和可扩充性。详见图4.5。
②先进的系统应用体系结构SAA(System Application Architecture,SAA)
AS/400严格按照SAA规范开发,同时又兼顾IBM公司的系统网络结构SNA(System Network Architecture,SNA)。
③全功能、一体化、菜单式的操作系统
AS/400不仅具有传统操作系统所能完成的资源管理、工作流程管理,而且能对文件、数据、应用、通信、语言及系统服务方面实现全功能的综合控制和一体化的集中管理。
④集成一体化的关系数据库管理系统
AS/400的数据库与传统数据库有很大差别,其主要特点是,数据库管理系统与操作系统及机器本身是一体化的,许多功能用微码实现。数据库的定义和操作可在操作系统一级进行,此举大大提高了工作效率。在某种意义上,AS/400又是一台理想的数据库处理机。
目前,在AS/400中内置了高性能的数据库管理系统软件DB2。
⑤网络通讯功能和全连通性
AS/400提供丰富的软、硬件通讯设施,可以方便地与现有各类处理系统、终端设备及其它通讯设施进行连接和通讯,并提供对PC机的支持,对令牌环网TOKEN Ring及以太Ether局域网的支持。
⑥提供一整套实用的应用开发环境ADE(Application Development Environment, ADE)和工具
ADE是通过操作系统向程序员提供的一套菜单,它由一组数据词典和应用开发工具ADT(Application Development Tools, ADT)组成,中在操作系统下的各级环境和不同层次下应用开发,提高程序员的工作效率。
⑦办公自动化功能
AS/400的办公自动化功能是以AS/400 OFFICE办公服务包为主体,并由语言词典、查询、商业实用图形程序等一系列软件共同完成。
⑧系统安全性控制功能
此项功能可对用户的数据和文件的安全性实施保护,可由于用户自行选择宽范围的安全性级别,从不保密到全保密。
⑨电子客户支持系统ECS(Electronic Customer System,ECS)
此系统可对用户的资源和配置实现自动管理和故障分析,借助ECS用户可快速排除故障,确保机器安全、可靠地运行。
(2)OS/400操作系统的特点
OS/400是在IBM AS/400上运行的专有操作系统,是一个全功能、一体化、菜单式的操作系统。它内置了IBM DB2数据库管理系统软件。较新版本是1999年5月发布的4.4。
OS/400超脱了传统操作系统的意义,它以一种崭新的概念出现,其主要特点如下:
●全功能的操作系统。担负资源、文件、应用、通讯、语言及系统服务等多种功能的综合控制和操作。
●一体化的操作系统。它与硬件管理、数据库管理、应用开发管理、通讯网络管理、安全控制等功能是一体化的。
●菜单式系统。它将菜单式操作管理与传统的命令式操作管理相结合。
●具有多种用户接口。即用户接口管理程序UIM与结构查询语言SQL/400接口。
●支持多国语言。能适合各种语种国家的使用。
3.zOS(OS/390)
zOS(或称z/OS)的前身是OS/390,是在IBM大型主机系统z900系列(前身为S390服务器)上运行的64位专用操作系统,于2001年3月推出。
追溯OS/390的历史,它的前身是著名的MVS操作系统,其主机S390的前身是IBM的具有30年历史的大型主机系统S38/S370/S360等,它们都运行MVS、VM和VSE三种操作系统。
4.VM和VSE
VM和VSE都是原来在IBM大型机上运行的操作系统,现在运行于S390服务器中。
应 用 |
程序设计语言 |
实用程序 |
数据库系统 |
数据通信 |
操作系统 |
微 码 |
硬 件 |
应 用 |
语言命令 |
一体化功能 |
硬 件 |
机 器 |
机 器 |
传统体系结构 AS/400体系结构 |
图4.5 AS/400的体系结构 |
4.5 Linux基本操作
Linux是类UNIX操作系统,两者的操作类似。本节介绍的是Linux基本操作。全部操作都在VMWare环境下进行。所谓VMWare环境,这是多台PC机与计算机网络相连,通过TCP/IP协议后,PC机便可运行TCP/IP中的网络终端仿真程序,成为Linux中的一个网络虚拟终端。在本系统中使用的是TELNET命令。
1.UN1X界面
(1)两种操作界面
UNIX环境下有两种操作界面,一是字符界面,另一个是图形化用户界面。前者只需使用相关的Shell命令就可完成操作系统的所有任务;而后者则为用户提供简便易用的操作平台。虽然图形化界面简单直观,但使用字符界面的工作方式仍十分常见。这是因为:
●目前图形化界面还不能完成所有的系统操作,部分操作仍必须在字符界面下运行。
●字符界面下占用的系统资源较少,同一硬件配置的计算机仅运行字符界面比运行图形界面时速度快。
●对熟练的系统管理人员来说,字符界面更加高效、快捷。
(2)图形化用户界面
X Windows是UNIX/Linux操作系统图形化界面的标准。目前绝大多数的Linux计算机都运行X Windows的某个版本。X Windows为Linux提供美观、易用的图形化操作平台,这是普通用户逐渐接受Linux的重要原因之一。
目前,Linux操作系统上最常用的图形桌面环境有两个:GNOME(GUN Network Object Model Environment,GUN网络对象模型环境)和KDE(K Desktop Environment,K桌面环境),本节只介绍GNOME。
2.登录
以Red Hat Linux为例,登录用户分两种:
(1)根用户
①在登录提示后键入root,按回车键。
②在口令提示后键入安装时设置的根命令,按回车键。
(2)普通用户
①在登录提示后键入用户名,按回车键。
②在口令提示后键入用户建立账号时设置的口令,按回车键。
若在图形化界面登录后,键入“startx”,便会出现GNOME界面,这是Red Hat Linux默认的启动界面。
若在字符界面登录后,用户可通过键入命令的方式来执行程序。但与Windows不同的是,Linux字符界面下输入口令时,屏幕上没有任何显示内容,也不会出现“****”字符串不提醒用户已经输入了几个字符,这种方法进一步提高了系统的安全性。
成功Linux登录后,将出现Sheel命令提示符,如:
[root@localhost root]# 超级用户的命令提示符
[hellen@ red hellen]$ 普通用户hellen的命令提示符
[ root@localhost root ] # 用户名 主机名 目录名提示符 图4-8 Sheel命令提示符 |
说明:●[ ]以内@之前为已登录的用户名(如root,hellen),[ ]以内@之后为计算机的主机名(如red)。若没有设置过主机名,则默认为localhost。其次为当前目录名,如root或hellen。
●[ ]外为Sheel命令的提示符,其中“#”是超级用户的提示符,而“$”是普通用户的提示符,如图4-8所示。
注意:在字符界面下可输入startx来进入图形化操作界面;反之,按Alt+Ctrl+F7键便可从图形化操作界面切换到字符界面。
3.字符界面下注册、重启与关机
(1)注销:如果已登录的用户不再需要使用系统,则应该注销,即退出登录状态。在字符界面下可用两种方法:一是输入“exit”、命令,二是使用Ctrl+D快捷键。
Linux是多用户操作系统,注销只表示一个用户不再使用系统,而正在使用的计算机的其他用户并不会受到任何影响。退出登录后,虚拟终端又恢复到等待登录的初始界面,等待其他用户登录。
(2)重启:当需要重新启动计算机时,输入“reboot”或“shutdown -r now”命令即可。
4.关机:无论使用哪种操作系统,关机都不是简单地将电源关闭。特别是对于Linux操作系统来说,由于采用磁盘高速缓冲存储技术,某些数据在系统繁忙时并没有保存到磁盘上,直接关机将造成数据丢失,严重时甚至会造成系统崩溃。
在当前的登录终端上,输入“halt”或“shutdown -r now”命令,将立即关闭计算机。传统的Linux中只有超级用户才能重启或关闭计算机,但Linux的某些版本对此作了修改。如在RHEL 3 AS中普通用户可用reboot或halt命令重启或关闭计算机,但不能用shutdown命令。
5.基本操作命令
(1)基本格式
在Sheel命令提示符后,用户可输入相关的Sheel命令。Sheel命令可由命令名、选项和参数三部分组成。其基本格式如下所示,其中方括号部分表示可选择部分。
命令名 [选项] [参数]↙
(2)date命令
●格式:date [MMDDhhmm[YYYY]]
●功能:查看系统时间。
●举例:[hellen@ localhost hellen]$ date
六 4月 29 17:19:49 CST 2006秒
date命令显示的内容依次是星期、月份、日期、小时、分钟、秒钟和年份。
(3)cal命令
●格式:cal [YYYY]
●功能:显示日历。
●举例:显示本月的日历。
[hellen@ localhost hellen]$cal
(4)pwd(print working directory)命令
●格式:pwd
●功能:显示当前目录的绝对路径,层次关系用/表示。
(5)cd命令
●格式:cd [目录]
●功能:切换到指定目录
●举例:cd~返回到用户登录目录;cd/ 返回到整个系统的根目录。
(6)ls命令
●格式: ls [选项][文件|目录]
●功能:显示指定目录中的文件和子目录信息,当不指定时,显示当前目录下的文件和子目录信息。
其中:-a(all), -l (list),-d(directory),-t (time), -r(recursive)
●举例:ls – a显示目录下的所有文件。
(7)cat命令
●格式:cat[选项]文件列表
●功能:显示当前文本文件的内容。
●选项:-n(number):表示在每行前显示行号。
(8)more命令
●格式:more文件
●功能:分屏显示文本文件的内容,只能向后翻页按回车键继续,按q退出。
(9)less命令
●格式:less文件
●功能:分屏显示文本文件的内容,按回车键继续,按q退出.可向前或向后翻页。
(10)tail命令
●格式:tail [选项]文件
●功能:显示文本文件的结尾部分默认显示文件的最后10行。
●选项:-n 数字 指定显示的行数。
(11)head命令:同tail,但显示开头的行数。
(12)lpr命令
●格式:lpr文件名
●功能:将指定文件发送到打印队列。
●举例:lpr ok.txt
(13)cp命令
●格式:cp 源文件 目标文件
●功能:将源文件复制到目标文件
●举例:
(14)man命令
●格式:man命令名
●功能:显示指定命令的手册帮助信息。
(15)-- help命令
●格式:命令名—help
●功能:显示指定命令的帮助信息,多为中文。
(14)clear命令
●格式:Clear
●功能:清屏
(16)wc命令
●格式:wc [选项] 文件
●功能:显示文本文件的行数、字数和字符数。
●选项:-c:只显示文件的字节数
-l:只显示文件的行数
-w:只显示文件的单词数
(17)创建文本文件命令cat
●格式:cat >文件
●功能:输入文本内容
(18)who命令
●格式:who-[husfv] [user]
●功能:显示系统中有哪些在线上,并显示有关信息。
●选项:-h:不显示标题列。
-u:不显示使用者的动作/工作。
-s:使用简短的格式显示。
-f:不显示使用者的上线位置。
-v:显示版本。
●举例:who-s 采用简短格式显示用户信息。
(19)ping命令
●格式:ping [选项]主机名/ IP地址
●功能:用于检查网络上主机的运行情况。
●选项:-c数目:在发送指定数目的包后停止。
-f:大量且快速地送网络包给一计算机,看它的响应。
-q:不显示任何传送包的信息,只显示最后结果。
-r:不经网关直接送包到一台机器,以检查本机的网络接口。
●举例: ping –r xxgp/ 检查网络中名为xxgp的主机的工作情况,不经网关。
(20) ifconfig命令
●格式:ifconfig [选项]
●功能:显示或设置网络设备
●选项:可用man命令显示选项
●举例:ifconfig down 关闭网络设备;ifconfig 显示网络配置。
3