版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算机基础知识
1.1计算机概述1.2计算机的类型与用途1.3信息的表示与存储1.4计算机系统的组成与应用1.5PC机的硬件配置1.6计算机应用与信息化社会1.7计算机文化与社会道德上机实训课题1第一章计算机基础知识1.1计算机概述 1.1.1第一台电子计算机的诞生 世界上第一台数字式电子计算机是由美国宾夕法尼亚大学的物理学家约翰·莫克利(JohnMauchly)和工程师普雷斯伯·埃克特(PresperEckert)领导研制的取名为ENIAC(ElectronicNumericalIntegratorandCalculator)的计算机。第一章计算机基础知识 1942年,在宾夕法尼亚大学任教的约翰·莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所的高尔斯特丹(Goldstine)的关注。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足不了要求,急需能自动计算的机器。于是,在美国陆军部的资助下,1943年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类拔萃,例如它可以在一秒钟内进行5000次加法运算,3毫秒便可进行一次乘法运算,与手工计算相比运算速度大大加快了,60秒钟射程的弹道计算时间由原来的20分钟缩短到30秒。第一章计算机基础知识 ENIAC也存在着明显的缺点,它的体积庞大,机器中约有18800只电子管,1500个继电器,70000只电阻及其他各类电气元件,运行时耗电量很大;它的存储容量很小,只能存20个字长为10位的十进制数;另外,它采用线路连接的方法来编排程序,每次解题都要靠人工改接连线,准备时间大大超过实际计算时间。
第一章计算机基础知识
尽管如此,ENIAC的研制成功还是为以后计算机科学的发展奠定了基础,而每克服它的一个缺点,都会对计算机的发展带来很大的影响,其中影响最大的就是程序存储方式的采用。将程序存储方式的设想确立为体系的是美国数学家冯·诺依曼(VonNeumann),其主要思想是:在计算机中设置存储器,将符号化的计算步骤存放在存储器中,然后依次取出存储的内容进行译码,并按照译码的结果进行计算,从而实现计算机工作的自动化。
1945年,冯·诺依曼参与新机器EDVAC(ElectronicDiscreteVariableAutomaticComputer)的研制,参与该工作的还有研制ENIAC的原班人马埃克特和莫克利等。EDVAC不但采用了汞延迟存储器,而且采用了二进制编码。第一章计算机基础知识
遗憾的是,在研制过程中,以冯·诺依曼为首的理论界人士和以埃克特、莫克利为首的技术界人士之间发生了严重的意见分歧,致使EDVAC的研制搁浅,直至1950年才勉强完成。
1946年,英国剑桥大学的莫利斯·威尔克思参加了EDVAC讲习班,回国后开始研制EDSAC(ElectronicDelayStorageAutomaticCalculator),并于1949年完成。EDSAC直接受EDVAC方案的影响,采用了二进制和程序存储方式,运算速度为670次加减法每秒,170次乘法每秒,程序和数据的输入采用纸带,输出采用电传打字机。这样,世界上第一台程序存储式计算机的殊荣由EDSAC夺得。以后的计算机采用的都是程序存储方式,而采用这种方式的计算机统称为冯·诺依曼式计算机。第一章计算机基础知识 1.1.2计算机发展的几个阶段 从第一台计算机的诞生到现在,计算机已走过60多年的发展历程。在这期间,计算机的系统结构不断变化,应用领域也在不断拓宽。人们根据计算机所用逻辑元件的种类对计算机的发展阶段进行了划分,习惯上分为四个阶段,如表1.1所示。第一章计算机基础知识表1.1计算机发展的四个阶段第一章计算机基础知识
从第一台计算机的出现直至20世纪50年代后期,这一时期的计算机属于第一代计算机,其主要特点是采用电子管作为基本物理器件。它的体积大,能耗高,速度慢,容量小,价格昂贵,应用也仅限于科学计算和军事目的。
20世纪50年代后期到60年代中期出现的第二代计算机采用晶体管作为基本物理器件,并采用了监控程序,这是操作系统(OS)的雏形。在这一期间,适用于事务处理的COBOL语言也得到了广泛应用,这意味着计算机的应用范围已从科学计算扩展到了事务处理领域。与第一代计算机相比,晶体管计算机体积小,成本低,功能强,可靠性高。这时期计算机不仅应用于军事与尖端技术上,而且也被用于工程设计、数据处理、事务管理等方面。第一章计算机基础知识 1964年4月,IBM公司推出了采用新概念设计的IBM360计算机,宣布了第三代计算机的诞生。正像它名字中的数字所表示的那样,IBM360有360°全方位的应用范围。它分为大、中、小型等6个型号,具有通用化、系列化、标准化的特点。通用化即兼顾了科学计算、数据处理、实时控制等多方面的应用,机器指令丰富。系列化即在指令系统、数据格式、字符编码、中断系统、输入/输出方式、控制方式等方面保持统一,使用户在低档机上编写的程序可以不加修改地运行在以后性能更好的高档机上,实现了程序的兼容。标准化即采用标准的输入/输出接口,这样各机型的外部设备都是通用的。第一章计算机基础知识
第四代计算机始于20世纪60年代末70年代初,其特征是以大规模集成电路VLSI为计算机的主要功能部件,用16KB、64KB或集成度更高的半导体存储器作为主存储器,计算速度可达每秒几百万次甚至上亿次。这一时期在系统结构方面发展了并行处理技术、分布式计算机系统和计算机网络等;在软件方面发展了数据库系统、分布式操作系统、高效而可靠的高级语言以及软件工程标准化等,并逐渐形成软件产业部门。第一章计算机基础知识 1.1.3未来计算机的发展方向 从第一台计算机的诞生到今天,计算机的体积不断变小,但性能、速度却在不断提高。然而,人类的追求是无止境的,科学家们一刻也没有停止研究更好、更快、功能更强的计算机。从目前的研究方向看,未来计算机将朝着以下几个方向发展。
1.超越冯·诺依曼结构 到目前为止,各种类型的计算机都属于冯·诺依曼型计算机,即采用存储程序原理和二进制编码。随着计算机应用领域的扩大,冯·诺依曼型的工作方式逐渐显露出其局限性,因此科学家们又提出了制造非冯·诺依曼型计算机的设想。第一章计算机基础知识
自20世纪60年代起,人们从两个方向开始努力:一是创建新的程序设计语言,即所谓的“非冯·诺依曼语言”;二是从计算机元件方面提出了与人脑神经网络相类似的新型超大规模集成电路的设想,即“分子芯片”。 “非冯·诺依曼语言”主要有三种:LISP、PROLOG和F.P.。LISP语言使用最简单的词汇来表达非数值计算问题,具有自编译能力,广泛应用于数学中的符号微积分计算、定理证明、谓词演算和博弈论等,还扩展到在计算机中进行符号处理、硬件描述和超大规模集成电路设计等。PROLOG语言是一种逻辑程序设计语言,其核心思想是把程序设计变为逻辑设计,即程序等于逻辑,大大突破了传统程序设计的概念。第一章计算机基础知识 PROLOG语言在20世纪70年代很受冷落,但在1982年日本提出“第五代计算机”时,它成为核心语言,并成为与LISP语言并驾齐驱的人工智能语言。F.P.语言是由IBM公司的软件大师约翰·巴库斯(FORTRAN语言的创建者)创建的,它是一种供理论研究用的理想语言,直到20世纪90年代还未广泛应用。第一章计算机基础知识 20世纪40年代初,匹茨等人把逻辑中的真假值与人类神经元的兴奋和抑制加以类比,从而建立了神经网络模型。维纳则进一步把这种神经网络模型与计算机的开关电路作了类比,创建了一门新学科——生物控制论,设想用计算机电子元器件的0和1的运算来逐次接近人脑神经元的兴奋和抑制。然而人们发现,即便是超大规模集成电路芯片上的晶体管也无法与人脑的神经元相比。人脑的神经元有1000亿个,而每一个芯片上放置2000万个晶体管就几乎达到极限,两者相距5000倍。这样,在20世纪80年代初,人们根据有机化合物分子结构存在着“键合”和“离解”两种状态,提出了生物芯片构想,并着手研究由蛋白质分子作为计算机元件而组成的生物计算机。第一章计算机基础知识 2.高速计算机浮出水面 研究表明,计算机运行速度的快慢与芯片之间信号传输的速度紧密相关。然而,目前广泛使用的硅二氧化物在传输信号的过程中会吸收掉一部分信号,从而延长了信息传输的时间。而一种新近研制的“空气胶滞体”导线几乎不吸收任何信号,并可以降低电耗。在不需要对计算机芯片进行任何改造的前提下,只需换上“空气胶滞体”导线,就可以成倍提高计算机的运行速度。目前这种技术需要解决的主要问题是散热问题。 不久前,美国IBM公司制造的两台IBMLinux集群计算机,每秒钟可执行2万亿次浮点运算,是迄今为止运算速度最快的Linux超级计算机。第一章计算机基础知识 3.生物计算机生机勃勃 生物计算机在20世纪80年代中期开始研制。其最大特点是采用了生物芯片,生物芯片由生物工程技术产生的蛋白质分子构成。在这种芯片中,信息以波的形式传播,运算速度比当今最新一代的计算机快10万倍,而能量消耗仅为普通计算机的1/10,并拥有巨大的存储能力。由于蛋白质分子能够自我组合,再生新的微型电路,这使得生物计算机具有生物体的一些特点,如能发挥生物本身的调节机能自动修复芯片故障,还能模仿人脑的思考机制。
第一章计算机基础知识
美国首次公布的生物计算机被用来模拟电子计算机的逻辑运算,解决虚构的七城市间最佳路径问题。不久前,200多名各国计算机学者聚集在美国普林斯顿大学,联名呼吁向生物计算机领域进军。预计不久的将来,科学家们就能制造出分子元件,即通过在分子水平上的物理化学作用对信息进行检测、处理、传输和存储。
4.光学计算机前景光明 所谓光学计算机,就是利用光作为信息的传输媒体。与电子相比,光子具有许多独特的优点:它的速度永远等于光速,具有电子所不具备的频率及偏振特征,从而可大大提高传输信息的能力。此外,光信号传播不需要导线,抗干扰能力强。一块直径仅2cm的光棱镜可以通过的信息比特率超过世界全部电缆总和的300倍。第一章计算机基础知识 20世纪90年代中期,光子计算机的研究成果不断涌现。其中最显著的研究成果是由法国、德国等国60多名科学家联合研制开发成功的世界上第一台光计算机,其运算速度比目前世界上最快的超级计算机快1000多倍,并且准确性极高。此外,光计算机的并行能力强,具有超高速的运算潜力。在工作环境要求方面,超高速的计算机只能在低温条件下工作,而光计算机在室温下就可以正常工作。 目前光计算机的许多关键技术,如光存储技术与光存储器、光电子集成电路等都已取得了重大突破。第一章计算机基础知识 5.量子计算机呼之欲出 所谓量子计算机,是指利用处于多现实态下的原子进行运算的计算机。这种多现实态是量子力学的标志。在某种条件下,原子世界存在着多现实态,即原子和亚原子粒子可以同时存在于此处或彼处,可以同时表现出高速和低速,可以同时向上或向下运动。如果用这些不同的原子状态分别代表不同的数字或数据,就可以利用一组具有不同潜在状态组合的原子,在同一时间对某个问题的所有答案进行探询,并最终使代表正确答案的组合脱颖而出。第一章计算机基础知识
与传统的电子计算机相比,量子计算机具有以下优点:
(1)解题速度快。传统的电子计算机用“0”和“1”表示信息,而量子粒子可以有多种状态,使量子计算机能够采用更为丰富的信息单位,从而大大加快了处理速度。
(2)存储量大。电子计算机用二进制存储数据,而量子计算机用量子位存储,具有叠加效应。例如,n个量子位就可以存储2n个数据。
(3)搜索功能强。美国朗讯公司贝尔实验室的教授们发现,量子计算机能够组成一种量子超级网络引擎,可轻而易举地从海量数据中快速搜寻出特定的信息。其方法就是采用不同的量子位状态组合,分别检索数据库里的不同部分,其中必然有一种状态组合会找到所需的信息。第一章计算机基础知识
在进入21世纪之际,科学家根据量子力学理论,在研制量子计算机的道路上取得了新的突破。美国科学家宣布,他们已成功实现了4量子位逻辑门,取得了4个锂离子的量子缠结状态。 科学家们预言,21世纪将是量子计算机、生物计算机、光学计算机和情感计算机的时代,就像电子计算机对20世纪产生了重大影响一样,各种新颖的计算机也必将对21世纪产生重大影响。第一章计算机基础知识1.2计算机的类型与用途
计算机由于其运算的高速度、高可靠性和高精确度,以及其所具有的海量存储信息的能力,在各领域得到了广泛应用。根据其用途不同,计算机可分为通用机和专用机两类。通用机能解决多种类型的问题,通用性强;而专用机则配有解决特定问题的软、硬件,功能单一,但能高速、可靠地解决特定问题。 通常,人们又按照计算机的运算速度、字长、存储容量、软件配置及用途等多方面的综合性能指标,将计算机分为微型机、工作站、小型机、大型机和巨型机等几类。这种分类的标准只是相对的,只能就某一时期而言。下面分别对其加以介绍。第一章计算机基础知识 1.微型计算机 以微处理器为中央处理单元而组成的个人计算机(PC)简称微型机或微机。
1971年,美国Intel公司成功地在一块芯片上实现了中央处理器的功能,制成了世界上第一片4位微处理器MPU(Micro-ProcessingUnit),也称Intel4004,并由它组装成第一台微型计算机MCS-4,由此揭开了微型计算机大普及的序幕。随后,许多公司(如Motorola、Zilog等)也争相研制微处理器,相继推出了8位、16位、32位微处理器。芯片内的主频和集成度也在不断提高,芯片的集成度几乎每18个月提高一倍,而由它们构成的微型机在功能上也不断完善。如今的微型计算机在某些方面已可以和以往的大型机相媲美。
第一章计算机基础知识
美国IBM公司采用Intel微处理器芯片,自1981年推出IBMPC(PersonalComputer)微型计算机后,又推出IBMPC/XT、PC286、PC386、PC486、Pentium和PentiumPro等一系列微型计算机。由于其功能齐全,软件丰富,价格便宜,很快便占据了微型计算机市场的主导地位。 美国Apple公司生产的苹果机由于其先进的技术、友好的用户界面以及软硬件的完美结合而在个人计算机领域也备受人们的青睐。
第一章计算机基础知识
目前,世界上几家著名微处理机芯片和制造厂商已开发和制造出64位结构的微处理机芯片,如DEC公司推出的Alpha21164微处理机芯片,IBM、Motorola、Apple三家公司联合推出的Power-PC体系结构的64位微处理机芯片,以及Intel公司正在开发的新一代64位微处理机芯片等。随着技术的不断发展,64位计算机体系结构将逐渐取代32位体系结构。 随着社会信息化进程的加快,强大的计算能力对每一个用户来说固然必不可少,然而移动办公又将成为一种重要的办公方式。因此,一种比台式机体积更小,重量更轻,功耗更低,并可随身携带的“便携机”便应运而生,笔记本型电脑就是其中的典型产品之一。虽然同样价格的笔记本电脑在功能上要逊色于台式机,但它具有适于移动和外出使用的优点,因此深受用户欢迎。第一章计算机基础知识
根据微型机是否由最终用户使用,微机又可分为独立式微机(即我们日常使用的微机)和嵌入式微机。嵌入式微机作为一个信息处理部件安装在一个应用设备里,最终用户不直接使用该计算机,使用的是该应用设备,例如,包含有微机的医疗设备、高级录像设备等。嵌入式微机一般是单片机。将中央处理器、存储器和输入/输出接口集成在一个芯片上的计算机称为单片机。单片机已广泛用于家电、生活用具和仪器仪表中,并正向智能化发展。
第一章计算机基础知识
微型机从出现到现在不过20几年,因其小巧、轻便且价格便宜而应用范围急剧扩展,从太空中的航天器到家庭生活,从工厂的自动控制到办公自动化以及商业、服务业、农业等,遍及社会各个领域。在学校中,微机已成为学生学习计算机操作的主要机种。PC机联网之后,用户又可以通过PC机使用网络上的各种软、硬件资源。PC机已成为网络上客户机的主力军。使用多台微机并行工作,还可以实现性能价格比非常好的高性能计算机系统。第一章计算机基础知识
当前,个人计算机已渗透到各行各业和千家万户。它既可以用于日常信息处理,又可以用于科学研究。PC机的出现使得计算机真正面向全人类,真正成为大众化的信息处理工具。不久的将来,人们手持一部“便携机”便可通过网络随时随地与世界上任何一个地方的任何一个人或计算机实现信息交流与通信。原来保存在桌面和书柜里的部分信息将存入随身携带的电脑中。到那时,人走到哪里,以个人机(特别是“便携机”)为核心的移动信息系统就跟到哪里,人类向着信息化的自由王国又迈进了一大步。第一章计算机基础知识 2.工作站 工作站是一种高档微机系统。它具有较高的运算速度,既具有大、中、小型机的多任务、多用户能力,又具微型机的操作便利和良好的人机界面。工作站可连接多种输入/输出设备,而其最突出的特点是图形功能强,具有很强的图形交互与处理能力,因此在工程领域,特别是在计算机辅助设计(CAD)领域得到广泛应用。人们通常认为工作站是专为工程师设计的机型。工作站一般都带有网络接口,采用开放式系统结构,即将机器的软、硬件接口公开,并尽量遵守国际工业界的流行标准,以鼓励其他厂商、用户围绕工作站开发软、硬件产品。目前,多媒体等各种新技术已普遍集成到工作站中,使其更具特色。而它的应用领域也已从最初的计算机辅助设计扩展到商业、金融、办公领域,并频频充当网络服务器的角色。第一章计算机基础知识 3.小型机 小型机可以为多个用户执行任务,通常是一个多用户系统。小型机结构简单,设计试制周期短,便于及时采用先进工艺。这类机器由于具有可靠性高,价格便宜,对运行环境要求低,易于操作且便于维护等优点,因此对广大用户具有较强的吸引力,特别在一些中、小企业中很有市场。小型机的出现加速了计算机的推广和普及。第一章计算机基础知识 DEC公司的PDP-11系列是16位小型机的早期代表。近年来,随着基础技术的进步,小型机的发展引人注目,特别是在体系结构上采用了RISC技术,即计算机硬件只实现最常用的指令集,复杂指令用软件实现,从而使其具有更高的性能价格比。在系统结构上,小型机也经常像大型计算机一样采用多处理机系统。目前,一些具有高速硬盘接口的高档微机也在扮演着小型机的角色。 小型机应用范围广泛,它既可作为集中式的部门级管理计算机,也可在大型应用中作为前端处理机,还可在客户/服务器结构中作为服务器(如文件服务器、WWW服务器及应用服务器等)使用。小型机的应用例子有工业自动控制、大型分析仪器、测量仪器、医疗设备中的数据采集和分析计算等。小型机还广泛用于企业管理以及大学和研究所的科学计算等。第一章计算机基础知识 4.大型通用机 大型通用机是对一类计算机的习惯称呼,本身并无十分准确的技术定义,其特点表现为通用性强,具有很强的综合处理能力,性能覆盖面广等。大型通用机主要应用于公司、银行、政府部门、社会管理机构和制造厂家等,通常人们称其为“企业级”计算机。 大型机系统可以是单处理机、多处理机或多个子系统的复合体。 在信息化社会里,随着信息资源的剧增,带来了信息通信、控制和管理等一系列问题,而这正是大型机的特长。未来将赋予大型机更多的使命,它将覆盖“企业”所有的应用领域,如大型事务处理、企业内部的信息管理与安全保护、大型科学与工程计算等。第一章计算机基础知识
大型机研制周期长,设计技术与制造技术非常复杂,耗资巨大,需要相当数量的设计师协同工作。大型机在体系结构、软件、外设等方面又有极强的继承性。因此,国外只有少数公司能够从事大型机的研制、生产和销售工作。美国的IBM、DEC,日本的富士通、日立等都是大型机的主要厂商。
5.巨型机 巨型机是计算机中档次最高的机型,它的运算速度最快,性能最高,技术最复杂。巨型机主要用于解决大型机也难以解决的复杂问题,它是解决科技领域中某些带有挑战性问题的关键工具。
第一章计算机基础知识
研制巨型机是现代科学技术,尤其是国防尖端技术发展的需要。核武器、反导弹武器、空间技术、大范围天气预报、石油勘探和地震预测等都要求计算机有很高的运算速度和很大的存储容量,因此一些国家竞相投入巨资开发速度更快、性能更强的超级计算机。巨型机的研制水平、生产能力及其应用程度已成为衡量一个国家经济实力和科技水平的重要标志。第一章计算机基础知识
目前,巨型机的运算速度可达万亿次每秒。这种计算机使研究人员可以研究以前无法研究的问题,例如研究更先进的国防尖端技术,估算100年以后的天气,更详尽地分析地震数据以及帮助科学家计算毒素对人体的作用等。 巨型机按照其体系结构和技术水平的发展,已经经历了如下四代: 第一代巨型机是单指令流多数据流(SIMD)的阵列处理机AP,其典型代表是美国于1972年研制成功的ILLAC-Ⅳ,它由64个处理机构成8×8的阵列,这些处理机在一个控制部件的控制下同步工作,其运算速度为近亿次每秒。第一章计算机基础知识
第二代巨型机是具有流水线结构的向量机VP。20世纪70年代后期美国推出的Cray-1是这一代巨型机的标志。该机由高速中、小规模集成电路组成,有12条不同功能的流水线运算部件,分为4组,可并行流水工作,其运算峰值可达160MFlops(浮点运算次数每秒)。该机也使得巨型计算机首次成为商品,并走向市场。 第三代巨型机是多指令流多数据流(MIMD)的共享主存多处理机系统MP。以美国20世纪80年代中期到90年代初期推出的CrayX-MP、CrayY-MP系列为代表,具有2~16个处理机,紧密耦合共享主存,可多任务并发以解决用户的大型问题。每个处理机内又采用了多流水线向量技术,运算速度可达每秒几百亿次。第一章计算机基础知识
第四代巨型机是大规模并行处理系统MMP,它由几百到上万个处理机互连而成,靠高度并行获得高性能。 从巨型机的发展过程可以看出,计算机性能的提高已不仅仅依赖于单个CPU的速度,因为单CPU速度的提高将越来越困难。当前微机采用的芯片运算速度已达亿次数量级,巨型机要想获得更高的性能,需要在计算机的体系结构上寻找出路,其中的一个主要途径是并行技术。并行有两种方式:一种是利用流水线原理,以时间重叠方式加工数据;另一种是多个处理部件以空间分布方式实现并行处理。在体系结构中要研究如何开发这两种并行方式,以构成一个合理、实用、高效的系统。第一章计算机基础知识
除了硬件外,巨型机采用的操作系统应该是并行、分布式的操作系统,具有批处理和一定的交互功能。目前大多数巨型机采用UNIX操作系统。针对各种用户的复杂应用问题,研究开发并行算法是用好巨型机的又一个重要因素。算法和体系结构的匹配可以提高巨型机的性能。 我国研制成功的“银河巨型计算机”采用了目前国际最新的可扩展多处理机并行体系结构。它的整体性能优越,系统软件高效,网络计算环境强大,可靠性设计独特,工程设计优良,其系统综合技术达到当前国际先进水平。在该系统研制的同时,一批适用于天气预报、地震机理研究、量子化学研究、气动力研究等方面的高水平应用软件也已研制出来,这使巨型机进入市场的竞争力增强了。第一章计算机基础知识 6.服务器 当计算机最初用于信息管理时,信息的存储和管理是分散的,这种方式的弱点是数据的共享程度低,数据的一致性难以保证。于是以数据库为标志的一代信息管理技术发展起来了,而以大容量磁盘为手段,以集中处理为特征的信息系统也发展起来了。20世纪80年代PC机的兴起冲击了这种集中处理的模式,而计算机网络的普及更加剧了这一变化。数据库技术也相应延伸到了分布式数据库,于是客户/服务器的应用模式出现了。当然,这不是向分散处理的简单回归,而是螺旋式的上升。第一章计算机基础知识
随着因特网(Internet)的迅猛发展,网络安全、软件维护与更新、多媒体应用等迫使人们再次权衡集中与分散的问题,即是否可以把需要共享和需要保持一致的数据相对集中地存放,是否可以把经常更新的软件比较集中地管理,而把用户端的功能仅限于用户界面与通信功能,这就是网络计算的由来。 近年来,随着因特网的普及,各种档次的计算机在网络中发挥着各自不同的作用,而服务器在网络中扮演着最主要的角色。服务器可以是大型机、小型机、工作站或高档微机。服务器可以提供信息浏览、电子邮件、文件传送、数据库、打印以及多种应用服务。第一章计算机基础知识
服务器的主要特点如下:
(1)只有在客户机的请求下才为其提供服务。
(2)服务器对客户透明。一个与服务器通信的用户面对的是具体的服务,而可以完全不知道服务器运行的是什么操作系统和应用环境。
(3)服务器一般具有高性能、大容量、高可靠性和可伸展性。一台计算机可以通过软件配置而扮演一种或同时扮演几种服务器的角色。
第一章计算机基础知识1.3信息的表示与存储 1.3.1计算机内部是二进制数字世界 在二进制系统中只有0和1两个数。不论是指令还是数据,在计算机中都采用二进制的编码形式。即使是图形、声音等信息,也必须转换成二进制编码形式,才能存入计算机中,这是为什么呢?因为在计算机内部,信息的表示依赖于机器硬件电路的状态,信息采用什么表示形式,直接影响到计算机的结构与性能。采用基2码表示信息,有以下几个优点:第一章计算机基础知识 (1)易于物理实现。因为具有两种稳定状态的物理器件是很多的,如门电路的导通与截止,电压的高与低,而它们恰好对应表示1和0两个符号。假如采用十进制,要制造具有10种稳定状态的物理电路,那是非常困难的。
(2)运算简单。数学推导证明,对R进制数进行算术求和或求积运算,其运算规则各有R(R+1)/2种。如采用十进制,则有55种求和与求积的运算规则;而对于二进制,则仅有3种,因而简化了运算器等物理器件的设计。
(3)机器可靠性高。由于电压的高低、电流的有无等都是两种分明的状态,因此基2码的传递抗干扰能力强,鉴别信息的可靠性高。第一章计算机基础知识 (4)通用性强。基2码(0和1)不仅成功地运用于数值信息编码(二进制),而且适用于各种非数值信息的数字化编码。特别是0和1两个符号正好与逻辑命题的“真”与“假”两个值相对应,从而为计算机实现逻辑运算和逻辑判断提供了方便。 计算机存储器中存储的都是由“0”和“1”组成的信息,但它们分别代表各自不同的含义,有的表示机器指令,有的表示二进制数据,有的表示英文字母,有的则表示汉字,还有的可能表示色彩与声音。存储在计算机中的信息采用了各自不同的编码方案,即使是同一类型的信息,也可以采用不同的编码形式。第一章计算机基础知识 1.3.2计算机的数字系统 在计算机内的数值信息用二进制数来表示。为了运算简单,在不同的场合采用了“原码”和“补码”等不同的编码方法,而且还采用“定点数”和“浮点数”的方式来分别表示整型数和实型数。 人们日常生活中最熟悉的是十进制数,但在与计算机打交道时,会接触到二进制、八进制、十六进制数。无论哪种数制,其共同之处都是进位记数制。
第一章计算机基础知识 1.认识进位记数制 一般来说,如果数制只采用R个基本符号,则称其为基R数制,R称为数制的“基数”,而数制中每一固定位置对应的单位值称为“权”。进位计数制的编码符合“逢R进位”的规则,各位的权是以R为底的幂,一个数可按权展开成为多项式。例如,一个十进制数256.47可按权展开为
256.47=2×102+5×101+6×100+4×10-1+7×10-2
下面是我们需要熟悉的几种进位数制: 二进制 R=2 基本符号0,1
八进制 R=8 基本符号0,1,2,3,4,5,6,7
第一章计算机基础知识
十进制 R=10 基本符号0,1,2,3,4,5,6,7,8,9
十六进制R=16 基本符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
其中,十六进制的数符A~F分别对应十进制的10~15。 对于二进制来说,基数为2,每位的权是以2为底的幂,遵循“逢二进一”的原则,基本符号只有0和1两个。1011.01就是二进制数。 当然,基2码也有其不足之处,如它表示的数的容量最小。在表示同一个数时,二进制较其他进制需要更多的位数。第一章计算机基础知识 2.几种进位记数制之间的转换
1)R进制转换为十进制 基数为R的数字,只要将其各位数字与它的权相乘,然后将积分别相加,所得的和就是十进制数。 例如,将下列数转换成十进制数:
(1)(1101101.0101)2=1×26+1×25+0×24+1×23+1×22+0×21+1×20 +0×2-1+1×2-2+0×2-3+1×2-4=(109.3125)10第一章计算机基础知识 (2)3506.28=3×83+5×82+0×81+6×80+2×8-1=(1862.25)10 (3)(0.2A)16=2×16-1+10×16-2=(0.1640625)10
从上例可以看到,当从R进制数转换到十进制数时,可以把小数点作为基点,分别向左右两边进行转换,即对其整数部分和小数部分分别转换。对于二进制数来说,只要把数位是1的那些位的权值相加,其和就是等效的十进制数。因此,二/十进制数的转换是最简便的,同时也是最常用的。第一章计算机基础知识 2)十进制转换为R进制 将十进制数转换为基数是R进制的等效表示时,可将此数分成整数和小数两部分分别进行转换,然后再拼接起来即可。 十进制整数转换成R进制的整数,可用十进制数连续地除以R,其余数即为R进制的各位系数。此方法称为除R取余法。
第一章计算机基础知识
例如,将(57)10转换为二进制数:
257余数
228…………… 1二进制整数低位
214…………… 027…………… 023…………… 121…………… 10…………… 1二进制整数高位 所以(57)10=(111001)2。第一章计算机基础知识
十进制小数转换成R进制数时,可连续地乘以R,直到小数部分为0或达到所要求的精度为止(小数部分可能永远不为零),得到的整数即组成R进制的小数部分,此法称为“乘R取整”。例如,将(0.31251)10转换成二进制数:
0.3125×2=0.625 0.625×2=1.35 0.25×2=0.5 0.5×2=1.0
所以(0.3125)10=(0.0101)2。 要注意的是,十进制小数常常不能准确地换算为等值的二进制小数(或其他R进制数),有换算误差存在。第一章计算机基础知识
例如,将(0.5627)10转换成二进制数:
0.5627×2=1.1254 0.1254×2=0.2508 0.2508×2=0.5016 0.5016×2=1.0032 0.0032×2=0.0064 0.0064×2=0.0128
此过程会不断进行下去(小数位达不到0),因此只能取到一定精度,即保留几位小数。若保留6位数,则第一章计算机基础知识 (0.5627)10=(0.100100)2
若将十进制数57.3125转换成二进制数,则可分别进行整数部分和小数部分的转换,然后再拼在一起。其转换结果为
(57.3125)10=(111001.0101)2 3)二、八、十六进制的相互转换 二、八、十六进制的相互转换在应用中占有重要的地位。由于这三种进制的权之间有内在的联系,即23=8,24=16,因而它们之间的转换就比较容易,即每位八进制数对应3位二进制数,每位十六进制数对应4位二进制数。第一章计算机基础知识
在转换时,位组划分是以小数点为中心向左右两边延伸的,中间的0不能省略,两头不够位数时可以用0补齐。 例如,将(1011010.10)2转换成八进制和十六进制数:
001011010.100 1324
即(1011010.10)2=(132.4)8 01011010.1000 5A8
即(1011010.10)2=(5A.8)16第一章计算机基础知识
将十六进制数(F7.28)16转换为二进制数:
F7.28 11110111.00101000
即(F7.28)16=(11110111.00101)2
将八进制数25.63转换为二进制数:
25.63 010101.110011
即(25.63)8=(10101.110011)2第一章计算机基础知识 1.3.3信息存储单位 上节已经提到,在计算机内部,各种信息都是以二进制编码形式存储的,因此我们有必要了解一下信息的存储单位。信息的存储单位通常采用“位”、“字节”和“字”几种量纲表示。
1.位(bit)
位是度量数据的最小单位,用来表示1位二进制信息。
2.字节(Byte)
一个字节由8位二进制数字组成(1Byte=8bit)。字节是信息存储中最常用的基本单位。 计算机的存储器(包括内存与外存)通常也是用存储的字节数来表示它们的容量的。常用的单位有:
第一章计算机基础知识 KB(千字节) 1KB=1024Byte MB(兆字节) 1MB=1024KB GB(千兆字节) 1GB=1024MB TB(太字节) 1TB=1024GB 3.字(word)
字是位的组合,并作为一个独立的信息单位处理。字又称为计算机字,它的含义取决于机器的类型、字长以及使用者的要求。常用的固定字长有8位、16位、32位和64位等。 信息单位用来描述机器内部数据格式,即数据(包括指令)在机器内的排列形式,如单字节数据、可变长数据(以字节为单位组成几种不同长度的数据格式)等。第一章计算机基础知识 4.机器字长 在讨论信息单位时,还有一个与机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度。机器的功能设计决定了机器的字长。一般大型机用于数值计算,为保证足够的精度,需要较长的字长,如32位和64位等。而小型机、微机一般字长为16位和32位等。
1.3.4非数值信息的表示 在计算机内部,非数值信息也是用“0”和“1”两个符号的编码来表示的。下面我们着重介绍一下中、西文的编码方案。第一章计算机基础知识 1.西文字符编码
1)ASCII码
ASCII码是“美国标准信息交换代码”的简称,是目前国际上最为流行的字符信息编码方案。ASCII码包括数字0~9、大小写英文字母及专用符号等95种可打印字符,还有33种控制字符(如回车、换行等)。一个字符的ASCII码通常占一个字节,用7位二进制数编码组成,所以ASCII码最多可表示128个不同的符号。例如,数字0~9用ASCII编码表示为30H~39H,“H”表明是十六进制形式。
30H转化成二进制为,这就是机器内数字0的ASCII码表示。第一章计算机基础知识
又如,大写英文字母A~Z的ASCII编码为41H~5AH。 字母Z的机内表示为
01011010 5A
由于ASCII采用7位编码,没有用到字节的最高位,因此很多系统就利用这1位作为校验码,以便提高字符信息传输的可靠性。
2)EBCDIC码
EBCDIC码是美国IBM公司在它的各类机器上广泛使用的一种信息代码。
第一章计算机基础知识
一个字符的EBCDIC码占用一个字符,用8位二进制码表示信息,最多可以表示出256个不同代码。例如,数字“0”的EBCDIC码为F0H,字母“A”的编码为C1H,即:
“0”11110000“A”11000001 F0C1第一章计算机基础知识 2.中文信息编码 汉字在计算机内也采用二进制的数字化信息编码。 汉字的数量大,常用的也有几千个之多,显然用一个字节(8位编码)是不够的。目前的汉字编码方案有二字节、三字节甚至四字节的。下面我们主要介绍“国家标准信息交换用汉字编码”(GB2312—80标准),以下简称国标码。 国标码是二字节码,用两个7位二进制数编码表示一个汉字。第一章计算机基础知识
目前国标码收入6763个汉字,其中一级汉字(最常用)有3755个,二级汉字有3008个,另外还包括682个西文字符、图符。 例如,“巧”字的代码是39H41H,在机内形式如下:
01110011000001
第一字节第二字节 在计算机内部,汉字编码和西文编码是共存的,如何区分它们是个很重要的问题,因为对不同的信息有不同的处理方式。方法之一是对于二字节的国标码,将两个字节的最高位都置成“1”,而ASCII码所用字节最高位保持“0”,然后由软件(或硬件)根据字节最高位来做出判断。第一章计算机基础知识
当前,另一种编码——“Unicode码”已成为信息编码的标准。Unicode码是由国际标准化组织(ISO)于20世纪90年代初制定的一种16位字符编码标准,它以两个字节表示每一个字符。统一编码允许世界上几乎所有书面语言都能用单一的字符集表示,其中也包括中文。相比而言,8位的ASCII码就只能表示英文字母和部分符号。在Unicode码的65536个可能的编码中,有39000个字符编码已经作了规定,其中21000个编码用于表示中国汉字。Unicode编码中尚未定义的编码留待以后使用。第一章计算机基础知识 1.3.5信息的内部表示与外部显示 我们周围的信息是多种多样的,如文字、数字、图像、声音乃至各种仪器输出的电信号等。各种各样的信息都可以在计算机内存储和处理,而机内表示它们的方法只有一个,就是采用基于符号“0”和“1”的数字化信息编码。不同的信息需要采用不同的编码方案,如上面介绍的几种中西文编码。二进制数可被看作是数值信息的一种编码。 计算机的外部信息需要经某种转换变为二进制编码信息后,才能被计算机主机所接收;同样,计算机内部信息也必须经转换后才能恢复信息的“本来面目”。这种转换通常是由计算机的输入/输出设备来实现的,有时还需要软件来参与这种转换过程。第一章计算机基础知识
例如,我们最常使用的终端就是人与计算机交换信息的外部设备,它主要用于在人和机器之间传递字符数据。 当一个程序要求用户在终端上输入一个十进制数“10”时,这个数值信息怎样传递给程序呢? (1)用户在键盘上先后按下“1”和“0”两个键。
(2)终端的编码电路依次接收到这两个键的状态变化,并先后产生对应于“1”和“0”的用ASCII码表示的字符数据(31H和30H),然后送往主机。
(3)主机的终端接口程序一方面将接收到的两个ASCII码回送给终端(这样,当用户敲入“1”时,终端屏幕上就显示出“1”),另一方面将它们依次传给有关程序。
第一章计算机基础知识 (4)程序根据数据类型的定义,将这两个字符数据转换成相应十进制数的二进制表示(00001010)2。 同样,当一个运算结果被送往终端显示时,首先要将数值信息转换为字符数据,即每一位数字都要换成相应的ASCII码,然后由主机传到终端。终端再将这些ASCII码转换成相应的字符点阵信息,用来控制显示器的显示。
第一章计算机基础知识
当然,上述输入/输出过程对普通用户来说应该是透明的。用户可以认为在终端上根据程序的需要,或者输入数值信息或者输入字符信息。至于如何将图像、声音和其他形式的信息送入计算机,要靠一些专用的外部设备,如图形扫描仪、语音卡等。它们的功能也无非是将不同的输入信息转换成二进制信息并存入计算机,然后由计算机(软件)做进一步的分析与处理。当然,处理这些信息比处理字符信息要复杂得多。第一章计算机基础知识1.4计算机系统的组成与应用 1.4.1硬件系统 硬件系统一般指用电子器件和机电装置组成的计算机实体。
“存储程序”计算机的硬件系统由运算器、控制器、存储器、输入设备和输出设备五个基本部分组成,其中存储器又分为内存储器(简称内存)和外存储器(简称外存)。 图1.1给出了一般计算机的硬件结构框图。 在计算机中,各部件之间来往的信息可分成三种类型:地址、数据(包括指令)和控制信号。图1.1只画出了数据和部分地址信息。第一章计算机基础知识
当前大部分计算机(特别是微机)的各部件之间是用总线相连接的,系统总线成为计算机内部传输各种信息的通道。图1.2是计算机的总线结构框图。第一章计算机基础知识图1.1计算机硬件结构框图第一章计算机基础知识图1.2计算机的总线结构框图第一章计算机基础知识
运算器和控制器是计算机的核心,一般称为中央处理器(CentralProcessingUnit),简称为CPU。主机一般包括CPU、内存,有时还包括外设控制器,它们通常放在主机柜中。当然,这种划分主要是对大型机而言的。下面分别介绍各组成部分的基本功能、结构及工作原理。
1.存储器(MemoryStorage)
存储器的主要功能是存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。为了实现自动计算,各种信息必须预先存放在计算机内的某个地方,这个地方就是存储器。第一章计算机基础知识
存储器有内存(主存)和外存(辅存)之分,外存是存放程序和数据的“仓库”,可以长时间保存大量信息。程序必须调入内存方可执行,待处理的数据也只有进入内存后才能被程序加工,所以说内存与外存之间有着严格的分工。 存储器采取按地址存(写)/取(读)的工作方式。一个内存体内包含许多存储单元,每个单元可以存放一个适当单位的信息。全部存储单元按一定顺序编号,这种编号就称为存储器的地址。 内存储器结构框图如图1.3所示。第一章计算机基础知识图1.3内存储器结构框图第一章计算机基础知识
当要对存储器进行读/写操作时,来自地址总线的存储器地址经地址译码器译码后,选中指定的存储单元,而读/写控制电路根据读/写命令实施对于存储器的存/取操作,数据总线则用于传送写入内存或从内存取出的信息。 现今绝大多数计算机的内存以半导体存储器为主,而外存储器通常是磁盘、磁带一类的磁表面存储器,近年来出现的光盘则以其巨大的容量异军突起。 由于外存设置在主机外部,因此通常归属外部设备。外存容量比内存大得多,但存取速度慢。相比之下,内存的读/写速度要快得多,之所以这样设计是因为它直接影响到读取指令的速度,因而也就影响主机执行指令的速度。第一章计算机基础知识 2.中央处理器(CPU) CPU是指令的解释和执行部件,是计算机的心脏。CPU主要由运算器、控制器和通用寄存器组成。下面我们以奔腾处理器为例,介绍CPU处理器的工作原理。 奔腾处理器内的总线接口部件(BIU)从计算机的内存(RAM)中获取数据和指令码,然后沿两条总线发送数据,每一条总线一次可运载64位(bit)的数据,其中一条总线连到存放数据的8KB高速缓存,另一条总线连到存放指令码(用于告诉处理器如何操作数据)的8KB高速缓存。数据和指令码在两个高速缓存中保存到处理器的其他部件需要它们为止。第一章计算机基础知识
与80486相比,奔腾处理器的一个重大改进是拥有了两个运算器(ALU)(参见图1.4)。运算器是对信息或数据进行处理和运算的部件,经常进行的是算术运算和逻辑运算,故也称为算术与逻辑运行部件。“算术运算”是按照算术规则进行的运算,如加、减、乘、除、求绝对值、求负值等;“逻辑运算”一般泛指非算术性质的运算,例如比较大小、移位、逻辑加、逻辑乘等。在计算机里,各种复杂的运算往往被分解为一系列算术与逻辑运算,然后由ALU去执行。运算器每次执行的操作由当前指令的操作码确定。第一章计算机基础知识图1.4奔腾处理器的内部结构图第一章计算机基础知识
当指令码在高速缓存中等待处理时,处理器中的转移预测部件则根据两个运算器的忙闲程度,为高速缓存中的指令确定执行的运算器。 译码部件将从指令预取缓冲器中取出并由转移预测部件做上标记的指令代码翻译成运算器能理解的指令类型。每个运算器一次从指令译码部件获取32位指令,同时使用来自数据高速缓存的数据来完成具体的操作。 由于运算器只处理整数数据,对于带小数点的浮点数据,则由一个名为浮点部件的专用内部处理器进行运算。第一章计算机基础知识
两个运算器和浮点部件将它们的处理结果送到数据高速缓存中,数据高速缓存又把结果送到总线接口部件,最后又由总线接口部件送往内存。
3.输入/输出设备(Input/Output)
输入/输出设备简称I/O设备,它们实现了外部世界与主机之间的信息交换,提供了人机交互的硬件环境。
I/O设备种类很多,例如终端显示器就是最常用的输出设备。图形终端不但能显示西文、汉字,还能显示彩色图形。打印机、绘图仪等也都是常用的输出设备,键盘、鼠标等是常用的输入设备。I/O设备通常设置在主机外部,故称之为外部设备。第一章计算机基础知识
下面以键盘为例介绍外部设备与主机之间如何进行信息交换。图1.5是键盘工作原理图。键盘内的微处理器(如Intel8048)以1秒钟几百次的频率不断扫描与按键相连的线路,以检查因按键引起的电流变化,由此获悉某按键何时被按下或释放。每一个按键都有自己特有的一组代码。第一章计算机基础知识图1.5键盘工作原理图第一章计算机基础知识
当用户按下键盘上的某一个按键时,例如按键A,键盘内的微处理器根据该信号发生在哪一个按键的线路上,相应地产生一个数字扫描码。每个按键具有两个扫描码:一个是按键被按下时的扫描码,另一个是按键被释放时的扫描码。处理器将该扫描码保存在键盘内的存储器缓冲区中,同时将该扫描码加载到计算机基本输入/输出系统(BIOS)能够读取的端口处,然后通过键盘连线向计算机的CPU发送一个中断信号,通知CPU此时有一个扫描码正等待它的处理。BIOS从键盘端口读取该扫描码,同时将一个信号送到键盘上,通知键盘可以从它的缓冲区中删除该扫描码。第一章计算机基础知识
如果扫描码是一些特殊的功能键(如Ctrl、Alt、CapsLock、NumLock等)的扫描码时,BIOS将修改相关字节信息,以保持这些按键被按下的记录。对所有其他按键,BIOS将根据功能键的状态信息,将相应的扫描码翻译成ASCII码或特殊按键代码,同时将该信息送到键盘内的存储器缓冲区中。 当以上操作完成时,操作系统和应用程序就立即从该缓冲区中取出这些代码。第一章计算机基础知识 1.4.2程序的自动执行 计算机硬件系统最终只能执行由机器指令组成的程序。程序在执行前必须首先装入内存,程序执行时CPU负责从内存中逐条取出指令,分析识别指令,最后执行指令,从而完成了一条指令的执行周期。CPU这样周而复始地工作,直至程序完成。启动一个程序的执行只需将程序的第一条指令的地址置入程序计数器(PC)中即可,之后的工作流程如图1.6所示。 从图1.6可以看出,程序执行的流程就是“取指令→分析指令→执行指令”的循环过程。第一章计算机基础知识图1.6程序执行的流程图第一章计算机基础知识 1.4.3计算机软件系统
1.计算机软件概述 一个完整的计算机系统是由硬件和软件两部分组成的。只有硬件,没有软件支持的计算机称为裸机。裸机本身几乎不能完成任何功能,只有配备一定的软件,才能发挥其功用。实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机,而其功能的强弱也与所配备的软件的丰富程度有关。第一章计算机基础知识
软件一般可分为系统软件和应用软件两大类。系统软件通常负责管理、控制和维护计算机的各种软、硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。常见的系统软件主要指操作系统,当然也可以包括语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等。 应用软件是专业人员为各种应用目的而开发的程序,常见的应用软件有办公自动化软件、管理信息系统、大型科学计算软件包等。第一章计算机基础知识
计算机系统是硬件和软件有机结合的整体。随着技术的发展,系统中的同一功能既可由硬件实现,也可由软件来完成。从这个意义上说,硬件和软件在逻辑功能上是可以等效的。例如,乘法、除法、浮点运算等既可以用硬件线路去做,也可以用程序来实现。 输入/输出管理、多媒体处理等也是既可以用硬件也可以用软件来实现的。硬件和软件之间的功能随着时间的不同、机型的不同而异。二者的合理分配可以降低系统的成本,改进系统的性能和提高系统的整体优化能力。第一章计算机基础知识 2.计算机语言的发展 人们可以通过某种计算机语言与计算机交谈,用计算机语言描述所要完成的工作。为了完成某项特定任务而用计算机语言编写的一组指令序列就称为程序。“编写程序”和“执行程序”是利用计算机解决问题的主要方法和手段。 计算机语言(或称程序设计语言)的发展过程是其功能不断完善、描述问题的方法越来越贴近人类思维方式的过程。第一章计算机基础知识 1)第一代语言——机器语言 机器语言是计算机诞生和发展初期使用的语言,表现为二进制的编码形式,是由CPU可以直接识别的一组由0和1序列构成的指令码。这种机器语言是从属于硬件设备的,不同的计算机设备有不同的机器语言。直到如今,机器语言仍然是计算机硬件所能“理解”的惟一语言。在计算机发展初期,人们就是直接使用机器语言来编写程序的,那是一项相当复杂和繁琐的工作。 例如,下面列出的一串二进制编码
011011000000000000000001110101
命令计算机硬件完成清除累加器,然后把内存地址为117的单元内容与累加器的内容相加的操作。第一章计算机基础知识
可以看出,使用机器语言编写程序是很不方便的,它要求使用者熟悉计算机的所有细节,程序的质量完全决定于个人的编程水平。特别是随着计算机硬件结构越来越复杂,指令系统变得越来越庞大,一般的工程技术人员难以掌握程序的编写。为了把计算机从少数专门人才手中解放出来,减轻程序设计人员在编制程序工作中的繁琐劳动,计算机工作者开展了对程序设计语言的研究以及对语言处理程序的开发。第一章计算机基础知识 2)第二代语言——汇编语言 汇编语言开始于20世纪50年代初期,它是用助记符来表示每一条机器指令的。例如,上面的机器指令可以表示为
CLA00017
由于便于识别记忆,汇编语言比机器语言前进了一步。但汇编语言程序的大部分语句还是和机器指令一一对应的,语句功能不强,因此编写较大的程序时仍很繁琐。而且汇编语言都是针对特定的计算机或计算机系统设计的,对机器的依赖性仍然很强。用汇编语言编好的程序要依靠计算机的翻译程序(汇编程序)翻译成机器语言后方可执行,但这时用户看到的计算机已是装配有汇编程序软件的计算机。第一章计算机基础知识 3)第三代语言——高级语言、算法语言 高级语言起始于20世纪50年代中期,它允许人们用熟悉的自然语言和数学语言编写程序代码,可读性强,编程方便。例如,在高级语言中写出如下语句:
X=(A+B)/(C+D)
与之等价的汇编语言程序如下:
CLACADDD第一章计算机基础知识STDMCLAAADDBDIVMSTDX
显然,前者比后者容易得多。 用一种高级语言写成的源程序可以在具有该种语言编译系统的不同计算机上使用,但这种语言必须经过编译或解释程序译成机器语言后才能执行。BASIC、FORTRAN、COBOL、PASCAL等都属于第三代语言。第一章计算机基础知识
第三代语言又称为“过程语言”,顾名思义,它是面向“过程的”。用过程语言编写程序,用户可不必了解计算机的内部逻辑,而主要考虑解题算法的逻辑和过程的描述,把解决问题的执行步骤通过语言告诉给计算机。 在第三代语言的发展中,值得一提的有FORTRAN语言和COBOL语言。
FORTRAN语言是科学和工程计算领域中的传统编程语言,它首先引入了与汇编语言中的助记符有本质区别的变量的概念,并引入了表达式语句、子程序等概念,成为以后出现的其他高级程序设计语言的重要基础。FORTRAN语言一经问世便很快流行起来,因其执行的高效率与近乎完善的输入/输出功能,至今在科学计算领域仍充满着生命力。第一章计算机基础知识 COBOL语言是数据处理方面的标准语言,它对程序设计语言发展的主要贡献是引入了独立于机器的数据描述概念和与英语类似的语法结构,其中的数据描述概念正是数据库管理系统中主要概念的雏形。COBOL语言的出现,使人们开始意识到计算机不仅可应用于科学计算领域,而且适用于各种事务处理领域,大大拓宽了计算机的应用范围。
4)第四代语言——非过程化语言
第一章计算机基础知识
用户在使用这种语言时,不必关心问题的解法和处理过程的描述,只需说明所要完成的工作目标及工作条件,就能得到所要的结果,而其他的工作都由系统来完成。换句话说,原来费时费力的编程工作现在主要由系统来承担。因此,非过程化语言比过程化语言使用起来更加方便。但是非过程化语言目前只适用于部分领域,其通用性及灵活性不如过程化语言。 如果说第三代语言要求人们告诉计算机怎么做,那么第四代语言只要求人们告诉计算机做什么。因此,人们称第四代语言是面向目标的语言。
第一章计算机基础知识
关系数据库的标准语言SQL即属于第四代语言。例如,用户想检索出满足一定条件的学生名单,只要通过SQL语言的SELECT语句告诉计算机查询的范围(查学生信息表)、查询内容(查出姓名和年龄)和检索条件(查年龄小于18岁的学生)即可得到查询结果。该语句形式如下:
SELECT sname,age FROM students WHERE age<18第一章计算机基础知识 5)第五代语言——智能性语言 第五代语言除具有第四代语言的基本特征外,还具备许多新的功能,特别是具有一定的智能。 PROLOG(PROgramminginLOGic)语言是第五代语言的代表。智能化语言主要应用于抽象问题求解、数据逻辑、公式处理、自然语言理解、专家系统和人工智能等领域。 在计算机语言的发展过程中,新的技术和新的思想不断出现。 在20世纪60年代的10年时间里,人们至少发明了200多种高级语言。比较著名的有应用于人工智能领域的LISP语言,涉及到矩阵运算的科学计算领域的APL语言,成功地用于文本处理领域的SNOBOL语言,用于处理仿真问题的SIMULA语言,以及交互式的解释型程序设计语言BASIC。第一章计算机基础知识 20世纪70年代以来,随着结构化程序设计思想的日益深入,使得这段时期问世的几种程序设计语言的控制结构大为简化,比较有代表性的有PASCAL、Ada、C语言等。目前用于教学及软件研制中的PASCAL语言在支持结构化程序设计思想的同时,吸收了其他语言中用户定义数据类型等优点,使其数据抽象进入了一个新的层次。
Ada语言以可靠性、可维护性、可读性及高效率为设计目标,集各种过程性程序设计语言的优秀思想之大成,在PASCAL语言的基础上,增加和扩充了数值计算、输入/输出、数据抽象、并发处理、实时处理、异常处理等内容,集中体现了软件工程学、程序设计语言学、程序设计方法学的优秀成果,支持程序的模块性、可移植性、可扩充性及抽象与信息隐藏,有助于高效地开发与维护程序。第一章计算机基础知识 C语言是美国Bell实验室开发成功的。当时的高级语言基本上都不适合开发系统软件,系统软件都是用机器语言或汇编语言编写的,而C语言的许多类汇编语言特征却使其大获成功。C语言的表达式简洁,具有丰富的运算符、控制结构与数据结构。C语言已不限于系统软件的开发,而成为当前最流行的程序设计语言之一。 虽然C语言并不是为教学设计的(在一定意义上来说,C语言并不适合于教学),但由于它的实用性和广泛的市场占有率,因此在国内外计算机程序设计的课程中被广泛采用。第一章计算机基础知识 20世纪80年代初开始提出的“面向对象”(Object-Oriented)概念是相对于“面向过程”的一次革命。C++便是一种面向对象的程序设计语言。“面向对象”不仅仅作为一种语言,更作为一种方法论贯穿于软件设计的各个阶段。面向对象的技术在系统程序设计、数据库及多媒体应用等诸多领域得到了广泛应用,面向对象的程序设计思想将会主导今后程序设计语言的发展。 如果说,面向过程的语言仍然反映了计算机的思维方式,那么面向对象的程序设计语言则充分体现了人们看待周围事物所采用的面向对象的观点。这种观点认为:我们周围的世界是由一个个的对象组成的,而周围所发生的一切是对象间相互作用的结果。第一章计算机基础知识
面向对象的技术进一步缩小了人脑与电脑思维方式上的差异,并可以使人们在利用计算机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026济南某医院公开招聘医疗工作人员(17人)考试备考题库及答案详解
- 2026年8月宜昌市第三人民医院招聘介入医师2人考试备考试题及答案详解
- 手机维修售后服务响应进度催办通知函(7篇)范文
- 交易系统实时处理
- 2026江西天然气能源江西天然气能源投资有限公司所属井冈山公司、资溪公司面向社会招聘4人考试备考试题及答案详解
- 2026年8月四川宜众劳务开发有限公司公开招聘1名工作人员考试参考题库及答案详解
- 2026年蚌埠市正街小学编外劳务派遣教师招聘笔试参考题库及答案详解
- 手绘地图制作专业绩效衡量表
- 2026年贵州黔东南州招募候鸟迁飞通道巡护人员20人笔试备考试题及答案详解
- 2026年德宏州瑞丽市教体系统考试选调市外教师(11人)考试备考题库及答案详解
- 2026年河南省安阳市重点学校初一新生入学分班考试试题及答案
- 常州滨江国有控股集团有限公司招聘笔试题库2026
- 油田三禁一反课件
- 工厂生产巡线管理制度
- 家庭农场生产与管理制度
- 2025年华电集团测控专业笔试面试题目及答案
- 2025~2026学年山东省烟台市福山区(五四制)八年级上学期期中考试物理试卷
- 2025 AHA心肺复苏与心血管急救指南
- 广西机电职业技术学院招聘教职人员工作人员考试真题2024
- 2025年国家基本公共卫生服务岗位职业技能考试题库含答案
- 文旅康养课件教学
评论
0/150
提交评论