130 likes | 404 Views
大型主机应用上的开放系统和中间件 2011 年度教育部 -IBM 精品课程. 同济大学软件学院 唐剑锋 billtangjf@gmail.com. 第 3 章 新一代主机开发环境简介. 3.1 z Linux 简介.
E N D
大型主机应用上的开放系统和中间件2011年度教育部-IBM精品课程大型主机应用上的开放系统和中间件2011年度教育部-IBM精品课程 同济大学软件学院 唐剑锋 billtangjf@gmail.com
3.1 zLinux简介 • zLinux是指在IBM主机系统,特别是在System z机器上运行的Linux操作系统。其他具有同样含义的名称包括z/Linux,Linux on System z,Linux on zSeries,Linux on System z10,Linux on System z9,Linux/390,Linux on zEnterprise 196,等等。 • zLinux源于将Linux系统移植到IBM的最大服务器的多方面的努力。其中一方面的努力是由Linas Vepstas在1998年末到1999年初发起的“Bigfoot”项目。 • IBM 在1999年12月18日针对Linux 2.2.13的内核发布了许多补丁并增加了许多功能,启动了今天z系列平台上Linux的主线产品。 • 在以后的2000年,IBM很快正式宣布zLinux诞生,包括Integrated Facility for Linux (IFL)引擎。Think Blue Linux是主要包含了加入到IBM内核中的Red Hat包的早先的主机产品。商业Linux分销商在起初的内核包装后非常迅速地介绍了主机上的Linux版本,而这个主机版本的Linux已经发行了许多年。
在IBM的参与之后,Linux for zSeries的补丁包含了Object Code Only (OCO)模块,而没有源代码。然而,当前的z系列平台上Linux在GNU 通用公共授权条款下完全开放源代码。 • IBM在2006年5月宣布,超过1700个客户将Linux运行在主机平台上,这在主机市场中是一个相当大的数目。 • IBM现在支持两个Linux版本:Red Hat和Novell SuSE。其他著名的z系列平台上的Linux版本包括Debian,Gentoo,Slackware,CentOS和Fedora。Linux内核体系结构包括针对31位内核的S390和针对64位内核的S390x。
虚拟化技术 • Linux不是在主机上模拟执行的。它就像其他主机操作系统一样,使用主机处理器指令,作为一个完整的本地操作系统快速运行。于是,在其最简单的配置中,Linux的一个单个实例在技术上可以占用整个主机。这种配置不常见,并且通常在经济上也不可行。通过使用虚拟化技术,IBM System z服务器可以运行混合工作负载,包括许多其他的操作系统。十年多来,硬件和软件一起协同起来支持这些工作负载。 • System z主机能够采用多级别的虚拟化技术。在第一级的虚拟化中,单个机器可以被分成多达60个逻辑分区(LPARs),并且每一个LPAR是一个运行单独操作系统(OS)的单独虚拟机。LPARs是使用称为PR/SM的特征在硬件中实施的,这通常根据实时需求动态地调整LPAR的边界。这个硬件特征在现代主机中总是被激活的,哪怕在单个的LPAR跨越整台机器的最简单的配置中。
虚拟化技术(Cont.) • 大多数在IBM System z上的Linux客户利用了额外的虚拟级别:z/VM。这是个有着很长历史的主机上的操作系统,其中之一的主要功能是作为虚拟机管理器的系统管理程序。诸如Linux这样运行在z/VM虚拟机中的操作系统被称为guests或images。z/VM不仅虚拟化处理器和内存,也虚拟化主机(ESCON或FICON)磁盘存储,网络和其他主机资源。 • z/VM像其他主机操作系统一样运行于LPAR内部,这提供了两个级别的Linux虚拟化:基于硬件和基于硬件协助的系统管理程序。此外,z/VM也可以是z/VM的一个guest,这创建了任意层次深度的嵌套的虚拟化级别。嵌套的虚拟化有额外的负载,因此将z/VM作为一个guest运行主要是用作测试目的。
硬件 • IFL(Integrated Facility for Linux)是专用于运行Linux的主机处理器,要么本地运行,要么在z/VM下运行。微码限制了IFLs运行传统的工作负载,如z/OS,它们等同于其他z系列处理器。z/OS软件提供商通常不对IFL的功能收费,而且IFLs也比通常意义上的引擎(中央处理器,或CPs)要便宜。因此,商业组织和政府部门可以很容易地扩展主机Linux的安装数量,而不影响大多数软件许可的收费。虽然技术上Linux可以在CPs和IFLs上运行,但IFLs成本更低。 • z系列上的Linux兼有31位和64位版本,而64位版本很快流行开来,因为基于z体系结构的主机变得比早先的ESA/390架构主机更流行。64位的版本仍旧可以运行31位应用程序。Linux 2.6.x内核加入了大量对主机硬件的支持,如ESCON,FICON,连接SCSI的存储设备。
优势 • 作为Linux操作系统的最具扩展能力的平台之一,System z有多个主要的优势。 • 第一,公司和政府部门可以简化他们的计算基础设施。许多小的Linux和PC服务器可以合并到一台主机上,这样就得到了集中化的所有好处,包括降低了操作成本。文件服务器,Web服务器,打印服务器,名字/目录服务器和其他实用程序服务器都非常适合运行在System z的Linux上面。 • 第二,z系列上的Linux可以利用主机的服务质量,特别是它们的可靠性和安全特性,来支持频繁的业务需求。包括金融服务在内的许多工业部门都需要这个针对Linux应用程序的独一无二的能力。另外,主机支持处理器的“热”替换。当增加或替换处理器时,Linux和其应用程序继续不受打扰地运行,这实现了依据需求来的业务友好的扩展。 • 第三,IBM的主机客户,像其他Linux用户一样,得益于大量的、成长中的有用软件程序包,包括开源软件程序包。 • 当Linux应用程序访问基于主机的、运行在同一个物理主机上的、在CICS,IBM DB2,IMS和其他主机子系统中的数据和应用时,它们能够利用HiperSockets的特性,即快速的,只在内存中的TCP/IP连接。 • 相比较在标准网络接口卡(NIC,在主机环境中称为开放系统适配器,即OSAs)上的TCP/IP,HiperSockets可以提高终端用户响应能力(降低网络延迟和处理负载),安全性(因为没有网络连接来拦截数据包)和可靠性(因为不会丢失网络连接)。
合适的工作负载 • 主机特性被设计用作诸如交易处理或大型数据库管理的业务负载。主机设计的重点在通过通道I/O实现的输入/输出的性能。从历史的角度看,原则上尽可能从CPU卸载I/O活动。主机可以升级到许多处理器,比如在System z10 EC的E64型号中的64个处理器,这提供了28000个MIPS。 • 另一方面,z系列上的Linux对于单任务计算来说表现得并不好。这样的例子包括大多数科学模拟,天气预报和分子建模等。超级计算机,包括基于Linux的超级计算机,在上述工作负载中表现优异。但自从引入了System z10后,这种分别已经变得模糊了,System z10是基于4核4.4GHz处理器且具有十进制浮点硬件的机器。在这点上,System z10比之前的主机更像一台超级计算机。 • 主机不提供图像或声音适配器,因此不适合数字媒体编辑或计算机辅助设计(CAD)。
3.2 z/OS USS简介 • UNIX系统服务(USS)是一个z/OS的必要的组件。USS是一个被认证过的、在主机体系结构中得到优化的UNIX实现(XPG4 UNIX95)。它是第一个不是来自于AT&T源代码的UNIX 95。通过和z/OS其他组件的集成,额外的分时选项(TSO)命令和通常的UNIX服务都可用,这使得使用ISPF来处理UNIX文件成为可能。JCL中的扩展使得在批处理中使用这些文件成为可能。 • UNIX系统服务(USS)使得从其他平台来的UNIX应用程序可以运行在IBM主机上面。在许多情况下只需要重新编译,尽管针对z/OS集成来说额外的工作,比如说SMP/E安装支持也是需要的。使用硬编码的ASCII数值的二进制程序可能需要做出调整——z/OS用户经常选择或需要EBCDIC的支持。运行在USS下的程序对z/OS的内部功能有完全、安全的访问。数据库访问(通过Call Attach访问DB2)是USS访问在z/OS其他地方找到的服务的一个例子。这样的程序如果使用这些特定于z/OS的服务,那么不经过重写不能被移植到非主机平台。反过来,如果一份程序遵守诸如POSIX和ANSI C这样的标准,那么它将很容易移植到USS环境。
支持UNIX风格长文件名的USS的文件系统(早先的HFS和现在更推荐的zFS)对于z/OS来说是一些特殊的数据集。许多核心的System z子系统和应用程序依赖于UNIX系统服务,包括Java。 • USS也提供一个称为OMVS的脚本环境。 • USS的前身是一个称为OpenEdition MVS的操作系统组件,该组件在MVS/ESA 4.3中首次实施,在MVS/ESA 5.1中得到改进。OpenEdition MVS只支持POSIX标准。IBM持续不断地改进UNIX系统服务。2007年,IBM推出了z/OS 1.9。z/OS包含了USS的多个新特性,这些新特性包括部分地与更新的版本3的单UNIX规范(SUS),也即UNIX 03相结盟。
3.3 基于Java的主机应用开发- RDz简介 • 可以使用Rational Developer for System z (即RDz) with Java来实现基于Java的主机应用开发。RDz with Java是一个标准化的企业应用程序的开发工具,这些企业应用运行于System z环境中,如CICS,DB2,WAS和批处理等等。 • RDz with Java可以帮助我们完成如下工作: • 通过对通常的开发活动有选择地卸掉一些工作负载和降低使用MIPS,可以帮助降低传统主机应用程序开发的成本。 • 新的RDz的单元测试特性使得可以在每个开发人员的桌面或一台共享服务器上创建个人的z/OS环境。 • 在过渡到基于SOA的环境之前、之中和之后创建和维护主机应用程序和Web服务,以便帮助提高开发人员的生产力。 • 促使更短的开发周期并通过重用和转换从现有的应用程序中抽取值来帮助降低成本,使得它们就像Web服务一样可以被访问。
使得开发人员能够快速创建构建良好的混合处理程序,以便集成传统的主机CICS或IMS交易应用程序和基于WebSphere的环境。使得开发人员能够快速创建构建良好的混合处理程序,以便集成传统的主机CICS或IMS交易应用程序和基于WebSphere的环境。 • 阅读有关开发人员生产力研究的文章,以便将IBM RDz和传统的IBM主机开发工具进行比较。 • 帮助开发有创造力、有丰富数据的基于Web的应用程序。 • 提供可视化的布局工具来帮助开发人员编写Java Server Faces(JSF),Java Server Pages(JSP)和HTML。 • 包含一个向导来开发Servlet和页处理器代码并支持J2EE编码和部署。 • 在8版本中包含重要的改进,可以进一步提升创建传统主机应用程序和Web服务程序的效率。