文档库 最新最全的文档下载
当前位置:文档库 › 小型机与PC服务器区别

小型机与PC服务器区别

小型机与PC服务器区别
小型机与PC服务器区别

小型机与PC服务器区别

关于小型机的话题近来比较热,因为很多无论是PC服务器还是安腾服务器都声称自己做到了“小型机”水准。但是随之却把老百姓给搅晕了,以前清晰的小型机概念越来越模糊,到底什么时候应该选择传统小型机,什么时候应该选择PC服务器呢?我把在IBM UNIX WORLD上听到的IBM系统科技事业部System p 系统工程师朱汉东先生的讲解搬来共享给大家。

小型机说了很多年,PC服务器也是大家比较熟悉的,他们区别还是非常大的,UNIX跟PC服务器的CPU不同,最简单台式机、笔记本用的CPU Intel的奔腾等非常清楚。但是提小型机处理器的名字都搞不清楚,现在他们用的CPU处理器都叫RISC处理器,常见的Intel包括AMD都是CISC处理器,那RISC 跟CISC有什么区别,RISC是精简指令集计算机,CISC是复杂指令计算机。

RISC技术是IBM一个研究院在1974年发明的,IBM对计算机研究非常深入,在70年代就发现我们能够用20%的指令就可以完成80%的工作,并且这20%的指令都是非常简单和基础的指令。如果要另外完成20%工作需要非常复杂的指令,如果要在CPU里面实现指令,就导致CPU非常复杂,这个机器效率非常低,所以这就导致RISC技术的产生,RISC技术改写了计算机发展的历程。技术产生导致RISC System/6000的诞生。

其实RISC技术,CPU是一种架构,这里面有非常多的型号,POWER5是比较典型的代表。IBM的POWER在RISC芯片里面典型代表,RISC有一个二次跟八次法则,它的效率非常高,功率非常低,可靠性非常高。CISC代表性是大家非常了解的x86,在至强这一代处理器是非常典型的,它的特点主频非常高,但是效率非常低,散热量非常大,曾经看到一个新闻,以后CPU可以煮鸡蛋都有可能。RISC和CISC两种架构,设计的理念完全不同,所以中间的主频没有任何可比性,最重要看实际的性能。

IBM POWER6会出超过4个G的了。这里要谈一下大家非常关心安腾,这两天大家看到网上关于Intel 安腾2CPU终于出来了,现在谈双核已经不是先进技术了,IBM在2001年POWER4已经是业界第一款双核处理器。安腾是不是RISC,安腾不是RISC架构,那它是什么架构,他有一个架构是EPIC,这是这两年刚刚诞生的,它是不是比RISC或CISC更先进的,它不是,它是两个不兼容的东西,它既不是一个更先进的技术,也不是有什么新的发明。

跟CPU紧密相关的,64位、32位,这是我们经常说的x86,从8位到16位到32位,这两年炒64位和双核非常多。这64位和32位有什么区别,为什么64位包括X86体系架构,如果32位物理内存只能访问4G,一次访问最大的物理内存,当然也可以通过其他的手段访问超过4G的内存,以前8086、8088要访问1M内存采用非常复杂的技术,在今天4G的内存对于很多应用显得太小了,尤其是数据库的操作,尤其是一些Java的应用服务器,Java非常吃内存的,4G内存非常小的,我这个机器配了1G内存,IBM跑System p系列服务器,如果我给你做一个方案,我们就要做一个配置,我们怎么配,怎么连,这程序是Java 写的非常吃内存,所以在64位机器可以提供存储空间到64位,64位的空间多大?也就是2的64次方,比2的32次方高太多,并且可以对64位数据进行数学和逻辑运算。

它表示数据的范围更大,它的精度更准,对于大型数据库支撑能力更强,以及对SMP扩展能力,一个存储器支持CPU个数更多了。其实64位计算从IBM,从p的角度谈得很少,因为我们在1997年、1998年谈得最多的,IBM RS/6000就发布了RS64处理器,是第一款64位处理器,从那时代开始我们CPU已经全部是64位,这中间经过POWER4,POWER4+,POWER5以及POWER5+,所以我们今天64位已经是非常成熟的技术。AMD64跟Intel EM64T是什么关系?在x86情况下的扩充,引进了64位的指令,在32

位模式下不能算作典型的64位处理器,所以现在应该叫x86-64,而不是+64,真正64位处理器IBM POWER

是真正64位处理器。包括EM64T是什么意思?是增强型的64位内存技术,仅仅是一个访问64位的内存,很多寄存器还是32位上操作,所以不是一个典型或完全意义的64位操作期,这跟我们说RISC64位完全两码事。

这里面看一下IBM POWER的处理器,今天谈的2001年POWER4是一个划时代的,2001年p系列,UNIX有绝对优势领先竞争友商,业界第一款双核机器,到今天很多人讨论真双核,假双核,其实真正第一款双核处理器IBM2001年p690到p615已经全部商品化了,我们客户享受双核技术已经很多了年。

中间经过POWER4+引进动态逻辑分区,现在大家讨论做虚拟机,实际上IBM在POWER4+已经到动态逻辑分区。到POWER5引进并发多线程,到POWER5+引进了四核处理器,引进了微分区,这都是我们非常先进的技术。并且我们POWER6是呼之欲出的产品,很快大家可以看到更先进的产品。

今天POWER5+产品上的CPU类型,一个是505、510到570年用的DCM的类型,也就是双核模块处理器,一个里面有两个CPU。两个CPU在蓝颜色里面,粉色的是缓存。高端服务器是多核模块,在一个里面封装了八个POWER5+的处理器,其实中间四个里面每个两个CPU,角上四个是三级缓存,每个里面有36M。在POWER5的时候,在中低端服务器,主要用双核处理器,505到570用的效率非常高。

在高端服务器上,590、595扩展到32个、64个CPU,我们发展了更先进的MCM技术,用户对性价比要求非常高,IBM从去年开始发布了QCM(四核处理器),把先进的封装工艺放到中低端服务器上,产生了四核处理器,今天505Q到560Q,今天的产品线凡是产品后面带Q都采用4颗处理器,既具有高端服务器的先进封装技术,又具有高端的性能,我们可以在同样的机器里面安装更多CPU个数,性价比更高一些,让中低端用户可以用到高端的先进性和优越性。

坦白来说关于内存方面翻一番质量,我们用处四的都是DDR533的内存,这已经是非常先进的内存了,PC服务器也有DDR533的内存,当然更多是SDR,还有更高端用DDR633和DDR667的内存,内存有两个关键,一个是内存的带宽,是DDR多少的主频,还有一个就是内存的可靠性是一个非常重要的话题,比如碰到Windows蓝屏那是典型的内存错误,p系列用的内存是DDR533,这不是最好的也是差不多最好的内存。

内存Chipkill什么意思?中间相当于一个内存桥,上面有一些空闲或多余的内存位置,比如内存条1G,实际上内存容量比1G要多,设计专门留出一部分做冗余,大家看到存的信息非常像读取硬盘,分配到四个ECC words里,如果有原因导致内存错误,就可以把错误的信息有可能恢复回来,这样避免非常多的内存错误。这是我们Chipkill内存,早在p系列诞生之前就已经发明了这个技术,我们把这个技术用在IBM 的System p上面。

在PC服务器里面,非常多的主流内存保护技术,HP的ProLiant非常有代表性,它主要是Advanced ECC,还有Online Spare,ECC谈了很多年,就是错误检测的校验,只能修正一位的错误,如果两位错误修正不了,Chipkill可以检测和修复多位错误,到底可以修复多少错误,根据你错误发生的原因不同,有不同的级别,有能恢复和不能恢复的,这有一个第三方的研究报告,采用Chipkill内存以后可靠性比ECC提高100倍。

前面谈了CPU和内存,你用一台小型机也不会拆开来看看,所以大家在使用的过程中经常涉及小型机的扩展性,这是我们实际应用非常重要的考虑因素,你的服务器要满足什么样的应用环境非常重要。扩展性两方面,一个水平扩展性,另一个垂直扩展性。水平扩展性是指一台服务器内部有多大的扩展空间,同

一台服务器配多说CPU和内存,有多少卡,有多大连接能力,以及它的灵活性。p系列服务器,从最低端到最高端的595都有强大的扩展性,System p550Q,在4U的主机柜,这里面可以选择配两颗CPU或四颗CPU双核的,如果配双核可以配两颗或四颗的,也可以选择四颗处理器,或者8个,如果选择4个有1.5/1.6不同的配置,所以一个4U的服务器,可以配出非常多的组合,所以扩展性非常好。

垂直扩展性是整个产品线上下有多大的跨度,一台机器应用,现在国家经济发展非常快,我的应用在这上面部署,可能过了三年,业务的压力翻了一个数量级,需要更大的机型才能支持,p5机型,算POWER5的处理器,不算其他POWER PC和刀片服务器,最少配一个1.5GHz CPU,最大是63个2.3GHz处理器,最高tpmC可以做到400万。

PC服务器支持的可扩展性一般不超过4路CPU配置,只有IBM可以做到16个CPU,因为x86体系结构只能允许4颗CPU,并且市场上PC服务器大部分是1路、2路以下的服务器占据市场绝大部分市场份额。如果你的应用将来增长非常大,选PC服务器迟早有一天不够用。

这里是看一下p系列产品,IBM p系列扩展有三,一种是向上扩展,一种水平向外扩展,还有一种是内部扩展。从最低端p5185到最高端590、595的64颗2.3GHz为MCM的处理器。这里面带Q的是四颗处理器。还有刀片服务器,工作站等产品线。向上扩展和向外扩展很好理解。什么叫内部扩展,买一个POWER5+处理器可以同时运行两个线程,有人说这和多线程没什么区别,但是这里面IBM并发多线程跟大家说的多线程有什么区别?

其实有一个非常大的区别,它是CPU自己实现的硬件多线程,假设一个505Q只有1U配了4个CPU,操作系统会列出8个CPU,有4个是物理CPU,每一个CPU有两个并发的多线程,所以系统认为是8个CPU的服务器。如果是64个CPU配满,操作系统会认为128个CPU的服务器。所以这可以内置每一个POWER5的处理器。有了这技术可以无偿获得性能的提升,尤其是数据库,或者Java的服务器,根据实验室统计是可以免费获得40-45%之间的性能提升。

下面介绍一下扩展性,这是IBM System p5 560Q的机柜,后面有非常多的PCI扩展线,可以支持非常多的网络设备、存储设备等。这是内部这是CPU book,每一个里面就有4个CPU,如果装两个book就8个CPU。560Q是一个中档的服务器,它tpmC值可以满足相当多客户的要求,可以个CPU,这里面配一个板子,再加一个CPU的book。如果八颗CPU服务器的560的tpmC值接近60万,很多中小型客户最大值也就这么多,但是考虑将来业务的扩展性,这机器要到16路,你再会再加一个,你的系统不会重装,也不需要重新部署。

前面谈的都是一些具体的物理上的东西,CPU、内存、主频、扩展性等,小型机和PC服务器架构完全不同,它们比较CPU主频没什么可比性,更多的是看服务器的最终性能,这在大家平时的选型和使用过程当中有直接联系的。一般考虑性能并不等于主频,性能到底等于什么?性能最好用你跑的应用是在线交易,是Java服务器,还是网络服务器等,比如TPC-C测试,它是衡量服务器的综合性指标,不是只衡量CPU 或者内存,是衡量机器CPU到内存到I/O体系的连接,可以说是一个全能的体现。

从TPC-C交易委员会官方网站上得到的结果,不分厂商还是单机,现在达到最好的结果前四名,这里面没有一台PC服务器进入这个排名,其实不光没有进入前四名,实际上离前十名远得很。我们看在已经公布的47次测试结果,有45次在10万以下,只有两次一个是11万,一个是14万。如果你的业务tpmC 要超过10万,比如校园一卡通的项目,tpmC值都奔着2、30万去了,所以PC服务器根本做不到。从性能角度来看,它们的差别非常大。

关于客户端与数据库服务器端的时间同步问题

关于客户端与数据库服务器端的时间同步问题 这是一个做C/S的管理软件开发时经常被忽略的问题,客户端的时间与服务器的时间如果有偏差,数据统计、报表等等肯定会有“意外”的情况发生。 意图很简单:从数据库服务器获取到时间,根据这个时间修改当前客户端电脑时间。 用Sql的函数getdate(),是比较容易的。 我们是基于dotnet4.0、EntityFramework开发软件,所以希望用ESQL的方式获取数据库服务器的时间,但昨天折腾了半天,还没搞定。 如果有哪位同学已经解决了这个问题,希望能指点一下! 暂时解决,之所以说是暂时,是因为并没有用Esql的方式,而是用T-Sql的方式。 以下是我的过程: System.Data.EntityClient.EntityConnection 这个是实体概念模型与数据源的连接,继承自DbConnection 在这个连接下CreateCommand(),就需要写Esql语句,我的语句是"SELECT VALUE CurrentDateTime()",却是语法错误。翻遍了手册和网络查询,没有任何有用的结果。 但在这个连接对象下有一个属性StoreConnection,返回的是Sql方式的连接,在这个下面CreateCommand(),可以写T-Sql语句,我的语句是"SELECT getdate()",运行成功。

以上是程序代码例子: //与数据库服务器的时间进行同步 System.Data.EntityClient.EntityConnection conn = (System.D ata.EntityClient.EntityConnection)Blemployee.myData.Conne ction ; IDbConnection conn0=conn.StoreConnection; IDbCommand comm =conn0.CreateCommand(); //https://www.wendangku.net/doc/d113120551.html,mandText = "SELECT VALUE CurrentDateTime()"; https://www.wendangku.net/doc/d113120551.html,mandText = "SELECT getdate()"; https://www.wendangku.net/doc/d113120551.html,mandType = CommandType.Text; if (comm.Connection.State != ConnectionState.Open) comm.Connection.Open(); object tt= comm.ExecuteScalar(); DateTime sqlDT = Convert.ToDateTime(tt); SetLocalTime(sqlDT); //设置本机时间

服务器端与客户端建立并连接小Demo

服务器端代码: using https://www.wendangku.net/doc/d113120551.html,; using https://www.wendangku.net/doc/d113120551.html,.Sockets; Static void Main(string[] args){ Socket serverSocket=new Socket(AddressFamily.InterNetWork,SocketType.Stream,ProtocalTy pe.TCP); //new一个Socket对象,注意这里用的是流式Socket(针对于面向连接的TCP服务应用)而不是数据报式Socket(针对于面向无连接的UDP服务应用)。 IPAddress serverIP=IPAddress.Parse("127.0.0.1"); int port=2112; IPEndPoint ipEndPoint=new IPEndPoint(serverIP,port);//网络节点对象 serverSocket.Bind(ipEndPoint);//将结点绑定到套接字上 serverSocket.Listen(10);//设置连接队列的最大长度,可根据服务器的性能,可以设置更大程度。 Console.WriteLine("服务器已就绪准备客户端连接。。。。"); while(true){//循环监听端口,得到客户端连接 Socket socket=serverSocket.Accept();//当有客户端连接时,就产生一个socket实例 SessionServer sserver=new SessionServer(socket);//将socket实例传入到消息处理类中 Thread t=new Thread(sserver.GetClientMsg);//当有一个客户端连接,就启动一个线程来处理此客户端的消息 t.Start();

小型机

小型机 百科名片 小型机 小型机是指采用8-32颗处理器,性能和价格介于PC服务器和大型主机之间的一种高性能64 位计算机。一般而言,小型机具有高运算处理能力、高可靠性、高服务性、高可用性等四大特点。 中文名:小型机外文名:minicomputer 开发商:DEC(数字设备公司)公司主要特点:高可靠性,高可用性,高 服务性开发年代: 70年代目录[隐藏] 简介 主要特点 RAS特性 蜥蜴计划 系统原则 [编辑本段 ] 简介 小型机

小型机是指运行原理类似于PC(个人电脑)和服务器,但性能及用途又与它们截然不同的一种高性能计算机,它是70年代由DEC(数字设备公司)公司首先开发的一种高性能计算产品。 小型机具有区别PC及其服务器的特有体系结构,还有各制造厂自己的专利技术,有的还采用小型机专用处理器,比如美国Sun、日本Fujitsu(富士通)等公司的小型机是基于SPARC处理器架构,而美国HP公司的则是基于PA-RISC 架构;Compaq公司是Alpha架构。另外I/O总线也不相同,Fujitsu是PCI,Su n是SBUS,等等。这就意味着各公司小型机机器上的插卡,如网卡、显示卡、SCS I卡等可能也是专用的。此外,小型机使用的操作系统一般是基于Unix的,像Sun、Fujitsu是用Sun Solaris,HP是用HP-UX,IBM是AIX。所以小型机是封闭专用的计算机系统。使用小型机的用户一般是看中Unix操作系统的安全性、可靠性和专用服务器的高速运算能力。 [编辑本段] 主要特点 现在生产小型机的厂商主要有IBM和HP等。IBM典型机器有RS/6000、A S/400等。它们的主要特色在于年宕机时间只有几小时,所以又统称为z系列(z ero 零)。AS/400主要应用在银行和制造业,还有用于Domino,主要的技术在于TIMI(技术独立机器界面),单级存储,有了TIMI技术可以做到硬件与软件相互独立。RS/6000比较常见,用于科学计算和事务处理等。 小型机仅仅是低价格、小规模的大型计算机,典型的小型机运行UNIX或者象MPE、VEM等专用的操作系统。它们比大型机价格低,却几乎有同样的处理能力。HP的9000系列小型机几乎可与IBM的传统大型计算机相竞争。 在高端小型机一般使用的技术有:基于RISC的多处理器体系结构,兆数量级字节高速缓存,几千兆字节RAM,使用I/O处理器的专门I/O通道上的数百G B的磁盘存储器,以及专设管理处理器。它们较小并且是气冷的,因此对客户现场没有特别的冷却管道要求。现在小型机跟中型机跟大型机之间没有绝对明确的界限了,因为IBM把很多原来只在大型机和中型机上应用的技术都在小型机中实现了。 小型机跟普通的服务器(也就是常说的PC-SERVER)是有很大差别的,最重要的一点就是小型机的高RAS(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性)特性。 [编辑本段] RAS特性

客户机与服务器结构.

C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。概要(Client/Server或客户/服务器模式):Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。编辑本段C/S工作模式C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。编辑本段C/S结构的优点C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户

iCloud服务与客户端下载使用教程

iOS设备篇 苹果寄予厚望,在iOS5升级占有重要地位的iCloud云服务正式发布了。下面就让小编带领大家,体验苹果为我们奉上的云服务大餐。 在iOS设备中,首先需要确保升级iOS5。所有iOS5 GM版本以前的固件,都不被iCloud 云服务支持。相应的,电脑管理iTunes也要升级到10.5版本。 在iOS5固件更新完成后,系统在欢迎界面会自动提醒你注册Apple ID和打开iCloud 云服务。由于iOS5的众多服务都直接与Apple ID关联,所以注册一个自己使用的ID是必须的。 iOS5更新完成后,进入系统设置选项,即可以见到iCloud的各种设置菜单。在这里,你可以自由选择那些应用的数据需要备份,并管理自己的空间。苹果免费为每位用户提供5GB的存储空间,如果需要更多空间,可以支付20美元10GB每年的服务费用,增加自己的存储容量。不过对于大多数人来说,5GB的免费空间已经足够使用。

iCloud还有一项重要的功能,即是可以同步更新所有iOS设备上的应用。什么意思呢,也就是说如果你在电脑端购买了一款应用或者图书等,那么你所有打开了自动下载选项的iOS设备,将会自动在后台下载新增内容。等到你拿起iOS设备时,你设备中已经出现了新购买的应用。不过这项功能的选项,不在iCloud菜单中,而是另外一个单独的Store菜单里,在这里,你可以选择需要自动下载的内容。 为了方便使用,苹果还推出了PC专用的iCloud程序,可以将PC上的内容也与iCloud 服务进行同步和管理。 首先用户需要前往苹果官网下载一个专用的应用iCloud Control Panel,目前还没有推出中文版,只有英、法、德、日这四个iPhone4S首发国家语言,不过相信很快中文版就会推出。 下载地址为:https://www.wendangku.net/doc/d113120551.html,/kb/DL1455

客户端与服务器端交互原理

客户端与服务器端交互原理 经常看到HTTP客户端与服务器端交互原理的各种版本的文章,但是专业术语太多,且流程过于复杂,不容易消化。于是就按照在Servlet 里面的内容大致做了一些穿插。本来连Tomcat容器和Servlet的生命周期也准备在这里一起写的,但怕过于庞大,于是就简单的引用了一些Servlet对象。这样的一个整个流程看下来,相信至少在理解HTTP协议和request和response是如何完成从请求到生成响应结果回发的。在后续的一些文章里会专门讲一讲Tomcat和Servlet 是如何处理请求和完成响应的,更多的是说明Servlet的生命周期。 HTTP介绍 1. HTTP是一种超文本传送协议(HyperText Transfer Protocol),是一套计算机在网络中通信的一种规则。在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层。 2. HTTP是一种无状态的协议,意思是指在Web浏览器(客户端)和Web 服务器之间不需要建立持久的连接。整个过程就是当一个客户端向服务器端发送一个请求(request),然后Web服务器返回一个响应(respo nse),之后连接就关闭了,在服务端此时是没有保留连接的信息。 3. HTTP遵循请求/响应(request/response)模型的,所有的通信交互都被构造在一套请求和响应模型中。 4. 浏览Web时,浏览器通过HTTP协议与Web服务器交换信息,Web服务器向Web 浏览器返回的文件都有与之相关的类型,这些信息类型的格式由 MIME 定义。 HTTP定义的事务处理由以下四步组成: 1. 建立连接。 2?客户端发送HTTP请求头。 3. 服务器端响应生成结果回发。 4. 服务器端关闭连接,客户端解析回发响应头,恢复页面。

大型机中型机小型机区别

大型机(Mainframe) 大型机(mainframe)这个词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。虽然这个词已经通过不同方式被使用了很多年,大多数时候它却是指 system/360 开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl, Hitachi Data Systems (HDS) 制造的兼容的系统。 有些人用这个词来指IBM的AS/400 或者iSeries 系统,这种用法是不恰当的;因为即使IBM自己也只把这些系列的机器看作中等型号的服务器,而不是大型机。 什么是I/O通道(Channel) 一条大型机通道(channel)某种程度上类似于PCI 总线(bus),它能将一个或多个控制器连接起来,而这些控制器又控制着一个或更多的设备(磁盘驱动器、终端、LAN端口,等等。)大型机通道和PCI总线之间的一个主要区别是大型机通道通过几对大的bus and tag 电缆(并行通道方式),或者通过最近常使用的ESCON(Enterprise System Connection)光导纤维电缆(串行通道方式)以及光纤通道来连接控制器。这些通道在早期是一些外置的盒子(每个约6’X30’’X5’H 大小),现在都已经整合到了系统框架内。 这些通道的超强I/O处理能力是大型机系统功能如此强大的原因之一。 什么是DASD DASD 是 Direct Access Storage Device(直接存取存储设备)的缩写;IBM创造这个词来指那些可以直接(并随意)设定地址的存储系统,也就是今天我们所说的磁盘驱动器。但在过去,这个词也指磁鼓(drums)和数据单元(datacell)等等。什么是数据单元?嗯,在磁盘驱动器变得廉价、快速并普遍使用前,IBM曾经制造过一种设备,基本上就是由一个磁鼓和绕在磁鼓上的许多磁条(单元)中的一个组成,然后读写的资料就被纪录在卷动的磁条的磁道上。这种存取数据的方法和磁盘很类似,但当(磁鼓)搜寻资料的时候需要更换磁带的话,所需的时间显然就得按秒来计算。数据单元设备还有个调皮的习惯,它喜欢在卸下一个单元到存储槽的时候卷成一块,这有时会造成介质的物理损坏。可见,在取得目前的技术进步前,我们已经走了很长一段路了。 什么是LPAR 一个LPAR(逻辑分区 logic partition)是一种通过PR/SM(Processor Resource/System Manager,一种最近的大型机都具有的固件fireware特性)来实施的虚拟机。在每个分区上,可以运行一个单独的镜像系统,并提供完全的软件隔离。这和UNIX操作系统上的domains 原理很相似,但IBM的方法更加细致,它允许所有的CPU和I/O子系统可以在逻辑分区间被共享。PR/SM 允许在单个系统上运行15个LPAR,每个(LPAR)拥有专有真实存储(dedicated real storage RAM)并且拥有专有或共享的CPU和通道。因为对性能影响最为重要的部分都是在CPU里完成的,所以(这样做)没有多少性能的损失。IBM已经宣称它准备在不久的将来把最高可支持的LPAR数目扩展到超过15个。 大型机系统得以长盛不衰的主要原因(特点)是:RAS,I/O处理能力以及ISA。 RAS RAS(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性)是一个IBM常用来描绘它的大型机的词。到70年代早期为止,IBM已经认识到商业用途系统市场远比科研计算机系统市场有利可图。他们也知道IBM商用系统的一个重要的卖点就是高可靠性。如果他们的商业客户准备采用IBM计算机来开展极其重要的商业业务,客户就得确认他们可以在任何时间都可以正常使用(IBM的机器)。所以,最近30多年来,IBM致力于使每一个新系列的系统比前一

c#带界面-客户端与服务器通信TCP

服务器端界面 服务器端代码: using System; using System.Collections.Generic; using https://www.wendangku.net/doc/d113120551.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using https://www.wendangku.net/doc/d113120551.html,.Sockets; using System.Threading; using System.IO; using https://www.wendangku.net/doc/d113120551.html,; using System.Collections; namespace IMS.Server { public partial class Server : Form { TcpListener myListener; TcpClient tcpClient = new TcpClient(); Thread mythread; NetworkStream ns;

public Server() { InitializeComponent(); } private void Server_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; mythread = new Thread(new ThreadStart(receive)); mythread.IsBackground = true; mythread.Start(); } private void receive() { myListener = new TcpListener(IPAddress.Parse("192.168.1.106"), 8080); myListener.Start(); tcpClient = myListener.AcceptTcpClient(); while (true) { string rec = ""; ns = tcpClient.GetStream(); byte[] bytes = new byte[1024]; ns.Read(bytes,0,bytes.Length); rec = Encoding.Unicode.GetString(bytes); richTextBox1.Text = rec; ns.Flush(); } } private void btnSend_Click(object sender, EventArgs e) { try { ns = tcpClient.GetStream(); byte[] bytes = new byte[1024]; // bytes = Encoding.Unicode.GetBytes(sendmsg); bytes = Encoding.Unicode.GetBytes(richTextBox1.Text +"\r\n" + "服务器说:" + richTextBox2.Text);

小型机和PC服务器到底有什么区别

小型机和PC服务器到底有什么区别 从各种性能测评指标到单一CPU的处理能力,小型机似乎并不占优势,那么它昂贵的原因何在? 我们可以从性能、可靠性、扩展能力这几个比较有特点的方面来分析。 如果是单一CPU,PC服务器所用的Intel Xeon或者AMD Opteron并不比小型机所使用的CPU 性能差。但是在PC服务器上发布的操作系统最多支持16颗CPU(最新的一些操作系统也可以支持更多的CPU,甚至于UNIX达到相同的支持度,例如Windows 2003 Data Center 64bit 版,这开始给UNIX服务器越来越大的压力) 与此对比,在小型机上,一台机器集成的CPU总数已经达到了几十到几百颗。目前,IBM p595配合AIX6.1操作系统可以支持64颗POWER6 5GHz CPU(支持128颗CPU的P595也即将发布);HP的Superdome使用PA-8900或Intel Itanium 2芯片更可以支持128颗CPU;Sun 的M9000使用SPARC 64 VI 芯片也可以支持128个CPU(内核)。这种超级的并行处理能力把PC服务器及Windows操作系统远远抛在后面了。(Windows 2003 Datacenter 64 bit版也可以支持高达64个CPU了)尽管当CPU增加后,处理能力不能完全实现线性增长,但毋庸置疑,80个CPU比8个CPU总要快得多(在相近主频和制造工艺、技术的情况下) 不仅仅是硬件处理能力,操作系统自身的管理能力很重要,能够将数十个CPU充分调动起来,发挥每颗CPU的能力,本身就需要非常复杂的技术。另外,操作系统还要对一些内存的进程进行管理,如果某个进程有问题(例如死循环),可能会把系统的资源耗尽。UNIX在设计之初就是为了更好地协调多用户、多进程之间调度而设计的,通常可以更好的控制这些耗资源的进程,在各个进程之间合理地分配CPU处理能力。最后,UNIX一般也不提供很复杂的多媒体、图形界面,而这些绚丽的用户界面确是CPU和内存消耗的大户。 由于以上原因,在低端市场,小型机完全处于劣势,但是到了高端,形势开始逆转,只有小型机才能负担得起繁重的处理任务(当然还有Mainframe大型机)。 处理能力强不仅仅靠CPU,CPU仅代表计算能力,CPU还需要IO支持,如果机器不能及时接受请求,计算完成后无法返回结果、不能保存,计算能力再强也无用武之地,或只能用于特定的计算领域。一般小型机体系设计最多都可以支持一百个以上的IO通道卡,可以提供足够的带宽将处理结果从网络发送出去或者保存到磁盘,同时还能够接受新任务。几乎没有哪个PC插了10块以上的IO卡,当业务量大的时候,及时CPU忙得开,IO也处理不来。 并不是随随便便就可以增加处理卡数量的,IO控制器,总线带宽制约了可以插接的IO卡、内存和CPU的数量。因此小型机往往采用特殊的技术,来实现近乎疯狂的扩展能力。与之

服务器和客户端通信

实验六基于TCP/IP的网络编程 1 实验目的 MFC提供的关于网络应用的类CSocket是一个比较高级的封装,使用它编制出属于自己的网络应用程序,可以编一个属于自己的网络通讯软件。通过这个实验,同学们也可以增进对于TCP/IP协议的理解。 2 实验内容 基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。设计思路(VC6.0下): 第一部分服务器端 一、创建服务器套接字(create)。 二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。 三、接受来自用户端的连接请求(accept)。 四、开始数据传输(send/receive)。 五、关闭套接字(closesocket)。 第二部分客户端 一、创建客户套接字(create)。 二、与远程服务器进行连接(connect),如被接受则创建接收进程。 三、开始数据传输(send/receive)。 四、关闭套接字(closesocket)。 CSocket的编程步骤:(注意我们一定要在创建MFC程序第二步的时候选上Windows Socket 选项,其中ServerSocket是服务器端用到的,ClientSocket是客户端用的。) (1)构造CSocket对象,如下例: CSocket ServerSocket; CSocket ClientSocket; (2)CSocket对象的Create函数用来创建Windows Socket,Create()函数会自行调用Bind()函数将此Socket绑定到指定的地址上面。如下例: ServerSocket.Create(823); //服务器端需要指定一个端口号,我们用823。ClientSocket.Create(); //客户端不用指定端口号。 (3)现在已经创建完基本的Socket对象了,现在我们来启动它,对于服务器端,我们需要这个Socket不停的监听是否有来自于网络上的连接请求,如下例: ServerSocket.Listen(5);//参数5是表示我们的待处理Socket队列中最多能有几个Socket。(4)对于客户端我们就要实行连接了,具体实现如下例: ClientSocket.Connect(CString SerAddress,Unsinged int SerPort);//其中SerAddress是服务器的IP地址,SerPort是端口号。 (5)服务器是怎么来接受这份连接的呢?它会进一步调用Accept(ReceiveSocket)来接收它,而此时服务器端还须建立一个新的CSocket对象,用它来和客户端进行交流。如下例:CSocket ReceiveSocket; ServerSocket.Accept(ReceiveSocket); (6)如果想在两个程序之间接收或发送信息,MFC也提供了相应的函数。 (7)代码 package test.socket3; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

客户端与服务器端

Qt编写TCP通讯程序客户端与服务器端 说明:这是本人的练手之作,学习这个程序花费了大量时间,学习过程中借鉴了网友的成果。现在百忙之中将我的学习成果制作成学习教程供大家学习。同时我也希望大家都将自己的学习成果发布到网上,让大家共享。 由于我是初学者,该程序肯定会有BUG和许多需要改进的地方。有需要讨论的请加我的QQ:489478088,加我时请注明:QT学习讨论。或者加入我的QQ群84998716。 下载源代码后,由于不同版本的QT Creator创建的环境不同,可能无法正确运行,所以打开后,QT Creator可能会提示QT Creator发现其他环境的配置文件,问是否要载入,选择No。提示如下: 这时要选择NO。如果还无法运行,那你就只好新建一个工程,把我的源文件代码全部复制到你的新建工程里,再运行。 下面,开始讲解如何编写TCP测试软件: 第一步,创建工程,选中QtNetwork支持,基类选择Widget。如果创建工程中没有QtNetwork 选项,在工程建好后,在工程文件*.pro文件里QT+=core gui语句后面加入QT+=network 否则编译将出现“QNetworkInterface: No such file o”等错误 第二步,新建->文件或工程->选择QT项目->选择qt设计师界面类->选择Dialog without buttons,类名为client,完成。 编辑client ui界面,右击空白部分,将对象名称改为“client”,在界面添加标签按钮等,添加完成如下:

第三步,服务器地址行编辑器(Line Edit)的对象名改为clientIPlineEdit;数据发送区行编辑器(Line Edit)的对象名改为clientMessagelineEdit; 端口行编辑器(Line Edit)的对象名改为clientPortlineEdit; 数据显示区行编辑器(textBrowser)的对象名改为messagetextBrowser;发送按钮的对象名改为clientSendpushButton; 清空按钮的对象名改为cCleanpushButton; 连接按钮的对象名改为connectpushButton; 断开按钮的对象名改为disconnectpushButton; Ready标签的对象名改为cStatuslabel。 第四步,编辑client.h文件 1.添加: #include #include 2.在函数class client:public QDialog添加 private: QListIPlist; QTcpServer*tcpServer; QTcpSocket*tcpClient; QString clientPort; QString serverIP; QString clientMessage;//客户端发出的信息 QString message; quint16blockSize;//存放文件的大小信息 QTcpSocket*clientConnection; private slots: void clientSendMessage(); void updateStatus(); void readMessage();//接收数据

Linux网络编程-简单的客户端和服务器通讯程序开发入门

Linux网络编程-基础知识(1) 1. Linux网络知识介绍 1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接. 一般的来说是服务端的程序在一个端口上监听,直到有一个客户端的程序发来了请求. 1.2 常用的命令 由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些常用的网络命令 netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息. netstat有许多的选项我们常用的选项是-an 用来显示详细的网络状态.至于其它的选项我们可以使用帮助手册获得详细的情况. telnet telnet是一个用来远程控制的程序,但是我们完全可以用这个程序来调试我们的服务端程序的. 比如我们的服务器程序在监听8888端口,我们可以用telnet localhost 8888来查看服务端的状况. 1.3 TCP/UDP介绍 TCP(Transfer Control Protocol)传输控制协议是一种面向连接的协议, 当我们的网络程序使用这个协议的时候,网络可以保证我们的客户端和服务端的连接是可靠的,安全的. UDP(User Datagram Protocol)用户数据报协议是一种非面向连接的协议, 这种协议并不能保证我们的网络程序的连接是可靠的,所以我们现在编写的程序一般是采用TCP协议的. Linux网络编程-简单的客户端和服务器通讯程序开发入门(2)简介: 本文详细介绍了Linux下B/S结构的客户端服务器通讯程序的开发入门, 其中对重要的网络函数和结构体作了详细的说明和分析, 最后给出一个简单的客户端和服务器通讯程序示例以加深理解。 2. 初等网络函数介绍(TCP) Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用, 会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作, 这就是linux的设备无关性的好处.我们可以通过向描述符读写操作实现网络之间的数据交流. 2.1 socket

解析小型机、大型机和x86服务器间的差别

解析小型机、大型机和x86服务器间的差别 小型机(minicomputer or midrangecomputer)是一个已过时的术语,用来指一类界于大型主机(mainframe)和微型计算机(microcomputer)之间的计算机产品,它是60年代由DEC(数字设备公司)公司首先开发的一类高性能计算产品。 UNIX服务器具有区别于X86服务器和大型主机的特有体系结构,基本上,各厂家UNIX 服务器使用自家的UNIX版本和处理器。比如IBM公司采用Power处理器和AIX操作系统,Sun、 Fujitsu(富士通)公司采用SPARC处理器架构和Solaris操作系统,HP采用PA-RISC 架构(现在转向于安腾处理器)和HP-UX操作系统;过去的Compaq公司(已经被并入HP)处理器架构采用Alpha。使用小型机的用户一般是看中Unix操作系统的安全性、可靠性和专用服务器的高速运算能力。 早期的小型机通常有各制造厂自己的专利技术,使用专用的指令系统和操作系统。不过,自80年代UNIX操作系统兴起后,一些面临危机的小型机改用了UNIX系统。 小型机 中国业内习惯上说的小型机,是指一种UNIX服务器,是在服务器市场中处于中高端位置。小型机是指运行原理类似于PC(个人电脑)和服务器,但性能及用途又与它们截然不同的一种高性能计算机,它是70年代由DCE(数字设备公司)公司首先开发的一种高性能计算产品。小型机通常采用8-32颗处理器,性能和价格介于PC服务器和大型主机之间,高性能 64 位计算机。一般而言,小型机具有高运算处理能力、高可靠性、高服务性、高可用性等 小型机具有区别PC及其服务器的特有体系结构,还有各制造厂自己的专利技术,有的还采用小型机专用处理器,比如美国Sun、日本Fujitsu(富士通)等公司的小型机是基于SPARC处理器架构,而美国HP公司的则是基于 PA-RISC架构;Compaq公司是Alpha架构。另外I/O总线也不相同,Fujitsu是PCI,Sun是SBUS,等等。这就意味着各公司小型机机器上的插卡,如网卡、显示卡、SCSI卡等可能也是专用的。此外,小型机使用的操作系统一般是基于Unix的,像Sun、Fujitsu是用Sun Solaris,HP是用HP-Unix,IBM是AIX。所以小型机是封闭专用的计算机系统。使用小型机的用户一般是看中Unix操作系统的安全性、可靠性和专用服务器的高速运算能力。 一些历史上著名的小型机系列:IBM:AS/400DCE:PDP7、PDP11、V AX等。 现在生产小型机的厂商主要有IBM和HP及浪潮、曙光等。IBM典型机器有RS/6000、AS/400等。它们的主要特色在于年宕机时间只有几小时,所以又统称为z系列(zero 零)。AS/400主要应用在银行和制造业,还有用于Domino,主要的技术在于TIMI(技术独立机器界面),单级存储,有了TIMI技术可以做到硬件与软件相互独立。RS/6000比较常见,用于科学计算和事务处理等。 小型机的四大特色 第一,高运算处理能力(High Performance) 1、采用8-32颗处理器,实现多CPU协同处理功能;

网络编程服务器与客户端编程

网络编程服务器与客户端编程2010-10-2915:50:08|分类:Linux下C语言| TCP编程的服务器端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt();*可选 3、绑定IP地址、端口等信息到socket上,用函数bind(); 4、开启监听,用函数listen(); 5、接收客户端上来的连接,用函数accept(); 6、收发数据,用函数send()和recv(),者read()和write(); 7、关闭网络连接; 8、关闭监听; TCP编程的客户端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt();*可选 3、绑定IP地址、端口等信息到socket上,用函数bind();*可选 4、设置要连接的对方的IP地址和端口等属性; 5、连接服务器,用函数connect(); 6、收发数据,用函数send()和recv(),或者read()和write(); 7、关闭网络连接; 与之对应的UDP编程步骤要简单许多,分别如下: UDP编程的服务器端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt();*可选 3、绑定IP地址、端口等信息到socket上,用函数bind(); 4、循环接收数据,用函数recvfrom(); 5、关闭网络连接; UDP编程的客户端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt();*可选 3、绑定IP地址、端口等信息到socket上,用函数bind();*可选 4、设置对方的IP地址和端口等属性;

大型机、小型机、x86服务器的区别分解

近日,美国宇航局NASA关闭了其最后一台大型机,宣告了NASA 大型机时代的终结。美国太空计划由于预算的减少而搁置,但是中国的登月计划正如火如荼的展开,实现登月不可或缺的是对于轨道的计算,必然少不了大型机的支持。美国阿波罗计划正是运用了大型机进行人类第一次登月计划中相关的复杂计算。 大型机计算阿波罗飞船着陆地点

在阿波罗登月计划中,NASA领用IBM 360大型机系统计算出了阿波罗11号的着陆地点范围。虽然关于大型机明日黄花的论调也由来已久,但真实情况确是大型机一直屹立不倒。2012年一月IBM发布了其大型机战略计划,大型机将会继续以高可靠性、高可用性和高服务性的特点应用在银行等机构中。 NASA关闭其最后一台大型机 IBM硬件主管罗德在回应大型机渐行渐远的说法时说道,NASA关闭最后一台大型机之所以被关注,原因在于最早的大型机应用系统之一正是帮助将人类运送到月球的制导系统。大型机曾经因为阿波罗登月计划而辉煌,美国宇航局在登月计划中应用了几台IBM早期的大型机系统。帮助其进行复杂的运算,例如轨道计算等等。

大型机系统与登月计划 而在其他的领域,例如银行等企业,大型机依然发挥着重要作用。在科技飞速发展的今天,大型机缘何经历半个世纪依然不倒,它与小型机、x86服务器、甚至是超级计算机又有何分别。接下来就来揭开大型机的神秘面纱。 大型机与超级计算机的区别 光从名字而言,可能有网友会将大型机与超级计算机混为一谈。超级计算机(旧时又名巨型机),有极强的计算速度,通常用于科学与工程上的计算,这些计算的速度与内存性能大小有关,而大型机的运算任务主要受数据传输与转移、可靠性及并发处理性能所限制。 大型机更倾向整数运算,如订单数据、银行业务数据等,超级计

客户端和服务器端判断请求来至微信客户端

有两种情况: client端区分 添加js代码 1.var browser={ 2. 3.versions:function(){ 4. 5.var u = https://www.wendangku.net/doc/d113120551.html,erAgent, app = navigator.appVersion; 6. 7.return {//移动终端浏览器版本信息 8. 9.trident: u.indexOf('Trident') > -1, //IE内核 10. 11.presto: u.indexOf('Presto') > -1, //opera内核 12. 13.webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 14. 15.gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 16. 17.mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否 为移动终端 18. 19.ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 20. 21.android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端 或者uc浏览器 22. 23.iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者 QQHD浏览器 24. 25.iPad: u.indexOf('iPad') > -1, //是否iPad 26. 27.webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 28. 29.}; 30. 31.}(), 32. https://www.wendangku.net/doc/d113120551.html,nguage:(navigator.browserLanguage || https://www.wendangku.net/doc/d113120551.html,nguage).toLowerCase() 34. 35.} 36.

oracle服务器端与客户端配置

近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。 一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。 二、本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。 本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。 三、Oracle网络连接配置方法 配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle 服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle 网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如: $ netmgr Windows下启动Net Manager图形窗口如下图示:

相关文档
相关文档 最新文档