客户机、服务器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

客户机和服务器都是独立的计算机。

当一台连入网络的计算机向其他计算机提供各种网络服务(如数据、文件的共享等)时,它就被叫做服务器。

客户机:连接服务器的计算机。

客户机使用服务器共享的文件、打印机和其他资源。

严格说来,客户机/服务器模型并不是从物理分布的角度来定义,它所体现的是一种网络数据访问的实现方式。

通常,采用客户机/服务器结构的系统,有一台或多台服务器以及大量的客户机。

服务器配备大容量存储器并安装数据库系统,用于数据的存放和数据检索;客户端安装专用的软件,负责数据的输入、运算和输出。

客户机/服务器模型的优点主要在于系统的客户端应用程序和服务器部件分别运行在不同的计算机上,系统中每台服务器都可以适合各部件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。

在客户机/服务器模型中,系统中的功能部件充分隔离,客户端用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用开发中都要对一个数据库进行编码。

将大的应用处理任务分布到许多通用网络连接的低成本计算机上导致了费用的极大节约。

应用程序从结构上一般分为四层:形式逻辑、业务逻辑、数据逻辑和数据存储。

传统的C/S 计算多是基于两级模式,在这种模式中,所有的形式逻辑和业务逻辑均驻留在Client端,而Server则成为数据库服务器,负责各种数据的处理和维护。

因此Server变得很“瘦”,被称为“瘦服务器(Thin Server)”。

与之相反,这种模式需要在客户端运行庞大的应用程序,这就是所谓的“胖客户机(Fat Client)”。

在三层模式中,Web服务器既作为一个浏览服务器,又作为一个应用服务器,在这个中间服务器中,可以将整个应用逻辑驻留其上,而只有表示层存在于客户机上。

这种结构被称之为“瘦客户机”。

这种结构中,无论是应用的HTML页还是Java Applet都是运行时刻动态下载的,只需随机地增加中间层的服务 (应用服务器),即可满足扩充系统的需要。

由此我们可以用较少的资源建立起具有很强伸缩性的系统,这正是网络计算模式带来的重大改进。

和两层C/S结构相比,三层C/S结构具有更灵活的硬件系统构成,对于各个层可以选择与其处理负荷和处理特性相适应的硬件。

合理地分割三层结构并使其独立,可以使系统的结构变得简单清晰,这样就提高了程序的可维护性。

三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,有利于变更和维护应用技术规范。

按层分割功能使各个程序的处理逻辑变得十分简单。

一般而言,三层C/S结构的优势主要表现在以下几个方面:
∙利用单一的访问点,可以在任何地方访问站点的数据库;
∙对于各种信息源,不论是文本还是图形都采用相同的界面;
∙所有的信息,不论其基于的平台,都可以用相同的界面访问;
∙可跨平台操作;
∙减少整个系统的成本;
∙维护升级十分方便;
∙具有良好的开放性;
∙系统的可扩充性良好;
∙进行严密的安全管理;
∙系统管理简单,可支持异种数据库,有很高的可用性。

嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对
嵌入式系统中有许多非常重要的概念:
1、嵌入式处理器
嵌入式系统的核心,是控制、辅助系统运行的硬件单元。

范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

2、实时操作系统
◆实时操作系统(RTOS-Real Time Operating System):
嵌入式系统目前最主要的组成部分。

根据操作系统的工作特性,实时是指物理进程的真实时间。

实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。

其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。

3、分时操作系统
对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。

目前分时系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。

4、多任务操作系统
系统支持多任务管理和任务间的同步和通信,传统的单片机系统和DOS系统等对多任务支持的功能很弱,而目前的Windows是典型的多任务操作系统。

在嵌入式应用领域中,多任务是一个普遍的要求。

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:
工业控制:工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。

交通管理:车辆导航、流量控制、信息监测与汽车服务
信息家电:冰箱、空调等的网络化、智能化。

家庭智能管理系统:水、电、煤气表的远程自动抄表,安全防火、防盗系统。

在服务领域,远程点菜器等已经体现了嵌入式系统的优势。

POS网络及电子商务:公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。

环境工程与自然:水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。

GUI 是Graphic User Interface,是图形用户接口,主要提供可视化界面方面的接口
API 是Application Programming Interface,应用程序编程接口,侧重于和系统交互
图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。

与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。

GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。

而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

多线程:
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。

多线程处理一个常见的例子就是用户界面。

利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。

多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。

线程是在同一时间需要完成多项任务的时候实现的。

Tcl (最早称为“工具命令语言”"Tool Command Language", 但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种脚本语言。

由John Ousterhout创建。

TCL很好学,功能很强大。

TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。

TCL念作“踢叩” "tickle".
TCL本身不提供面向对象的支持。

但是语言本身很容易扩展到支持面向对象。

许多C语言扩展都提供面向对象能力,包括XOTcl, Incr Tcl 等。

另外SNIT扩展本身就是用TCL写的。

使用最广泛的TCL扩展是TK。

TK提供了各种OS平台下的图形用户界面GUI。

连强大的Python语言都不单独提供自己的GUI,而是提供接口适配到TK上。

另一个流行的扩展包是Expect. Expect提供了通过终端自动执行命令的能力,例如(passwd, ftp, telnet等命令驱动的外壳).
Smalltalk和许多程序设计语言不同,它不仅仅是一门语言。

一种面向对象的程序设计语言:它是一种面向对象的语言,包含语言的语法和语义。

一些编译器可以通过Smalltalk源程序产生可执行文件。

这些编译器通常产生一种能在虚拟机上运行的二进制代码。

Smalltalk语言本身非常精炼。

一种程序设计环境:这里指的是一种提供许多对象的系统,而不是某种特殊的开发环境。

和许多语言不同(包括C++),Smalltalk附带有一个巨大的、相当标准的类库。

这些类使得开发Smalltalk程序的效率非常高。

在其它语言(例如Ada , C 和Pascal )中通常被作为语言的一部分的功能(例如条件判断,循环等),在Smalltalk由特定的类提供。

一个应用开发环境(ADE):由于Smalltalk的历史原因,它具有一个非常优秀的高度集成、开放的应用开发环境。

由于开发环境中的浏览器、监视器以及调试器都由同样的源程序衍生出来的,不同的版本之间也具有相当好的兼容性。

此外,这些工具的源程序都可以在ADE直接存取。

在Smalltalk中所有的东西都是对象,或者应该被当作对象处理。

相关文档
最新文档