第三章计算机软件基础_36610441课件.ppt
程序设计软件基础 编译器的伙伴工具 预处理(Preprocessor,在词法分析之前进行) 宏(macro,define,parameter)处理 文件包含(include)的处理 汇编程序(Assembler):有些编译程序只产生汇编语言目标代码,这时就需要用汇编程序做进一步的处理,生成可重定位的机器代码 连接程序(Linker) 修改机器代码的重定位地址,把指令和数据组合起来形成可执行程序(有自己的逻辑地址,便于装入内存运行) 把几个可重定位的机器代码(包括库函数)连接成一个可执行程序 程序设计软件基础 Fortran语言的编译器 Intel (Compaq) Visual Fortran ? Portland Group (PGI? ) Fortran Compiler NAG Fortran Compiler (清华大学统一购买) Absoft Fortran Compiler Lahey Fortran Compiler GNU Fortran Compiler Salford FTN95 Fortran Compiler …… 第三章 计算机软件基础 内容提要 计算机软件概述 操作系统的基本知识 程序设计软件概述 计算机软件概述 计算机系统 系统软件:操作系统、程序设计 硬件系统 支撑软件:网络、多媒体、数据库…… 应用软件:文字处理、科学和工程计算、 图形图像处理、管理信息系统…… 普通用户 计算机管理员 程序开发员 计算机软件概述 计算机软件系统 系统软件:是其它软件的基础,和具体应用无关 操作系统 管理计算机系统中的各种软、硬件资源 为用户提供良好的操作界面(命令行、图形) 程序设计软件 将高级语言或汇编语言代码转换成机器语言 支撑软件:支撑其它软件的编制或维护 数据库 接口软件 图形接口、音频接口、网络接口…… 工具软件 硬盘维护、操作系统优化、计算机安全…… 应用软件 普通用户(不需要对计算机进行开发和维护)使用的软件 计算机软件概述 内容提要 计算机软件概述 操作系统的基本知识 程序设计软件概述 操作系统的基本功能 操作系统基础 内部存储器 运算器 控制器 输出 输入 数据 控制 CPU 为用户提供操作界面 管理计算机资源 进程(处理器)管理 存储管理 文件管理 设备管理 其它(安全、网络) 请参考《WindowsXP开机过程》 操作系统的发展历史 手工操作(电子管时代,1946~1957) 没有操作系统,程序员兼操作员,独占机器 没有高级语言(后期出现汇编语言) 手工用改变电路插线板、穿孔卡片或纸带的方式输入程序 操作系统基础 ENIAC (1946) 操作系统基础 监控程序(晶体管时代,1958~1964) 出现了高级语言,用穿孔卡片的方式输入程序 程序员和操作员分开 使用了管理(监督)程序来识别不同的作业 —— 早期批处理(Stacked job batch processing)方式 操作系统基础 多道批处理(集成电路时代,1965~1970) 内存中可以同时存在多个程序,CPU以切换方式为它们服务,计算机资源不被独占。 所有程序看起来是并行执行的,实际上是串行执行的。 使用了SPOOLing(Simultaneous Peripheral Operation Online)技术 操作系统基础 分时和实时系统(大规模/超大规模集成电路时代,1971~) 分时系统(Compatible time sharing system) 多个用户通过终端设备与主机交互作用来运行自己的作业 CPU的工作时间被分成很多时间片,操作系统以时间片为单位轮流为每个用户服务 实时系统(Real time system) 所有用户作业都可以在规定的很短的时间内得到处理 常用于控制 操作系统基础 当代的典型操作系统 分布式系统(Distributed system) 运行在不具有共享内存的多台计算机上,但在用户眼里却像是一台计算机 比如:机群(Cluster)、网格计算(Grid computing)、 云计算(Cloud Computing) 嵌入式系统(Embedded system) 运行在嵌入式芯片(用于各种仪器的微处理器)内 可靠高、实时性好、占用资源少、成本低 比如:手机、汽车仪表、智能家电…… 操作系统基础 智能卡(IC卡,Integrated Circuit Card)系统 用户与操作系统的接口 操作系统基础 计算机硬件 操作系统 系统调用 (程序级接口) 命令管理 (作业级接口) 应用程序 操作命令 操作系统基础 作业(Job):一次应用业务的处理过程中用户要求计算机所做的全部工作 脱