欢迎访问dengshuang的博客
21世纪技术创新5大趋势
19世纪和20世纪的技术以及工业文明强调的是“人类征服自然的能力”,另外经济效益、武器系统的破坏能力和杀伤能力、工程技术的规模效益也是关注的重点。伴随着生产能力的高速发展带来的自然资源的枯竭和生态环境的恶化,以及二次大战大规模杀伤性武器造成的空前浩劫,20世纪60年代以来,人们开始意识到技术对人类文明进步以及生态环境可能带来的负面作用,逐步形成了可持续发展的技术经济和社会发展的理念;伴随着信息以及知识经济时代的到来,人们在重视经济效益的同时,更加重视生态和环境的影响,不断探索对有限自然资源和无限知识资源的分享、共享;在武器系统方面更加重视制控能力、制还能力、重视以信息制胜;快速反应和精确打击制胜;在重视技术作为生产力决定性因素的同时,更加重视为新的科学探索、生态环境保护和医疗保健提供新的手段;在促进科学与技术紧密结合的同时,更加重视技术与人文艺术的结合。人们将愈加重视技术伦理道德方面的研究和对技术的社会作用的法制管理与监督。
21世纪,高技术仍将突飞猛进、和谐发展,新世纪的技术创新将为人类文明进步描绘出新的前景,为我国实现第三步发展战略目标提供强有力的支持,全球化背景下的技术合作与竞争也对我们提出了新的挑战。认真分析和把握新世纪科技发展的态势,加强国家创新体系的建设,对提高我国技术创新能力与国际竞争力,促进我国经济和社会可持续发展具有十分重要的意义。
21世纪,技术创新活动将活跃在以下5个层面,并将对人类社会的文明进步产生深刻影响,为最终实现为人类造福的宏伟目标打下坚实的基础。
信息技术在学科交叉、融合的基础上将不断取得新的重大进展。
以计算机与宽带通信网络技术为核心的信息技术将在容量、带宽、速度、智能化程度等方面不断取得新的进展;量子物理、凝聚态物理、纳米技术、生物技术等将为信息技术提供新的存储、传输、处理、显示材料;人们将最终突破人与人之间、人机之间的语言文字障碍,实现计算机/网络跨越不同语言文字的直接交互,将实现人与机器之间、机器与生物体之间的直接信息交互;数学、电脑与认知科学的进展可能引发计算机结构、网络通信模式以及信息表达预处理方式的革命;信息技术将为数学、物质科学、生命科学与生物技术、天文与地球科学、洁净安全再生能源、生态与环境科学技术等提供新的研究方式、工作平台、数据库和数值建模与处理方法,将衍生出新的交叉学科与技术前沿;以信息技术为基础的3S系统将发展为数字地球系统,从而为全球生命元素循环、全球资源生态环境、全球自然灾害、全球经济与交通运输以及国防安全提供可靠的技术平台。信息技术将继续以日新月异的发展速度与空前的影响力、渗透力,改变人类经济发展形态、生活方式、社会结构、学习和认知形式、政府与企业管理以及文化传播与交融的形式。
生命科学与生物技术正酝酿着新的突破,将带来一个全新的世纪。
可以预计在未来二三十年内,人类在认识自身起源、脑与神经的结构发育、功能发展,以及认识与信息传递、处理、存储本质等方面将取得重大进展;基因组学、蛋白质组学、生物信息学、分子神经发育生物学和分子生态学等学科的进展,将使人类从分子水平认识遗传、发育与衰老、代谢免疫、生态与进化、生物多样的演变规律,从而将宏观生物学与分子生物学联接与统一起来。
人类以及重要物种的全基因图谱的演序完成,为后基因组研究开辟了道路,基因图谱中功能基因将全面解读。随着基因组、蛋白质组织结构与功能研究、基因、细胞与组织工程以及干细胞技术的进展、将对农业育种、基因治疗、器官再生和移植、生殖调控、药物研制、生态环境的保护与治理等发生前所未有的影响,农业、医疗与健康事业将呈现全新的面貌。生物芯片、生物计算机、生物质能源、生物与仿生材料等将形成未来技术创新的热点与全新的产业。
物质科学将跨越生命与非生命的界限、产生新的高科技前沿。
21世纪的物质科学将跨越生命与非生命的界限,量子理论、分子生物学、物理生物学、化学生物学以及信息生物学的进展将把量子理论推到新的前沿:极端条件下的物质及相互作用研究将进一步揭示在纳米尺度空间、飞秒时间尺度物理条件下的物质运动、结构相互作用规律、由此将可能给材料、能源、信息技术带来革命性影响。纳米材料、纳米器材、纳米尺度的监测技术以及微机电系统技术新的发展,使人们将能够进入分子、原子调控、组装乃至自组装的时代。人类将不断创造与制备超强度、智能化,具有自适应、自补偿、自组装能力的材料和可再生循环、可自然降解的多样化生态环境友好的结构与功能材料。人们将发展生态环境友好的“绿色工艺”,并发展可再生能源,洁净、高效、安全的核反应堆、将开发实现商业化聚变能源,将发展并应用洁净、高效经济的氢能和相应电站以及新一代运载工具。
多领域的技术创新带来先进制造时代。
由于材料、工艺、计算机以及宽带网的进展,以及经济全球化的发展,21世纪的制造业将进一步采用虚拟现实设计、全球并行设计,向计算机集成制造和全球虚拟制造方向发展。不仅制造机电一体化的生产设备、工作机器,而且将拓展到极端条件下的科学实验装备与工作机器,微电机设备、新型医学诊断及治疗设备。
纳米技术将带来材料和微细加工新的变革,制造技术将从传统的工厂车间的屋顶下走向全球。以信息、工艺和管理的计算机集成为特征,以社会生产要素与市场行销和服务相结合的虚拟工厂将形成对全球制造体系的补充。由于消费多样化、个性化的特点,功能性产品将被艺术性产品替代,大批量、单一的产品将被多品种、小批量,甚至单件定制产品所代替。制造业的全盘自动化将被以人为核心的计算机中介的人及一体化智能系统所替代。未来的制造业将融入柔性、智能、敏捷、精益、全球化、人性化的先进时代。
为可持续发展的目标奠定基础
21世纪将更加关注自身的健康,居住、自然生态环境和有关远程诊断监护、治疗、手术、康复、保健方面的技术。综合智能大厦、智能家庭办公系统技术,以及生态环境与治理技术等,这些将得到长足发展。
21世纪的知识经济时代将是自身学习的时代,远程教育技术、智能电子出版虚拟影视制作技术、多维数字音响技术将得到进一步创新及普及。以信息、生物、纳米为代表的21世纪的技术发展,将引发生态安全、生命与健康安全、经济安全与国防安全问题、技术伦理和道德的挑战,可能带来贫富差距的扩大,可能成为强权和国际犯罪集团的工具。因此,21世纪技术发展不仅需要弘扬科学精神,还要弘扬与发展人文精神,需要广泛的国际合作,共享、分享人类技术的新成果,建立并完善共同的道德标准与法制理念。这样才能使技术发展避免可能的、空前的负面影响,才能缩小数字和知识鸿沟,才能使技术创新为人类社会可持续发展与繁荣造福。
- 作者: dengshuang 2005年12月11日, 星期日 17:50 回复(0) | 引用(0) 加入博采
对计算机技术中的十个重要关系的剖析
1 引 言
计算机技术领域的专业术语繁多,很多技术要素之间往往存在一定的逻辑联系。有些技术关系的内涵还是比较丰富的。因此,对计算机技术中比较典型的技术关系进行总结和分析是必要的。以下对计算机技术的十个重要关系进行了阐述。
2 对计算机技术中的十个重要关系的分析
2.1 硬件与软件
硬件是整个计算机系统发挥其功能的物质基础。在计算机上执行的任何功能和操作都要最终转化为硬件系统相关部件的一系列“动作”,确切的讲是一系列随时间变化的电信号的组合。软件是根据所要完成的特定任务对硬件的功能单位(即机器指令)的逻辑组织,或者说是指令的集合,它是计算机系统的灵魂。计算机要完成的不同任务正是通过不同的软件体现出来的。虽然软件与硬件一个是无形的逻辑实体,一个是有形的物理实体,但它们在逻辑功能上是等价的。凡是由硬件实现的功能,用软件的方法同样可以实现,反之亦然。对同一种功能,选择用硬件实现还是软件实现,取决于对成本,执行效率,灵活性等方面的综合考虑。事实上,在计算机技术发展的历史过程中,硬件与软件之间的界限不是固定不变的,而是动态变化的。例如,在计算机技术发展的早期,由于受硬件制造工艺的限制,CPU的指令系统中没有乘法指令,即硬件不能直接进行乘法运算。要使计算机完成乘法功能,必须通过若干加法指令的组合来实现。用指令的组合实现,也就是通过编程实现,或者说是用软件的方法实现。后来随着计算机硬件技术的发展,同时出于对执行效率的考虑,CPU的指令系统中增加了乘法指令,这样乘法算功能就可由硬件直接完成。软硬件的逻辑等价性原理是计算机系统设计的重要依据,软硬件的功能分配及其界面的确定是计算机系统结构研究的重要内容。
软件与硬件发展的不平衡性对计算机技术整体发展的制约是应该注意的。考察计算机技术发展的历史过程可以看出,硬件技术的发展是活跃和迅速的,是推动整个计算机技术发展的引擎。
而软件的发展由于自身的特点而显得相对滞后。也就是说软件往往不能充分利用和发挥计算机硬件所提供的潜力(如软件没有充分利用计算机的字长和指令系统)。因此,在保证软件质量的情况下如何提高软件的开发效率是当今计算机科学研究的一个重要领域。
2.2 操作系统与应用软件
有人将操作系统视为计算机系统的核心,可见它在整个系统中的地位和作用的重要性。对操作系统的研究有两种观点,一种是系统管理的观点,即操作系统是软硬件系统资源的管理者;另一种是用户界面的观点,即操作系统为上层应用软件提供了访问系统服务的接口(这种接口被称为系统调用或API)。上述两种观点实际上反映了操作系统所具备的两大功能。操作系统对应用软件提供访问底层硬件和处理其它与系统密切相关功能的接口,一方面是为了减轻编程人员工作的复杂性,另一方面也是对系统资源进行统一管理的必然要求(在多任务环境中尤其如此)。几乎所有实用的应用软件,在运行过程中都需要通过系统调用请求操作系统提供服务。在一般情况下,一个应用程序不能不经过修改而从一个操作系统平台移植到另一个不同的操作系统平台上,这主要是因为不同操作系统的系统调用存在着差别。
2.3 逻辑设计与物理实现
所谓逻辑设计是指对问题的抽象描述,它一般是存在于纸上的。物理实现指的是把对问题的逻辑描述转化为计算机中的表示或功能。为了便于学习和研究,经常需要对计算机技术的相关问题进行抽象,因而我们就会经常涉及到逻辑设计与物理实现的关系问题。例如,数据结构中的逻辑结构和存储结构(物理结构),关系数据库系统中”表”的逻辑形式与对应的物理文件格式,程序设计语言中的数据类型与该类型的变量在内存中的表示形式(占用的字节数,采用何种二进制编码),操作系统中文件的概念和相应的数据在磁盘中的具体存储方式等。
2.4 层次性与透明性
为了简化研究和设计的复杂性,无论是在看待整个计算机系统的观点上还是在某个具体软件系统的实现中,人们都倾向于采用一种分层结构的思想。相邻层次之间通过某种形式的接口相互通信,较高的一层比较低的一层更加抽象。例如,从程序员的角度看,我们可以把整个计算机系统分为四个层次:机器硬件层(机器语言层),操作系统层,汇编语言层和高级语言层。透明性的概念指的是本来存在的事物在某种条件下看起来好像不存在。层次性和透明性具有内在的联系。任何透明性都是一定程度的透明性,也就是说透明性存在着程度上的差别。而这种差别是由系统的层次性引起的。从较高的层次上看某个系统,系统对这个观察者的透明性也就越高。例如,机器的指令系统和寄存器结构等硬件属性对汇编语言程序员而言是不透明的,而高级语言程序员在进行程序设计时无需关心这些底层细节,也就是说上述硬件属性对他们是透明的。由此可以看出,透明性总是一定层次上的透明性,而透明性又需要通过系统分层来实现。所以,层次性是透明性的基础,而透明性是层次性的反映。无论是层次性还是透明性,它们的目标是一致的,即实现系统的易用性。
2.5 复杂性、效率与易用性
计算机系统所追求的技术指标之间往往是相互排斥的,即它们不可能同时达到最优。如算法的时间复杂性和空间复杂性,系统的可靠性与灵活性等。系统的复杂性,效率与易用性之间也是相互矛盾的。以程序设计语言为例,汇编语言较高级语言难于使用,但汇编程序比高级语言的编译程序复杂性低。同时,用汇编语言编写的程序比用高级语言编写的程序目标代码短,运行速度更快。面向对象的程序设计语言比传统的面向过程的语言易于使用,但用面向对象的语言编写的程序运行效率较低(在实现大型的应用软件时尤其如此)。图形用户界面(GUI)正是遵循着易用性的原则而设计的,它为终端用户提供了一个方便友好的与计算机交互的手段,但实现图形界面功能的软件系统一般都很庞大和复杂。相反,字符命令行界面对普通用户不太友好,但这种界面实现简单,更重要的是对操作熟练的专业人员而言,通过命令行与系统交互快捷而高效。这也正是很多操作系统至今仍然保留字符界面的原因。由上述事实我们可以体会到,系统的易用性总是以增加系统实现的复杂性和牺牲系统的运行效率为代价的。复杂性,效率与易用性的关系问题实质上是系统与用户之间的功能分配问题。一个系统要想让用户容易使用,就要减少用户对系统的干预,这样就必然要求系统本身承担更多的功能,因而这样的系统实现起来就会复杂。反之,如果把较多的功能让用户自己完成,系统本身就会变得简单,但这样的系统用户感觉很难使用。常常会有这样一种说法,即“系统表面上看起来越简单,实际上系统内部越复杂”,就是这个道理。现在,由于计算机硬件系统的性能比以前有了很大的提高,效率问题已经不再是矛盾的主要方面,而如何提高系统的易用性,为用户提供一个更加友好的界面,已经成为软件设计人员关注的焦点。
2.6 可移植性与兼容性
可移植性主要是指把同一软件放置到不同系统平台(如不同的硬件平台和操作系统)并使之正常运行的难易程度。可移植性有时候被表述为跨平台性。分析软件的可移植性大概要考虑以下几种情况:不同的体系结构(如CPU的指令系统)之间二进制形式的应用软件是不可移植的,如果是源程序,必须对其进行重新编译才可以在新的环境中运行。相同体系结构的硬件平台上,如果操作系统也相同(系统调用接口一致),二进制形式的应用软件可移植, 否则必须对源程序进行相应的修改后重新编译链接生成新的可执行文件才可以在不同的操作系统下运行。对于同一种语言编写的程序在不同版本编译器之间的可移植性(无论硬件平台和操作系统是否相同),取决于该语言的标准化程度和编译器实现时对语言标准的严格遵守程度。兼容性是指不同软硬件产品在技术特征上的一致性。兼容性是分层次的,如CPU的兼容性可分为芯片的引脚级兼容(芯片引脚信号的定义一致)和指令级兼容(机器指令系统的一致性)。保持产品兼容性的是重要的,这样才能保证产品使用的连续性(对同一系列产品而言)和互用性(对同一种类的产品而言)。但很多产品为了照顾兼容性(主要指同一系列产品的向后兼容),使产品日益变得庞大而复杂。这是因为新产品不仅要提供更新的,更先进的特征,还必须保留原来产品的的特征(尽管这些特征可能是过时的,甚至与新特征由某种程度的抵触)。我们所熟知的C++语言就是一个例子,为了保持与传统C语言的兼容性,使C++在设计时不能完全抛弃C语言中不太合理的语言要素,语言的语法显得有些杂乱,而且程序员在进行程序设计时可能新旧语言要素并用,程序可读性差,而且容易出错。
可移植性依赖于兼容性。某个软件所依赖的不同的平台的兼容性,是该软件能够在这些平台上可移植的必要条件。假设A软件可以在B平台上运行,如果 C平台与B平台兼容,则A软件也可以在B平台上运行,即A软件对于B,C而言是可移植的。一个明显的例子是,如果两个不同版本的C语言编译器是完全兼容的,那么用其中任何一个版本的C语言写的源程序,都可以在另一个版本的C编译器上不加修改的成功编译。
2.7 安全性与可用性
信息系统或通信网络的安全性总是以牺牲系统的复杂性和可用性为代价的。安全意味着限制,使用户对某个安全系统使用的灵活性与功能的广泛性受到制约,导致系统的可用性变差。例如,制订防火墙的安全策略可以采用两种不同的原则:(1)凡是没有被安全策略明确禁止的操作都是允许的;(2)凡是没有被安全策略允许的操作都是被禁止的。显然第二种情况的限制比第一种情况要严格,采用这种策略的防火墙安全强度更高,但用户能够使用的系统功能比第一种情况少,使系统的可用性变差。再比如,有些网络传输业务的实时性要求很高,但附加的安全处理会造成很大的通信时延,在这种情况下,对该业务而言网络的可用性变差。因此任何安全系统在设计时,都必须在系统的安全性和可用性方面寻求平衡。
2.8 编程语言与API
任何编程语言在设计时都要考虑以下情况:用户在使用此种语言编程时所需要的功能是由语言本身实现还是由语言之外的API实现。所谓”由语言本身实现”就是该功能被包括在语言文本当中(有对应的程序语句),也就是说该功能由编译程序处理。API可以表现为不同的形式,如传统的面向过程的语言开发软件包所提供的函数形式(这些标准函数的集合被称为函数库),面向对象的语言系统所提供的标准类(这些类的集合被称为类库)。原则上讲,对同一功能由语言本身实现或由外部的API实现在逻辑上是等价的。如最常见的输入输出功能,有些语言将此功能包含在了语言文本当中,象早期的BASIC语言就提供了输入输出语句。但现在大多数语言都由外部的API机制对此功能提供支持,如C语言的标准函数printf。将很多功能(特别是与系统平台密切相关的功能)由API实现,可以降低编译程序的复杂性,提高语言系统的适应性,特别是有利于语言的标准化(将与平台相关的功能要素排除在语言本身之外)。
2.9 编译与解释
编译与解释是计算机处理编程语言的两种方式。由于编译要形成最终的可执行文件,这种对源程序的翻译是一次性的,因而程序的执行效率较高。但编译形式的语言要想跨平台执行,需要用新的平台上的编译器重新编译。解释性的语言由于每次执行时都伴随着翻译的过程,所以程序运行效率较低,但解释方式使得用该语言编写的程序容易实现跨平台运行(由解释器隐藏不同平台之间的差异)。为了在程序的运行效率和程序的跨平台性之间需求平衡,Java语言采用了一种折中的方案,先对源程序编译,生成中间形式的代码(称为字节码),程序运行时由所在系统平台的解释器(被称为虚拟机)解释执行。由于字节码是标准的,与平台无关,这样就满足了程序跨平台执行的条件。同时字节码比源程序更接近机器指令(语义差距缩小),翻译的效率变高,这样就改善了程序的运行速度。
2.10 标准与实现
由于信息技术具有交互性和共享性的特点,在这一领域对不同技术层面进行统一性的规定就显得非常重要。计算机领域就存在着种类繁多的技术标准,目的就是要使不同的软硬件产品在实现上取得某些方面的一致性。标准是抽象的,实现就是对标准的具体实施,它具体表现为不同种类的软硬件产品。TCP/IP就是对某种网络体系结构的抽象规定,很多操作系统及相关的软硬件产品都实现了TCP/IP协议所定义的功能。ANSI C++是C++语言的标准,而Visual C++则是Windows平台上C++语言标准的具体实现。还有,POSIX对类UNIX操作系统的实用程序和系统调用等诸多方面进行了标准化,不同的 UNIX版本包括LINUX都不同程度地实现了这一标准。标准与实现在功能上并非是一一对应的,不同的实现产品往往在标准的基础上都扩充了一些附加的功能来体现自己的特色。但在一般情况下,标准总是某个具体实现的产品功能的子集。
不同技术标准对实现要求的严格性是有差别的。有的技术标准对实现有严格的强制性,对各种技术要素的标准化比较全面,具体产品实现的灵活性和可扩展的余地很小,不同产品有高度的一致性,这样就提高了产品的可移植性和互操作性,但产品的实现缺乏灵活性,如Java就是一种强制标准化的语言。还有些技术标准为了给不同厂商实现产品的灵活性留有余地,对技术要素的规定不是很死,有些技术特征依赖于具体的实现,同时允许专有扩展,不同产品在实现时可以通过专有扩展来充分发挥该产品所依赖的平台独有的特点,提高产品的可用性和效率,C++语言标准就是这样一个例子(如同一数据类型的存储长度与不同的硬件平台有关)。但非强制性标准的缺点也是明显的,它直接带来的严重问题就是不同产品的兼容性差,这与信息技术越来越崇尚的开放性是背到而驰的。而且,允许专有扩展容易使有些厂商通过对产品大量添加自己独有的特征来绑定用户,从而垄断技术市场。
3 总 结
上述的十个技术要素之间的关系是多样的。有的在逻辑上具有等价性,如硬件与软件之间的关系,编程语言与API的关系;有的是相互排斥的,如复杂性,效率与易用性之间的关系,安全性与可用性之间的关系;有的技术要素需要向另一个要素转化,如逻辑设计与物理实现,标准与实现;有的关系是相互补充,平行发展的,如编译与解释;有的技术要素之间具有内在的一致性,如层次性与透明性;有的则是条件或依赖的关系,如可移植性以兼容性为条件,应用程序的运行依赖于操作系统。
- 作者: dengshuang 2005年12月11日, 星期日 17:47 回复(1) | 引用(0) 加入博采