资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
计算机系统导论之学习心得计算机系统导论之学习心得众所周知,计算机导论课程起到了入门与引导的作用。教材按学科体系组织。计算机学科是包含科学、技术 与工程在内的一门综合性学科,它同时还包括社会科学的内容计算机文化,具体的内容包括:计算机系统、 计算机开发、计算机理论以及计算机文化等四部分,其中计算机系统包括:计算机系统基础、计算机硬件、计算 机软件、计算机网络以及信息安全;计算机理论包括:可计算性理论、数学理论、算法理论以及数据理论 ;计 算机开发包括:软件工程、计算机应用;最后,是计算机文化。 以上可归纳为对计算机的初识、建构、开发、研究、人文。这种组织结构体现了按学科体系组织的原则,也 体现了内容的完整性与系统性,它也反映了学科内容的全面性。学习计算机最终目的是为了应用,通过对系统导 论的学习,它是通过应用展开,包括应用的理论支撑、应用的系统支撑以及应用开发的工程性内容与应用操作。 在我们今后的学习中,我们不但能掌握应用的原理与理论,也能掌握应用开发基础流程及使用工具,如 SQL 等, 并能作简单的开发操作,如网页制作、报表制作等。 计算机系统由硬件和软件两大部分组成。硬件是指用电子器件和机电装置组成的计算机实体。软件一般是指 面向某个应用领域或解决某一类特定问题以及实现计算机自身管理的各种程序的总称,前者称为应用程序,后者 称为系统软件。 计算机硬件 冯诺依曼型计算机结构由:运算器、控制器、存储器、输入设备和输出设备五部分组成。 。它们之间的逻辑 关系如下图所示。图中,实线为控制线,虚线为反馈线,双线为数据线。各部件的功能为:运算器运算器:又称算术逻辑运算单元。负责对数据进行算术运算和逻辑运算。算术运算包括加、减、乘、除的操 作,逻辑运算包括移位、与、或、异或、非等操作。 控制器控制器:是整个计算机的指挥中心,其主要功能是:根据操作指令控制计算机各部件协调一致、自动连续地 进行工作。它一方面向各部件发出执行任务的命令,另一方面又接受各部件的反馈信息,并把这些信息作为下一 步发出命令的条件。控制器和运算器合称为中央处理器中央处理器,简称 CPU。是一台计算机的核心和关键。它的性能的 好坏对一台计算机整体性能的好坏起着至关重要的作用。 存储器存储器:计算机的记忆部件。它的主要功能是:在控制器的控制下,保存计算机工作程序和在执行程序过程 中所需要的原始数据及计算机在运行过程中所产生的中间数据和结果数据。 根据存储器在计算机中的位置不同,存储器可分为主存储器和辅助存储器两大类。主存储器主存储器又称为内存储器, 用来存放当前运行的程序及所需数据,其容量相对较小,但存取速度快。辅助存储器辅助存储器又称为外存储器,用来存放 当前不直接参加运行的程序和数据。其容量相对较大,但存取速度慢。外存通常采用软磁盘、硬磁盘以及光盘、输入设备运算器存储器控制器输入设备磁带等。输入设备输入设备:将用户信息,如程序、数据等转换成计算机内部能够识别的信号,输入到计算机中。常见的 输入设备有键盘、鼠标等。输出设备输出设备:将计算机运行结果信息转换成人能接受的形式输出,供用户察看。常见的 输出设备有显示器、打印机等。 输入设备、输出设备统称为外部设备外部设备,简称“外设” 。一般地,外设还包括外存储器。 计算机硬件系统各部件之间是通过总线连接的,所谓总线总线就是一束同类信号线。根据总线所传递的信息性质 不同,总线可分为地址总线(AB)负责传递有关内存或接口的地址信息;数据总线(DB)负责传递数 据信息;和控制总线(CB)负责传递各种控制信息。 冯诺依曼结构为计算机的发展奠定了基础,但是“集中的顺序控制”又成为计算机性能进一步提高的瓶颈。 因此,计算机科学家一直在探索各种各样的非冯诺依曼结构。 如数据流计算机,数据流计算机,其工作原理与传统的冯诺依曼计算机不同。冯诺依曼计算机的基本特点是在程序计数器 的集中控制下顺序执行指令,因此是以控制流方式工作的。而数据流计算机是以数据驱动的数据流方式工作的: 只要一条或一组指令所要求的操作数全部准备就绪,就可立即激发相应指令或指令组的执行。而执行结果将送往 等待这一数据的下一条或下一组指令。如果其中一些指令因此而得到所需用到的数据,又可被立即激发执行。因 此,在这种机器上不需要程序计数器。指令的执行基本上是无序的,完全受数据流的驱动,与指令在程序中出现 的先后顺序无关。 计算机软件计算机软件 软件是指挥整个计算机硬件工作的程序程序的集合。它包括机器运行时所需要的各种程序和有关资料(如设计说 明、使用说明、维护说明等) 。脱离软件的计算机硬件系统是不能做任何有意义工作的。因此,一台性能优良的 计算机硬件系统能否发挥其应有的功能,取决于为之所设计的系统软件是否完善,开发或配备的应用软件是否丰 富。 因此,在使用、开发计算机时,不仅要了解其硬件系统的构成,还必须熟悉与之相应的各种软件。综上所述, 计算机硬件和软件共同组成了计算机系统。其基本组成如下:综上所述,计算机硬件和软件共同组成了计算机系统。一个实际的计算机系统,具体的硬件和软件的配置要根据综上所述,计算机硬件和软件共同组成了计算机系统。一个实际的计算机系统,具体的硬件和软件的配置要根据其规模、应用场合和对计算机功能的要求等来综合决定。其规模、应用场合和对计算机功能的要求等来综合决定。计算机硬件与软件的关系计算机硬件与软件的关系计算机硬件与软件的关系主要体现在以下三个方面: 1互相依存互相依存 计算机硬件与软件的产生与发展本身就是相辅相成、互选促进的。硬件是软件的基础和依托,软件是发挥硬 件功能的关键,是计算机的灵魂。缺少哪一部分,计算机都无法运行。另外,许多硬件所能达到的功能常常需要 通过软件的配合来实现。如操作系统操作系统的许多功能的实现,都需要硬件支持。 2无严格界面无严格界面 在许多情况下软、硬件之间的界面是浮动的。即计算机某些功能既可由硬件实现,也可以由软件实现。随着 计算机技术的发展,一些过去只能用软件实现的功能,现在也可以用硬件来实现,且速度和可靠性都大为提高。 而原来一些硬件实现的操作也可以改由软件来实现,称为硬件软化硬件软化。这可以有效地降低硬件成本。 3相互促进相互促进 计算机硬件与软件之间是相互依赖、相互影响、相互促进的关系。硬件技术的发展对软件提出新的要求,促 进软件的发展;反之,软件的发展又对硬件提出新的课题。程序设计语言与语言实现程序设计语言与语言实现程序设计语言程序设计语言 程序设计语言从问世到现在已有近半个世纪的历史。它经历了由机器语言机器语言发展到符号化的机器语言机器语言用助 记符表示的汇编语言汇编语言,它们都是面向机器的语言。后来又发展到结构化和模块化的语言面向过程的语言,进 而又发展到面向对象语言。这些变化反映了语言由低级向高级,由过程性向非过程性的发展。语言的应用范围也 从单处理机发展到异构的、物理上分布式的计算机网络。从单纯的科学计算发展到包括信息处理、事务处理等各 个应用领域。语言在软件开发过程中的作用也从单纯的程序设计语言发展到可用于软件开发过程中的各个阶段、 各个方面。因此可以说,当今世界上计算机无处不在,计算机程序设计语言也无处不在。 计算机的解题过程及流程图设计计算机的解题过程及流程图设计 算法算法 计算机发展到今天有如此强大的功能,除了集成芯片制造工艺及芯片内体系结构的不断改进外,主 要靠软件的进步。而软件的核心是算法,算法中蕴含的设计思想是灵魂。无论是制造芯片的 EDA(电子设计自 动化)软件,多媒体信息的压缩技术 MPEG,还是“深蓝”电脑赢了卡斯帕罗夫,亦或是多国部队在海湾“沙漠 风暴”中所进行的一场胜者流血最少的战争,算法都起到了关键作用。 算法算法即对解题方案进行准确而完整的描述。即将解题过程的每个细节准确地加以定义,确定采取的方法和步 骤。 算法具有以下四个特征: 可行性。算法执行的结果能达到预期的目的。 确定性。指算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。 有穷性。是指算法必须能在有限的时间内做完,即能在执行有限步骤之后终止。 拥有足够的信息。一个算法执行的结果总是与输入的初始数据有关,当输入不够或输入错误时,算法本身 就无法执行或执行错误。综上可知,一个可解的算法,必须在有限存储空间内运行有限的时间而得到正确结果。 评价一个算法是否优劣,主要看: 算法是否正确。 计算的复杂性。衡量复杂性的标准 一是计算所需的步骤或指令条数,即运行的时间,称时间复杂度时间复杂度。 二是计算所需的存储单元数量,即占用的存储空间,称空间复杂度空间复杂度。 看算法是否简单和是否易读。 一个好的编程人员,应该有强烈的算法意识、细腻而又科学的算法思维、敏捷而又扎实的程序设计思想。所 编写的算法所具有的特性和评价标准都最大限度地体现在软件的开发和运行当中。软件开发并不只是编写程序, 软件的核心是解决算法问题。编程不过是软件最后的实现形式。 算法的表示工具算法的表示工具流程图流程图。早在 20 世纪 40 年代,人们就已经在编程前使用流程图来做算法设计。流程 图分两类:一类是高层宏流程图层宏流程图,往往在编程后补画;另一类是细微流程图细微流程图,需要在编程前详细描述。 传统流程图是由几何图形和有向线段组成。常用方框表示处理,用菱形框表示判断,用有向线段表示执行顺 序。图 1-2 是算法的三种基本控制结构基本控制结构的传统流程图。顺序结构 选择结构 循环结构 用计算机解决一个实际问题,一般分为四个阶段:分析问题、确定算法、编制程序、上机调试。因此,任何 问题都首先需要通过算法设计进行描述,然后用程序设计语言表达出来,才能在计算机上实现。 数据结构在程序设计中的作用数据结构在程序设计中的作用 数据数据是信息的载体,是所有输入到计算机并由计算机程序进行处理的符号 的总称。计算机所处理的数据已不限于纯粹的数值,更多的是符号、表格、图形和图像。由于信息的类型不一样, 信息载体的数据结构也不一样。数据结构就是研究数据组织、存储和运算的一般方法的一门学问。 数据结构数据结构是指同一数据元素类中各数据元素之间存在的结构关系,包括它们之间的逻辑结构关系、存储结构 关系和运算关系。数据的逻辑结构逻辑结构是从逻辑上观察数据并以此来描述数据之间的关系;数据的存储结构存储结构是数据的 逻辑结构在计算机存储器中的实现。逻辑结构与数据的存储无关,是独立与计算机的,而存储结构是依附于计算 机的。数据的运算是在数据的逻辑结构上定义的操作方法。1976 年,沃思提出了“算法+数据结构=程序”的论 断,阐明算法与数据结构在程序设计中的重要作用。从该论断可进一步看出程序设计的实质。 程序设计程序设计实际上就是构思和设计解题的思路和步骤算法所研究的内容,对给定的包括各种结构的数据进 行有效的处理。 对各种结构的数据进行合理的组织、存储和运算是数据结构研究的内容。在程序设计中选择合适的数据结构, 可以起到简化程序的算法,节约存储空间和提高效率的作用。 语言实现语言实现 语言实现研究的是翻译程序的构造原理和技术。翻译程序又可分为编译型和解释型两大类。 编译型语言有 C、C+、Fortran、Pascal 和 Ada 等,用此类语言编写的源程序在执行前需经编译程序翻译成 目标机器语言。ABAB条件A条件解释型语言有 BASIC、LISP、ML、Prolog 和 Smalltalk 等,用此类语言编写的源程序在执行前需先用汇编程 序转变为易于执行的中间代码,然后再用解释程序把中间代码转变为目标机器代码。 Java 语言实现结构的编译系统经历了三代的改进,由第一代的传统编译发展到第二代的及时编译,再到第三 代的动态编译,即将及时编译与解释相结合。 选择什么语言主要取决于待解决问题的应用领域。例如,商业方面主要语言由 COBOL、Spreadsheet;科学 计算主要语言由 F
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号