第3章计算机软件系统13.3应用软件3.2系统软件3.1软件概述3.4系统的层次结构3.1软件概述软件是计算机系统的灵魂,没有配备任何软件的“裸机”无法投入使用,没有配备主够的软件,计算机的功能将不能很好的发挥,计算机的应用范围也将受到很大的影响计算机硬件是载体,软件是灵魂。23.1软件概述一、什么是软件软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术资料。即软件是计算机系统中的程序及其文档的总和。程序:计算任务的处理对象和处理规则的描述。文档:为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作文档是给人看的,不一定装入机器33.1计算机的软件系统对软件的理解•可运行的思想和内容的数字化思想:算法、规律、办法---程序表达内容:图形、图像、数据、声音、文字等•归结为程序和数据(统称二进制表示的信息)•软件的核心:算法43.1软件概述二、软件系统的主要任务提高机器的使用效率、发挥和扩大机器的功能和用途,为用户使用计算机系统提供方便。53.1软件概述三、软件的分类软件主要分为系统软件和应用软件。系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般通过系统软件发挥作用。系统软件又分为:操作系统、语言处理系统、数据库管理系统、软件工具等。63.1软件概述应用软件:特定应用领域专用的软件。应用软件又包括:应用软件包和用户程序。73.1软件概述四、软件与硬件的关系硬件:构成计算机系统的物理装置。软件:用计算机指令和算法语言编写的程序以及运行程序所需的文档、数据。关系:硬件是软件运行的基础软件是对硬件功能的扩充和完善软件的运行最终被转换为对硬件的操作8计算机:硬件、软件→人工生命人:躯体、灵魂→自然生命3.1软件概述硬件与软件可以互相转化,软件固化成为固件9综合起来10计算机系统硬件系统软件系统外设主机应用软件系统软件固件存储器CPU控制器输入设备输出设备运算器3.2系统软件一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。系统软件的功能:主要是简化计算机操作,扩展计算机处理能力和提高计算机的效益。两个主要特点:一是通用性。即无论哪个应用领域的计算机用户都要用到它们;二是基础性,即应用软件要在系统软件支持下编写和运行。113.2.1操作系统核心是操作系统(OperatingSystem,简称OS)。其功能是管理计算机的全部硬件资源和软件资源,为用户提供高效、周到的服务界面。它是对计算机系统进行自动管理的控制中心。操作系统是计算机硬件(裸机)的直接外层,它对硬件的功能进行首次扩充。操作系统通过各种命令提供给用户的操作界面,给用户带来了极大的方便,同时操作系统又是其他软件运行的基础。123.2.1操作系统为了让操作系统进行工作,首先要将它从外存储器装入主存储器。这一安装过程称为引导系统。安装完毕后,操作系统中的管理程序部分将保持在主存储器中,称其为驻留程序。其他部分在需要时再自动地从外存储器调入主存储器中,这些程序称为临时程序。例如,IBM-PC及其兼容机的运行要有PC-DOS或Windows的支持。133.2.2语言处理程序程序设计语言计算机语言:计算机所能够识别的语言程序:利用计算机语言编写的能够完成一定功能的一组代码。程序设计:利用计算机语言编写程序的过程。文章;汉语、英语;字、词、语法结构;写文章程序;计算机语言;数据表示、表达式、语句结构;编程序143.2.2语言处理程序计算机硬件只能识别并执行机器指令,但人们普遍习惯于使用高级程序设计语言或汇编语言来编写程序。为了让计算机能够理解高级程序设计语言或汇编语言并执行用它编写的程序,必须要为它配备一个“翻译”,这就是所谓的程序设计语言翻译系统153.2.2语言处理程序语言的分类机器语言汇编语言高级语言→与计算机硬件基本无关163.2.2语言处理程序⑴机器语言从本质上说,计算机只能识别0和1两个数字,因此,计算机能够直接识别的指令是由一连串的0和1组合起来的二进制编码。机器指令=操作码+操作数机器语言:指计算机能够直接识别的指令的集合。即以二进制代码表示的机器指令集合,它是计算机能够直接识别和执行的语言。173.2.2语言处理程序⑴机器语言优点:占用内存少,执行速度快;缺点:面向机器语言,通用性差,不易阅读和记忆,编程工作量大,难以维护。183.2.2语言处理程序⑵汇编语言用助记符号代替机器指令所产生的语言。优点:比机器语言程序容易阅读和修改缺点:面向机器语言,通用性差(不同的CPU类型的计算机的汇编语言是不通用的)。例如,8086汇编语言对9+8=?编程193.2.2语言处理程序20序号汇编语言程序语句功能1MOVAL,9把加数9送累加器AL中2ADDAL,8把累加器AL中的内容与另一数相加,结果存入AL,即完成9+8运算3HLT停止操作3.2.2语言处理程序⑵汇编语言源程序:用汇编语言编写的程序。汇编程序:负责翻译的软件。主要作用:源程序转换成用二进制代码表示的目标程序。连接程序:将目标程序与库文件或其他目标程序连接起来形成可执行程序。21汇编语言源程序目标程序可执行程序汇编程序连接程序3.2.2语言处理程序⑶高级语言用接近自然语言和数学语言的语法、符号描述基本操作的程序设计语言优点:符合人类习惯,简单易学,通用性强,可移植性、便于维护源程序:用高级语言编写的程序。翻译程序:将源程序翻译成用二进制代码表示的目标程序。223.2.2语言处理程序翻译程序的工作方式:①解释方式:边解释边执行②编译方式:写程序、编译程序、运行程序23高级语言源程序执行结果解释程序解释方式编译方式可执行程序高级语言源程序编译程序目标程序连接程序3.2.2语言处理程序⑶高级语言BASIC、FORTRAN、Pascal、COBOL、C、VB、VC++、Delphi、Java、C#例如前面9+8=?,用C语言编程:main(){intal;al=9+8;}243.2.2语言处理程序2.程序设计语言的选择选择编程语言涉及很多因素:①人的因素:编程小组精通这门语言吗②任务需要:选择的语言能否实现任务的全部功能?能跨平台吗?有数据库接口功能吗?能直接控制声卡等硬件吗?③客户指定,或要通过串行口控制一个外部设备,C+汇编语言是最明智的选择。25了解一些流行的语言,对于做出合理选择会有帮助。3.2.2语言处理程序•8086汇编语言用它编写的程序只能运行在装有80x86计算机上。现在汇编语言仅用于那些要求程序尽可能短或速度要求很高的场合,如为了控制硬件在操作系统、多媒体底层控制时使用它。263.2.2语言处理程序DelphiDelphi是Inprise公司于1995年推出的可视化编程语言。它以Pascal为基础,扩充了面向对象和可视化的开发手段,使得Delphi有能力与VB相抗衡。Delphi适用于应用软件、数据库系统、系统软件等软件的开发。273.2.2语言处理程序C语言是美国电报与电话公司为了实现UNIX系统的设计思想而发展起来的语言工具。其特点是兼顾了高级语言和汇编语言,既提供了结构化程序设计,又带有低级语言的接口C++语言是在C语言的基础上为支持面向对象的程序设计而研制的一个通用目的的程序设计语言。它可以用于编写从简单的交互程序到高度成熟和复杂的工程科学中的任何程序,目前流行的版本是MSVC++、BorlandC++Builder283.2.2语言处理程序Java语言于1991年在SunMicrosystems公司设计出来,源于对独立平台的语言需求。这种语言可创建嵌入各种(具有不同CPU的)电器设备(如微波炉等)的软件,其特点是可移植、跨平台,正好迎合了Internet的需要。HTML(HyperTextMarkupLanguage)、XML(eXtensibleMarkupLanguage)都属于语言,但它们都没有传统语言的基本控制结构和复杂的数据结构定义以及子程序定义,其主要用途是描述网页的数据和格式。293.2.3数据库管理系统数据库管理系统就是在具体计算机上实现数据库技术的系统软件,用户用它来建立、管理、维护、使用数据库等。目前,常用的数据库管理系统有Access、VisualFoxPro、SQLServer、Oracal、SyBase和MySQL等。303.2.4服务性程序服务性程序是一类辅助性的程序,是为了帮助用户使用和维护计算机,向用户提供服务性手段而编写的一类程序,通常包括编辑程序、调试程序、诊断程序、硬件维护和网络管理程序等。313.3应用软件计算机软件系统中,除了系统软件以外的所有软件都称为应用软件。应用软件是由计算机生产厂家或软件公司为支持某一应用领域、解决某个实际问题而专门研制的应用程序,包括科学计算类软件、工程设计类软件、数据处理类软件、信息管理类软件、自动控制类软件、情报检索类软件等。323.3应用软件例如,文字处理软件Office、WPS;信息管理软Assces数据库、mysql数据库;辅助设计软件AutoCAD、caxa、Photoshop;媒体播放软件WindowsMediaPlayer、RealPlayer;图形图像软coreldraw、3DSMAX、MAYA、Photoshop;数学软件Matlab;杀毒软件诺顿、卡巴斯基、江民、瑞星等。333.3.1文字处理软件文字处理软件是办公软件的一种,主要用于文档的编辑、修改、保存、打印等。常用的中文文字处理软件主要是微软公司的Word343.3.2表格处理软件表格处理软件主要用来处理各式各样的表格。目前最常用的表格处理软件是Microsoft公司的ExcelExcel不仅具有强大的数据组织、计算、分析和统计功能,还可以通过图表、图形等多种形式对处理结果加以形象地显示,更能够方便地与办公软件中其他组件相互调用数据,实现资源共享。353.3.3演示文稿软件PowerPoint是目前最常用的一种演示文稿软件,专用于制作和演示多媒体投影片/幻灯片。利用PowerPoint,可以非常方便地制作各种文字,绘制图形,加入图像、声音、动画、视频影像等各种媒体信息,并根据需要设计各种演示效果。363.3.4辅助设计软件计算机辅助设计(CAD)技术是近二十年来最具有成效的工程技术之一。计算机辅助设计软件能高效率地绘制、修改、输出工程图纸。设计中的常规计算帮助设计人员寻找较好的方案。设计周期大幅度缩短,而设计质量却大为提高。应用该技术能使各行各业的设计人员从繁重的绘图设计中解脱出来,使设计工作计算机化。目前常用的软件有AutoCAD、caxa、Photoshop等。373.3.5实时控制软件用于生产过程自动控制的计算机一般都是实时控制,对计算机的速度要求不高,但可靠性要求很高,否则会生产出不合格产品,或造成重大事故。用于控制的计算机,其输入信息往往是电压、温度、压力、流量等模拟量,要先将模拟量转换成数字量,然后计算机才能进行处理或计算。处理或计算后,以此为依据根据预定的控制方案对生产过程进行控制。目前,比较流行的PC机上的SCADA软件有FIX、InTouch、Lookout等。383.4系统组成的层次结构计算机系统包括硬件和软件两个部分,由于硬件的能力非常有限,只是速度极高而已,没有软件,硬件几乎什么任务也完成不了。因此,计算机系统以硬件为基础,通过各种软件来扩充系统功能,形成一个有机组合的整体。硬件、软件、用户三者之间的关系如图3-12所示。393.4系统组成的层次结构403.4系统组成的层次结构计算机系统的层次结构模型分为8层,如图3-13所示。其中,微程序级和逻辑部件属于硬件部分,传统机器级可以看作硬、软件之间的界面,其他都属于软件部分。从下层向上层发展,反映了计算机系统逐级生成的过程,而从下层往上观察,则有助于了解\应用计算机求解问题的过程。413.4系统组成的层次结构423.4系统组成的层次结构1、自下而上,计算机系统逐级生成过程(1)拟定指令系统(2)创建硬件系统(3)配置操作系统(4)配置语言处理程序及各种软件资源(5)安装用户程序433.4系统组成的层次结构2.自