第3章计算机软件系统_第1页
第3章计算机软件系统_第2页
第3章计算机软件系统_第3页
第3章计算机软件系统_第4页
第3章计算机软件系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章计算机软件系统3.1计算机软件系统的基本组成3.2操作系统3.3高级语言翻译系统3.4数据库系统3.5工具软件3.6计算机应用软件软件的概念广义:是计算机程序、方法、规则及其相应的文档以及在计算机上运行时所必须的数据。

狭义:软件=程序+文档+数据文档:用自然语言或形式化语言所编写的用来描述程序的内容、组成、设计、功能规格、开发情况、测试数据和使用方法等的文字资料和图表。通过文档人们可以清楚地了解程序的功能、结构、运行环境、使用方法,从而方便人们使用软件、维护软件。软件的分类

系统软件用于扩展计算机的硬件功能,维护整个计算机系统,为应用开发人员提供平台支持。应用软件是相对于系统软件而言的,是针对某个应用领域的具体问题而开发的应用程序,是直接面向用户需要的一类软件。

计算机软件系统的基本组成计算机软件系统系统软件应用软件专用软件通用软件操作系统翻译程序工具软件数据库管理系统计算机硬件系统软件应用软件用户按下

‘P’

键Hi,OS,发生了一个事件:‘P’

键被按下了!Hi,财务系统,键盘输入的是‘P’,看着办吧!Hi,OS,打印我送到你那里的工资报表文件!Hi,激光打印机,把我送给你的数据打印出来!激光打印机开始打印应用软件、系统软件、硬件之间的关系操作系统的作用计算机内部是二进制世界,计算机硬件只认识0和1,操作系统使计算机能“看懂”用户的命令,“理解”用户的要求,操作系统为用户使用计算机提供了方便。用户角度:用户与计算机硬件系统之间接口,用户通过操作系统操纵计算机

资源管理角度:计算机资源的管理者,处理机管理、存储器管理、I/O设备管理、文件管理

操作系统在计算机系统中的地位硬件

其他系统软件,工具软件

应用软件(专用软件、通用软件)操作系统作系统的地位:其他软件的支撑环境

操作系统的起源和发展无操作系统时期

第一代计算机时期没有操作系统的概念,程序员采用人工操作方式直接使用计算机硬件系统。操作系统的起源和发展无操作系统时期批处理操作系统时期

20世纪50年代中期出现了第一个简单的批处理操作系统,60年代中期产生了多道批处理系统。基本工作方式是:用户将作业交给系统操作员,系统操作员在收到一定数量的用户作业后,将这一批作业读入磁带,然后启动监控程序从磁带中读取作业并控制作业的执行。缺点:无交互能力。操作系统的起源和发展无操作系统时期批处理操作系统时期分时操作系统时期

20世纪70年代初出现了分时操作系统。基本工作方式是:一台计算机主机连接了若干个终端,用户通过终端交互式地向主机提出命令请求,系统采用时间片轮转的方式处理命令请求,并在终端上显示处理结果。操作系统的起源和发展无操作系统时期批处理操作系统时期分时操作系统时期现代操作系统时期

(1)微机操作系统:单用户单任务、单用户多任务和多用户多任务的操作系统。操作系统的起源和发展无操作系统时期批处理操作系统时期分时操作系统时期现代操作系统时期(1)微机操作系统。(2)网络操作系统:除了具有单机操作系统的功能外,还应该支持网络通信和网络资源共享。操作系统的起源和发展无操作系统时期批处理操作系统时期分时操作系统时期现代操作系统时期

(1)微机操作系统。(2)网络操作系统。(3)分布式操作系统:与网络操作系统的不同之处在于,淡化了所访问资源的位置。操作系统的起源和发展无操作系统时期批处理操作系统时期分时操作系统时期现代操作系统时期

(1)微机操作系统。(2)网络操作系统。(3)分布式操作系统。(4)嵌入式操作系统:具有单机操作系统的功能,同时具有实时系统的特征,通常是更小的、具有一定硬件控制功能的操作系统。操作系统的主要功能(1)处理机管理:对处理器进行分配,并对其进行有效的控制和管理。按照有效的策略采用合理的调度算法组织多个任务在系统中的运行,其中,有效主要指系统的运行效率和资源的利用率,合理主要指操作系统对于不同的用户程序要“公平”,以保证系统不发生“死锁”和“饥饿”。(2)存储管理:对内存资源进行管理。存储分配:选择适当的分配策略为多道程序分配足够的主存空间,并负责回收使用完毕后释放的主存区域。存储保护:防止用户程序的错误而破坏系统程序,也防止各程序之间的互相干扰和破坏。存储扩充:为用户程序提供一个比实际内存更大的存储空间,即所谓的虚拟存储技术。操作系统的主要功能操作系统的主要功能(3)文件管理:负责为用户建立文件,撤销、读写、修改和复制文件,此外,还负责完成对文件进行存取控制。文件:一些信息的集合,存储在计算机的外存上,需要时调入内存。文件包括的范围很广,例如用户作业、源程序、目标程序、初始数据、结果数据等等,各种系统软件,甚至操作系统本身也是文件。(4)设备管理:管理计算机系统中的所有外部设备。

根据设备的种类、合理的设备分配策略,将设备分配给提出请求的任务;

当设备使用完后,还要负责设备的回收;提供缓冲功能,以协调外部设备和处理器之间的并行工作程度;为外部设备提供驱动程序实现多种设备间的信息交换。操作系统的主要功能操作系统的主要功能(5)人—机接口。操作系统为用户提供了两种接口:①操作级:指用户在程序之外请求操作系统服务。命令界面——用户可以在终端上键入操作系统提供的命令,完成指定操作;图形界面——用户可以对出现在图形界面上的对象直接进行操作来控制操作系统的运行。②程序级:指用户在程序中使用操作系统提供的系统调用命令请求操作系统服务。高级语言翻译系统不同的程序设计语言需要有不同的语言翻译系统,同一种程序设计语言在不同类型的计算机上也需要配置不同的语言翻译系统。

某个C程序WindowsPCC编译器UNIX工作站C编译器MacintoshC编译器WindowsPC可执行程序UNIX工作站可执行程序Macintosh可执行程序源程序翻译成目标程序的方式(1)解释方式:解释一般是翻译一句执行一句。

源程序解释系统逐句解释执行

原始数据

结果由于解释方式不产生目标代码,所以,源程序的执行不能脱离其解释环境,并且每次运行都需要重新解释。源程序翻译成目标程序的方式(2)编译方式:是一个整体理解和翻译的过程。

源程序原始数据

结果

编译程序

目标程序由于编译后形成了可执行的目标代码,所以,其目标程序可以脱离其语言环境独立执行,但对源程序修改后需要重新编译。对程序进行编译#include<stdio.h>voidf(int*j);{*j=9;};voidmain(){printf(’myProgram\n');i=1;printf(“i=”,i);f(i);printf(“i=“,i);}高级语言程序MOVDX,OFFSETFILEMOVAL,0MOVAH,3DHINT21HJCOPERRMOVHANDLE,AXMOVBX,HANDLEMOVDX,OFFSETBUFMOVCX,512MOVAH,3FHINT21HJCREADERRCMPAX,0……汇编语言程序110110101100010001011000110000100101101101000101010111110110010101110010111011110110000001001110010101100111010101011100101010010101010100010110001101101110111001011000110101110010110101100011010100111110101010101001001001011101000111001010110001100101100011001100101010101010000001111001……机器语言程序编译汇编编译编译-链接-加载-执行的过程编译链接目标程序其他目标程序与程序库可执行程序源程序加载执行编译程序的工作过程

表格管理词法分析语义分析生成中间代码代码优化生成目标代码源程序目标程序

出错处理语法分析

词法分析:对源程序进行扫描和分解。滤掉源程序的注释;按照词法规则识别出一个个的单词,如关键字、变量名、运算符等,并将单词转化为某种机内表示;如果发现词法错误,则指出错误位置,给出错误信息。为此,词法分析还需要标记源程序的行号,以便行号可以和错误信息联系到一起。词法分析——分解出单词

语法分析——分解出语法单位

语法分析:是编译程序的核心部分,它的任务是对单词序列按照语法规则分析出一个个的语法单位,如表达式、语句等。程序设计语言的语法规则通常用文法来描述,如果源程序能够识别成该文法的句子,则认为程序在形式上是正确的,否则认为程序中存在语法错误。如果发现语法错误,则指出错误位置,给出错误信息。语义分析——检查语义(类型检查)

语义分析:是检查程序的语义的正确性,以保证单词或语法单位能有意义地结合在一起,并为代码生成收集类型信息。语义分析的一个重要部分是类型检查,即检查每个运算符的运算对象,检查它们的类型是否合法。生成中间代码——为机器指令做准备

生成中间代码:将各语法单位转换为某种中间代码。所谓中间代码是复杂性介于源程序语言和机器语言之间的一种指令形式。中间代码的设计原则:一是容易生成;二是容易翻译为目标代码。常用的中间代码形式有三元式、四元式、逆波兰式等。四元式:(运算符,运算对象1,运算对象2,结果)。代码优化——代码质量

代码优化:对中间代码进行等价变换,使得变换后的中间代码在运行速度、存储空间等方面具有较高的质量。常用的代码优化技术有删除多余运算、代码外提、强度削弱、变换循环控制条件、复写传播、删除无用赋值等。生成目标代码——机器可执行

生成目标代码:将优化后的中间代码转换为特定机器的目标程序。显然,高级语言和计算机的多样性为目标代码生成的理论研究和实现技术带来很大的复杂性,最后产生的目标程序取决于具体的机器结构、指令系统、计算机的字长、寄存器的个数和种类、所用的操作系统等。编译程序——表格

表格管理:在编译过程中,源程序的各种信息被保存在各种不同的表格中,编译各阶段的工作都涉及到构造、查找、更新有关表格。例如,符号表用来保存标识符,词法分析将识别出的标识符以及标识符的各种属性填入符号表中,在编译过程中根据标识符的各种属性提供存储分配、类型和作用域等信息。编译程序——错误处理

程序中的错误主要包括:1.词法错误,如标识符拼写错误;2.语法错误,如表达式的括号不匹配;3.语义错误,如运算符作用于不相容的运算对象;4.逻辑错误,如无穷的递归调用。一个好的编译程序应能最大限度地发现源程序中的各种错误,指出错误的性质、发生错误的位置,并且能将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去。数据库技术的产生和发展人工管理阶段:20世纪50年代中期以前应用情况:计算机主要用于科学计算;硬件状况:没有可以直接存取的存储设备;软件状况:没有操作系统。应用程序1数据集1应用程序2数据集2应用程序n数据集n……数据库技术的产生和发展文件系统阶段:20世纪50年代后期到60年代中期应用情况:开始应用于数据处理;硬件状况:出现可以直接存取的存储设备(磁盘);软件状况:出现了操作系统,提供文件管理功能。应用程序1

文件1应用程序2

文件2应用程序n

文件n……操作系统数据库技术的产生和发展数据库阶段:20世纪60年代后期以来应用情况:数据规模越来越大,多种应用程序互相覆盖地共享数据集的要求越来越强烈;硬件状况:已有大容量磁盘;软件状况:数据库管理系统。数据库管理系统

应用程序1…

应用程序n

应用程序2数据库数据表1数据表n…什么是数据库数据库:是能够被统一管理的相关数据集合,这些数据以一定的结构存放在存储介质(例如磁盘)中,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户共享。通常来说,数据库是某个企业、组织或部门所涉及的大量数据的一个综合。数据模型由于计算机不能直接处理现实世界中的具体事物,所以,在数据库中用数据模型作为工具来抽象、表示和处理现实世界中的数据以及数据之间的联系。多年来占统治地位的是关系模型RDBMS,关系模型使用二维表的形式表示数据库中的数据及其联系。关系数据模型属性名主键记录(行)属性(列)字符串整数男/女计算机、……日期型域基础科学1986/03/26女汤晓影0003工商管理1987/12/25男李明0002计算机1986/09/02男陆宇0001所在学院出生日期性别姓名学号关系什么是数据库管理系统数据库管理系统:是为数据库的建立、使用和维护而配置的系统软件,是用户和数据库之间的一个接口,用户通过数据库管理系统能方便地定义和操纵数据库中的数据,并能够保证数据的安全性、完整性、并发性以及故障发生后的系统恢复。数据库管理系统的基本功能(1)数据库定义功能。(2)数据操纵功能。(3)数据库事务管理功能。(4)数据库维护功能。(5)其他功能。结构化查询语言——数据库语言20世纪70年代中期,IBM公司的F.Codd提出了一种标准化的结构化查询语言,即现在的SQL语言的前身。结构化查询语言SQL是一种基于关系运算理论的数据库语言,使用SQL语言,用户和程序员可以对来自各种不同厂商的数据库进行操作。SQL语言(1)数据定义:用于定义数据的逻辑结构。其一般格式如下:CREATETABLE<表名>(<列名><数据类型>,…,(<列名><数据类型>)CREATETABLEstudent(SnoCHAR(5),SnameCHAR(10),SsexCHAR(1),SdateDate,SdeptCHAR(15))SQL语言(2)数据操纵:包括数据查询和数据更新操作。SELECT语句的一般格式如下:SELECT属性列表FROM表名WHERE条件例:从student数据表中查找陆宇同学的生日信息:SELECTSdateFROMstudentWHERESname="陆宇"

SQL语言(3)数据控制。主要实现用户对数据的存取权限进行控制,包括基本表和视图的授权、完整性规则的描述和事务控制等。(4)嵌入式功能。SQL语句可以嵌入某种程序设计语言中使用。例如,Delphi、VB、JAVA等程序设计语言中都可以嵌入SQL语言实现数据处理功能。什么是数据库系统数据库系统:在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、数据库应用程序、用户和数据库管理员组成。数据库管理系统

数据库应用程序应用程序

用户

用户数据库管理员…………

用户

用户……数据库应用程序(数据库管理软件):使用数据库语言开发的、能够满足数据处理要求的应用程序。

数据库系统数据库管理系统

数据库应用程序应用程序

用户

用户数据库管理员…………

用户

用户……数据库管理员:完成数据库的建立、监督和控制数据库的使用、数据库的日常维护等工作的专职人员。

数据库系统数据库管理系统

数据库应用程序应用程序

用户

用户数据库管理员…………

用户

用户……最终用户:主要对数据库进行联机查询或通过数据库应用程序来使用数据库;专业用户:指数据库应用程序的开发人员。

数据库系统数据库管理系统

数据库应用程序应用程序

用户

用户数据库管理员…………

用户

用户……工具软件工具软件是一些工具性的服务程序。1.下载软件2.PDF文件阅读软件3.防病毒软件4.压缩与解压缩文件……文件压缩软件网际快车计算机辅助

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论