收藏 分享(赏)

计算机与信息科学十万个为什么.docx

上传人:海外认知 文档编号:21763720 上传时间:2024-04-23 格式:DOCX 页数:236 大小:465.90KB
下载 相关 举报
计算机与信息科学十万个为什么.docx_第1页
第1页 / 共236页
计算机与信息科学十万个为什么.docx_第2页
第2页 / 共236页
计算机与信息科学十万个为什么.docx_第3页
第3页 / 共236页
计算机与信息科学十万个为什么.docx_第4页
第4页 / 共236页
计算机与信息科学十万个为什么.docx_第5页
第5页 / 共236页
亲,该文档总共236页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件与接口技术计算机与信息科学十万个为什么丛书编辑委员会编著清华大学出版社( 京) 新登字 158 号内容简介本 分 册 包 含 有 关 软 件 与 接 口 方 面 的 基 本 常 识 、技 术 原 理 和 实 际 应 用 问 题 共 98 条 。 全 书 共 分 五 部 分 : 软 件 的 基 本 概 念 与 常 识 ; 各 种 操 作 系 统 的 工 作 原 理 和 结 构 ; 各 种 类 型 程 序 设 计 语 言 的 特 点 和 功 能 ; 常 用 数 据 结 构 与 算 法 的 工 作 原 理 及 有 趣 的 经 典 问 题 的 算 法 ; 关 于 接 口 的 基 本 常 识 与 一

2、 些 常 用 的 应 用 软 件 的 工 作 原 理 。本 书 的 各 篇 文 章 主 题 明 确 , 通 俗 、实 用 , 并 有 一 定 的 趣 味 性 , 它 是 具 有 中 等 以 上 文 化 程 度 、有 兴 趣 学 习 计 算 机 知 识 的 广 大 群 众 的 良 师 益 友 。 版权所有, 翻印必究。 本书封面贴有清华大学出版社防伪标签, 无标签者不得销售。图书在版编目( CIP ) 数据软 件 与 接 口 技 术 / 计 算 机 与 信 息 科 学 十 万 个 为 什 么 丛 书 编 辑 委 员 会 编 著 。 北 京 : 清 华 大 学 出 版 社 , 19 9 7( 计

3、算 机 与 信 息 科 学 十 万 个 为 什 么 ; 3 )IS BN 7 -3 02 -0 2 68 5 -8 . 软 . 计 . 软 件 -普 及 读 物 电 子 计 算 机 -接 口 -技 术 -普 及 读 物 . T P 3中 国 版 本 图 书 馆 CIP 数 据 核 字 ( 9 7 ) 第 2 1 5 06 号出版者: 清华大学出版社( 北京清华大学校内, 邮编 100084)因特网地址: ww w . t up. t singhua. edu. cn印刷者: 北京市昌平县环球印刷厂 发行者: 新华书店总店北京科技发行所开 本: 787 1092 1/ 32 印张: 7.5 字数

4、: 167 千字版 次: 1998 年 1 月第 1 版 1998 年 1 月第 1 次印刷书 号: IS BN 7-302-02685-8/ T P 1389印 数: 0000110000定 价: 8.80 元计算机与信息科学十万个为什么丛 书 编 辑 委 员 会名誉主任 : 陈至立名誉主编 : 何成武 张兆琪 李超云主 编 : 张吉锋 ( 兼主 任)副 主 任:吕传兴常务编委 : 王心园 孙 一霖 吕传兴 陆 皓 吴洪来 郁宝忠张吉锋编 委 ( 按姓 氏笔划排 序) : 尹芳平 方起兴 朱 益梅 刘 淦澄何守才 何礼义 张 鹏飞 陈 涵生林慎 机赵怀 成 徐 桂珍 宣 国荣程 亮 童 兆页

5、 鲍 振东计算机与信息科学十万个为什么各 篇 、各 专 题 编 委篇、专题名 主 编 副主编 主 审引路篇郁宝忠 王心园 吴洪来综合应用 技术篇陈一民 劳诚信 王心园 董长洪 王家增专业技术 篇 软件与 接口技术吴洪来 徐国定 夏宽礼 计算机 网络与数 据通信 方起兴 谢承德 张根度 荆金华 多媒体何守才 顾 宁 郑衍衡 计算机 辅助设计宣国荣 郁文忠 仲 毅 管理信 息系统与何礼义 夏雨人 张吉锋 办公 室自动化 数据库 与信息检 索陆 皓 周 宁 周广声 人工智 能童 兆页 朱关铭 缪淮扣 计算机 安全与保 密鲍振东 赵一鸣 覃 光序 人类进入了信息时代。 随着以计算机和现代通信技术为核心

6、的信息技术迅速发展和广泛应用, 信息资源得到进一步开发和利用, 大大推动了 人类社会各个方面的发展, 并对人们的工作、学习和生活产生 了深刻的影响。在当今 世界, 发达国家 和新型 工业化 国家 都在大 力发 展 信息技术, 竞相规划和建设本国的信息基础设施, 加速信息化 进程, 力 争在 这 场世 纪 之交 的 大竞 争、大 发 展中 立 于不 败 之 地。当前, 我国也在大力发展信息技术, 加强信息产业和信息 基础设施的建设, 以迎接信息时代对我们的挑战。实现信息化, 关键是人才。我们不但需要有一批熟悉信息 系统与信息资源开发, 致力于信息化建设的技术专家, 更需要 有一大 批能掌握 计算

7、机 与信息技 术, 会 用并用 好信息 系统 与 信息资源的应用人才, 还要在全社会普及计算机及信息知识, 增强信息化意识, 使人们学会并适应在信息社会环境中工作、 学习和生活。在科学技术普及的事业中, 书籍有着极其重要的作用。书籍是人类进步的阶梯。一部好的科普丛书能启迪人们的心智, 激发人们进一步学习科学技术的兴趣和奋发向上的精神。早 在 20 世纪 60 年 代, 上 海 的 科学 家 们 就 编 写了 一 套数、理、 化、生十万个 为什么, 对推动 科学文化 普及做 出了有 益的 贡 献。今天, 上海市计算机学会继承和发扬这一优良传统, 组织 了 100 多 位专家 学者, 通过调查 研

8、究, 编撰成 这套计 算机 与 信息科学十万个为什么丛书。丛书内容丰富, 形式新颖, 图文 并茂, 深入浅 出, 面 向青少 年和广大 群众, 是计 算机与 信息 科 学普及教育难得的好教材。丛书不仅能让人们获得从事计算 机与信息技术所需的知识和技能, 更重要的是, 还能使人们从 中受到科学思想、科学精神、科学态度和科学方法的教育。因 此, 这也是一部宣传社会主义精神文明的普及读物。一部好书可以影响一代人。计算机与信息科学十万个为 什么的编写出版, 得到清华大学出版社以及中国计算机报社 的大力支持, 这是一件有意义的事情。采用“十万个为什么”的 方式普及计算机知识, 是一种十分有益的尝试。希望

9、编写丛书 的专家学者不断跟踪科技发展趋势, 不断修改、扩充和更新丛 书内 容和 媒 体形 式, 使 丛书 越 出越 好, 以 满 足广 大 读者 的 需 要。我们希望有更多的专家学者和学术团体参加科技普及工 作, 编写出版普及读物, 传播科学知识, 为推动两个文明建设, 为把我国的经济建设转移到依靠科技进步和提高劳动者素质 的轨道上来做出自己的贡献。祝贺计算机与信息科学十万个为什么丛书出版成功。丛 书 前 言 计算机与信息科学的普及应用是一个国家现代化程度的 重要标 志, 计 算机与信 息科学 的发展水 平和开 发能力 更是 现 代国家国力的重要表现。党中央和国务院在制订发展我国高 新技术 产

10、业政策 时, 把 计算机 与信息科 学列为 优先发 展的 领 域之一。举国上下, 越来越多的人认识到学习和掌握这一领域 的知识 和技能的 重要性, 为了 能在激烈 竞争的 现代社 会生 活 中不落 人后, 为了能为 实现社 会主义四 个现代 化建设 做出 更 大贡献, 利用一切可以争取到的机会, 甚至动用家庭有限的收 入作投 资, 创 造条件, 学习 计算机科 学知识 和技 能, 在 全国 各 地正在形成越来越高的热潮。在这种形势下, 作为在计算机和 信息科 学领域里 耕耘多 年的识途 老马们, 自然 有义不 容辞 的 责任, 为青少 年和广大 迫切需 要学习计 算机与 信息科 学的 已 入门

11、和 未入门的 群众做 出自己应 有的贡献, 帮 助大家 克服 困 难, 少走弯路, 尽快占领这一领域的各个高地与顶峰。帮助青少年和广大群众掌握计算机与信息科学的基础知 识和基本技能是实现科技兴国战略任务的重要组成部分。当 今, 计算机与 信息科学 早已从 为少数科 学家所 专有演 变为 解决科学、技术、工程和日常生活各方面问题的强有力的技术和 工具。掌握计算机科学的原理和应用技能既可以为儿童、青少 年进一 步学习科 学技术 打下良好 基础, 也是广 大群众 掌握 现 代工具、提高 生活技 能的有效 途径。为了 有效 地实现 这一 目 标, 最重要的 是激发大 家学习 和掌握计 算机知 识与技

12、能的 兴 趣和睿 智, 而 不是简单 地让大 家学会几 条指令 的操作 或某 几 个软件的使用, 因为这些东西会随着科技的进步、版本的更新 很快“过时 ”, 唯有掌 握学习 的能力和 探讨计 算机科学 技术 的 兴趣是长久不衰的。基于上述原因, 上海市计算机学会在清华大学出版社、电 子工业 部计算机 与微电 子发展研 究中心、中国 计算机 报社 的 大力支 持下, 聘请了 100 多位长 期从事计 算机 与信息 科学 各 个领域 的教学和 科学研 究、有 丰富经验、学 有所 成的专 家、教 授, 从计算机 与信息科 学的宝 库中, 选取了 人们 在学习、工 作 以及生活中经常会碰到的问题, 力

13、图用生动有趣的例子、浅显 明白的道理、通俗准确的语言来回答这些问题, 来描述计算机 与信息 科学的过 去、现 在和未 来, 真 可以说 是历 经寒暑, 十 易 其稿, 最终 编写而成 这套计算机 与信息 科学十万 个为 什么 丛书。丛书包括“引路篇”、“综合应用技术篇”和“专业技术基础 篇”三篇, 分 为九个分 册出版。作 为丛书的 第一本,“引 路篇” ( 154 个问题) 提供的是学 习计算机和信息科 学的综合基础 知 识与技能, 同时, 也说明本篇的编写宗旨是“引路”, 即起到“引 进门”的作用。“综合应用技术篇”单独成册( 83 个问题) , 主要 是通过典型例子说明计算机技术是如何应

14、用于日常生活的各 个方面的。“专业技术基础篇”分为七个分册, 包括以下 12 个专题:1. 软件基础( 80 个问题)2. 接口技术( 18 个问题)3. 数据库( 74 个问题)4. 信息检索( 50 个问题)5. 数据通信( 97 个问题)6. 计算机网络( 66 个问题)7. 管理信息系统( 39 个问题)8. 办公室自动化( 52 个问题)9. 多媒体( 41 个问题)10. 计算机辅助设计( 82 个问题)11. 人工智能( 72 个问题)12. 计算机安全与保密( 61 个问题)上述各 篇各专题 中问题 的选取原 则是, 既 针对青 少年 和 广大群 众当前学 习的实 际需要, 又

15、照顾 到计算 机科学 日新 月 异的发展。编写力求做到科学性、通俗性、趣味性并重, 既有原 理的说明, 也有应用技术的指导。考虑到本丛书的基本读者群 体是青少年和具有中等及中等以上文化程度的有志学习计算 机知识的广大群众, 每个题目都完整地说明一个知识点, 绝大 多数条 目在知识 结构上 是相对独 立的, 在学习 时不需 要以 其 他题目 的知识作 为基础, 这样 的安排也 是为了 适应业 余学 习 间隙性的需要。每一分册条目的编号按 以下原则编排: 条目编号的 形式 为 x . y, x 表示本 书在 丛书中 的分 册序 号, y 表 示该条 目在 本 书中的序号。本丛书的每一部分都包含了少

16、量的计算机与信息科学的前沿知识, 这种局部超前的安排, 不仅是为了适应广大青少年 进一步 学习计算 机和信 息科学的 需要, 也有助 于具有 一定 基 础的各类专业人员扩展自己的知识面。而且, 由于计算机科学 及相关 技术发展 迅速, 今天的 所谓前沿 知识, 随 着时代 进步, 技术发展, 将成为日后大众的普及知识。本丛 书 在编 写 时致 力 于提 高 读者 的 知 识水 平 与学 习 能 力, 尽可能用 简洁、准确的 文字讲清 原理, 使读 者在理 解的 基 础上激发进一步学习的主观能动性, 进行创造性的学习。我们 认为, 经常 研究“为什么 ”, 可以养 成自己提 出问 题、解 决问

17、题 的习惯, 学会举一反三、融会贯通、启迪思路, 一旦读者自己弄 清了“为什 么”的道理, 一些 具体操作 通过相 应的操作 手册 是 容易掌握的。希望本丛书能够成为青少年和广大群众前往计算机与信 息科学殿堂时的登堂台阶, 这就是我们的用心所在。计 算机与信 息科学十万 个为什么 丛书编辑 委员会1997 年 5 月编者的话 软件 是 一个 大题 目, 可 以 说, 在计 算 机 与信 息 科学 领 域 中, 除了硬件设施之外, 留下的就是软件问题了。随着计算机 与信息科学的发展, 软件显得愈来愈重要。由于本书专题内容 划分上的原因, 本专题的内容仅限于软件基础与接口应用。即使是 在软件基 础

18、与接 口应用这 一范 围内, 日常 碰到 的 需要搞 清楚的问 题也多 得不胜枚 举, 我 们只能 选择一 些最 最 基本、日常工作学习中最常见的问题加以讨论。编写这一专题 的目的在于, 使读者对平日常见的、使用计算机过程中碰到的 软件问 题的基本 原理及 解决这些 问题的技 术、技能有 一个 通 俗的了 解, 为 有志进一 步学习 掌握计算 机科学 技术的 读者 提 供这方面铺垫的知识。即使是对无意钻研计算机科学的读者 来说, 也可作为现代科学这一重要分支的常识来了解。编者的 努力是 要捅破这 一层窗 纸, 把 计算机软 件科学 殿堂内 的珍 藏 宝库展 现在读者 面前, 并将那 些使人眼

19、花缭乱 的诸多 难解 之 谜的谜底, 变为中等文化程度可接受的常识。本专题共分五个部分: 软件概说, 讨论的是软件的基本 概念和常识, 以及当今计算机软件发展与研究的重点; 操作系统面面谈, 讨论涉及各种各样操作系统的工作原理、框架结 构、算法策略; 程 序语言 与编译, 讨论了 各种 类型程 序设 计 语言的 特点与功 能, 编 译与解 释技术中 的一些 基本概 念及 关 键技术; 数据结构和算法浅说, 以通俗的方式介绍了软件设 计中的 一些常用 数据结 构和算法 的设计原 理, 以及若 干有 趣 的经典问题的算法通俗化的介绍; 接口技术及其应用, 这是 前面几 个部分的 补充, 计算机 接

20、口技术 本身也 是计算 机科 学 的重要 组成部分, 是接 口技术 的发展和 应用才 使得计 算机 的 软硬件 作用配合 得如此 默契, 不过这里 讨论的 主要是 微机 接 口问题, 本部分也介绍了一些常用的应用软件的工作原理。由于编者水平限制, 见识有限, 即使是上面几个方面所提 问题也难免挂一漏万, 就是已提到的问题, 在见解上也难免有 疏漏与不妥之处, 竭诚希望读者与专家们不吝赐教。本书主要读者对象是中等文化程度以上有兴趣学习计算 机知识的广大群众。为了真正做到面向读者, 本书在写法上力 求做 到使读者“开 卷有益”, 工作繁忙 的读者 可以每次 只读 一 条。各条目之间基本是独立的,

21、不像教科书那样, 前后连贯, 但 若能认 真读完一 个完整 部分, 相信即使 是从事 计算机 工作 多 年的专业人士也不无裨益。编 者1997 年 5 月目录软 件 概 说3. 1 为什么说计算机软件不只是程序?13. 2 为什么要把软件分成系统软件和应用软件?23. 3 为什么要研制软件开发环境?43. 4 为什么说开放系统是今后软件技术的研究重点?53. 5 为什么说面向对象软件开发技术是今后软件发展的主流之一?7操 作系统面 面谈3. 6 为什么只有把程序从外存储器调入内存后才能被计算机执行?93. 7 为什么计算机不能无限制地扩大内存容量?113. 8 为什么在计算机上必须配备操作系统

22、?123. 9 为什么会形成操作系统?133. 10 为什么说操作系统的主要任务是管理系统资源?153. 11 为什么普通的单机操作系统不能用来管理网络系统?173. 12 为什么要开发分布式网络操作系统?183. 13 为什么说操作环境不是操作系统?203. 14 为什么计算机要设有特权指令?203. 15 为什么要在计算机中引入中断设施?213. 16 为什么操作系统要有设备管理程序?233. 17 为什么每扩充一种外部设备就要为它提供中断码和入口地址?253. 18 为什么操作系统要有内存管理程序?273. 19 为什么支持多道程序的内存管理程序至少要采用分区管理策略?283. 20 为

23、什么说内存分页管理策略比分区管理策略更合理?303. 21 为什么有些支持多道程序的内存管理程序要采用分段管理策略?323. 22 为什么采用虚拟存储技术可运行内存要求比计算机实际内存还要多的程序?333. 23 为什么操作系统要引入并发程序?363. 24 为什么一道程序不能说成是一个进程?403. 25 为什么进程能在计算机中并发运行?413. 26 为什么在单处理机上能并发执行多个进程?443. 27 为什么并发运行的进程能相互协同来完成复杂的任务?453. 28 为什么 P 、V 操作能使操作系统解决 多个进程协调的同步和互斥问题?483. 29 为什么要将操作系统分成内核和外壳两部分

24、?513. 30 为什么 I / O 设备管理程序都要建 立缓冲区来储存输入/ 输出数据?533. 31 在多道程序系统中, 为什么要实行假脱机技术?553. 32 为什么微机的 DOS 磁盘操作系统 不能用来管理大型机甚至小型机?563. 33 为什么微机 DOS 磁盘操作 系统不能用于实时系统中?573. 34 为什么 DOS 的命令要分成内部命令和外部命令?593. 35 为什么 DOS 要有命令处理程序?603. 36 为什么 DOS 系统下的程序一次使用的内存不能超过 1M B?613. 37 为什么 DOS+ W indows 能实现多任务管理的功能?633. 38 为什么 W i

25、ndows 易学易用?653. 39 W indow s 怎样使用消息驱动来实现多任务操作?683. 40 W indow s 95 有哪些新功能?723. 41 为什么 W indows 95 会有许多新功能?763. 42 为什么能实现 W indows 95 和W indow s 3. x 的双重启动?77程 序语言与 编译3. 43 为什么说机器语言指令程序是不可移植的?803. 44 为什么说用人类自然语言命令计算机做什么和怎样做是一件十分困难的任务?813. 45 什么是命令型程序设计语言?853. 46 为什么要研制系统程序设计语言?853. 47 为什么说 A da 不是面向对

26、象的程序设计语言?873. 48 为什么把 PR OL OG 语言称作逻辑型程序设计语言?883. 49 什么是函数型程序设计语言?903. 50 为什么说 Java 是一种跨平台的编程语言?913. 51 为什么在程序语言中要引入实现抽象数据类型的结构?943. 52 为什么要用顺序、选择、循环三种结构来构造算法和程序?963. 53 为什么用高级语言编写的程序不能在计算机中直接执行?973. 54 为什么要在计算机中配置高级语言的编译程序?983. 55 为什么编译系统还要提供函数库?993. 56 为什么有些高级语言的实现采用解释技术?1003. 57 为什么编译程序需要对源程序进行词法

27、分析?1013. 58 为什么编译程序需要对源程序进行句法分析?1033. 59 为什么编译程序中句法分析要用下堆栈数据结构?1043. 60 为什么需要连接装配程序?1063. 61 为什么编译程序需要代码优化这一部分?106数据 结构和算 法浅说3. 62 为什么要研究算法?1083. 63 为什么在解决复杂问题时, 经 常采用递归技术设计算法?1093. 64 为什么在解决复杂问题时常常采用“分而治之”的策略?1103. 65 为什么二分法查找比顺序查找获得结果要快?1123. 66 为什么要建立索引文件?1133. 67 为什么用散列法存储符号表时要解决冲突问题?1143. 68 为什

28、么冒泡排序能将列表排序?1163. 69 为什么插入排序能将列表排序?1183. 70 为什么说冒泡排序和插入排序的效率基本上是相同的?1193. 71 怎样用快速排序将随机分布的列表元素很快排序?1203. 72 怎样用合并排序算法对列表排序?1223. 73 为什么说图的着色问题是非常“难”的问题?1233. 74 如何用计算机解决推销员的最短路径问题?1253. 75 如何用计算机找到任务分配最优方案?1303. 76 操作系统进行进程调度时,为什么要用队列数据结构?1323. 77 为什么试探法可以求解八皇后问题?1323. 78 为什么说“程序= 数据结构+ 算法”?1353. 79

29、 为什么计算机可以解决加工任务的最优排序问题?1363. 80 怎样用计算机解决装箱问题?139接 口技术及 应用3. 81 为什么 PC 机扩充外部设备时要增设接口卡?1413. 82 为什么在大型机系统中要采用通道和控制 单元方式连接主机和输入/ 输出( I / O ) 设备?1433. 83 为什么 PC 机扩充外部设备 时要安装该设备的驱动程序?1453. 84 为什么计算机系统要装配各种设备驱动程序?1483. 85 P C 机是怎样控制和驱动设备进行工作的?1513. 86 为什么 PC 机要有标准的串行口和并行口?1533. 87 打印机的控制方式为什么有并行和串行之分?1563

30、. 88 为什么说到串行口时常常要提到 R S-232 接口?1563. 89 串行通信中为什么要用 U A R T ?1573. 90 输入输出接口是怎样寻址的?1593. 91 为什么会产生设备冲突和死机现象?1603. 92 为什么要用鼠标器?1613. 93 常用鼠标器有哪几种?1623. 94 为什么有了点阵字库还要开发矢量字库?1663. 95 文字处理软件怎样编辑文档和程序?1713. 96 电子表格软件是怎样发展起来的?1733. 97 电子表格软件是怎样处理数据存储的?1753. 98 电子表格软件为什么能实现公式自动计算?179计算机与信息科学十万个为什么总目录182软件

31、3. 1 为什么说计算机软件不只是程序? 一 个计 算 机系 统( comput er sys tem) 包 括计 算 机和 各 种 有关设备, 以及存储在计算机各种存储介质中的程序和数据。 按物理 特性区别 计算机 系统的组 成部分, 把那 些以物 理形 式 存在 的计算机 和有关 物理设 备称为 硬件 ( har dwar e) , 而把 不 以 物理 形 式存 在, 只是 一种 逻辑 上 存在 的 程序 ( pr ogr am ) 和 文档称 为软件( s oft war e) 。研制 开发一 个程序系 统是一个 非 常复杂 的过程, 包括大 量的分 析、设 计和实 现工 作, 如 分析

32、 系 统 的需 求, 明 确系 统的 功能 和目 标, 划 分模 块( modul) , 设 计 软 件 结 构, 设 计 算 法 ( algor ith m ) 和 数 据 结 构 ( dat a s tr uctur e) , 编写程序, 测试程序找出并改正程 序中的错误, 以 及对软件作进一步改正或提高软件性能的维护工作等。每项 工作成果都是文档 ( document) 信 息, 包括 程序在 内。在软 件 开发过 程中, 前一阶段 工作产 生的文档 信息是 后阶段 工作 的1依据。与程序一样, 其他文档也是非常重要的, 它们与程序紧 密相关, 如为 了改正程 序的错 误, 要 依赖设

33、计时 产生的 文档。 程序运行环境的改变, 或要提高程序性能, 对已有程序需要维 护修改时, 也离不开程序以及其他文档信息。所以计算机软件 是计算 机可执行 的、能 完成预 定功能的 计算机 程序和 计算 机 不可 执 行的、描 述 程 序的 操 作、使用、开发 等 信息 的 手 册、表 格、图表等文档的总称。在整个计算机系统中, 软件和硬件占 有同样重要的地位, 随着计算机硬件技术的高速发展, 软件已 成为能否充分发挥计算机能力的关键因素。由于程 序是一个 软件项 目的最终 结果, 常 常把程 序及 与 程序有关的控制信息和数据称为软件。如讲到一个计算机系 统中已 配置了某 某软件, 通常

34、是指系统 安装了 某软件 中的 有 关程序 及其控制 信息和 数据等文 件, 并 在计算 机系统 上能 运 行该程序。综上所 述, 程 序是软件 之一, 而软 件除 程序 外, 还 包括 与 程序有关的文档, 所以说计算机软件不只是程序。 ( 夏宽理) 3. 2 为什么要把软件分成系统软件和应用软件?计算机在运行通常是指计算机在执行某个程序, 各种不同 的应用系统在计算机上运行的程序也不同, 但所有应用系统的 程序都要使用计算机资源, 有的用来完成数据输入和输出等任 务, 完成这部分工作的程序是与计算机的特性密切相关 的, 而 且是难度最大的一部分程序。随着计算机功能越来越齐全, 完 成计算

35、机有关管 理功能 的程序也 越来越庞 大和 越来越 复杂。2为扩大计算机系统的功能, 充分利用系统资源, 提高计算机使 用 效 率, 方 便 用 户 使 用 计 算 机 而 设 置 的 软 件 称 为 系 统 软 件 ( syst em s oft war e) 。为解决用户特定问题而开发的软件 称为 应 用 软 件( applicat ion s oft war e) , 例如 服 装设 计 部 门使 用 的 服装计算机辅助设计系统就是一种应用软件。系统软件最重 要的有两类, 一类是负责人与计算机通信的软件, 例如各种程 序设计语言、语言编译系统、数据库管理系统和数据通信软件 等; 另一类负

36、责控制和管理计算机硬件和软件资源、合理组织 计算机系统的活动, 以完成计算机所接受的任务, 特别称这部 分软件为操作系统。简单地说, 系统软件是与计算机硬件直接 联系的软件, 它与计算机的具体应用领域无关, 并为各种应用 软件使用计算机系统的资源提供接口。系统软件是应用软件 的工作 基础, 应用软件 利用系 统软件提 供的功 能和接 口编 写 而成, 在系统软件的支持下运行。操作系 统的主要 目标是 如何更好 地管 理计 算机资 源, 方 便用户使用计算机。程序语言和编译系统的主要目标是研制 开发容 易编写、表达能 力强和 便于产生 高效的 目标程 序的 程 序语言, 以及非常便于使用的编译系

37、统。各种应用系统本身各 自都有非常复杂的应用领域的问题, 有了系统软件, 应用程序 就可在 系统软件 的基础 上开发, 用户开 发其应 用软件 工作 的 难度就 可大大降 低, 不 必另为 管理计算 机和完 成原始 的输 入 输出编写程序。离开系统软件, 几乎不可能编制出功能强大的 应用软 件, 所以, 将软件 分成系 统软件和 应用 软件是 很自 然 的。随着计 算机应用 的日益 广泛, 计算机 软件 也变得 非常 庞 大和复杂, 软件的开发变成一件非常复杂和繁重的工作, 为了3能使用 计算机来 辅助软 件开发, 已研制 了辅助 软件开 发的 各 种工具型软件, 如窗口管理软件、支持软件各开

38、发阶段的各种 工具和开发环境等。由于工具型软件的应用并不局限于某个 应用领域, 又不像上述系统软件那样依附于计算机和非要不 可, 有人称工具型软件为支持软件( s uppor t softwar e) 。( 夏宽理) 3. 3 为什么要研制软件开发环境? 目前计 算机的应 用范围 和领域越 来越 广泛, 大量 的应 用 程序有上万行, 甚至几十万行源程序代码, 开发如此复杂的应 用系统 需要有多 人通力 协作, 大型程序 的组 装、调试、修改 等 工作都需要有计算机辅助才能顺利完成。另外, 与程序一起还 有大量 的文档, 如此众 多的信 息全部都 由人直 接管理 已不 胜 负担, 一定要有计算

39、机参与管理。早期计算机工作者为提高计 算机项 目的开发 效率, 研制了 许多软件 工具, 如 编辑工 具、调 试工具等, 但在具体使用这些独立工具时发现有许多不足, 特 别是使 用一个工 具后, 为使用 另一个工 具必须 从前一 工具 退 出, 然后再进入另一工具, 在这种使用方式中工具之间没有任 何联系。事实上, 软件开发过程的各阶段是紧密联系的, 软件 开发环境就是顺应这种需要而产生的。软件开发环境( soft war e development envir onmen t) 是提 供给软 件开发人 员开发 软件时使 用的, 由集成 在一起 的一 组 软件工具和软件信息库等组成。软件开发环

40、境在一定程度上 支持一种或多种软件开发方法, 如支持传统的软件开发方法、4面向对象的软件开发方法、面向软件过程的软件开发方法等 等。在一个 支持传统 软件开 发方法的 软件 开发 环境中, 它 集 成了各种软件文档的设计和分析工具, 如结构化分析工具、结 构化设计工具、结构化编辑工具、程序调试工具以及各种分析 测试工具等。开发环境将所有工具有机地联系起来, 实现各工 具有统 一的接口 和内部 格式, 前阶段工 具产生 的信息 能被 后 继阶段的工具利用。特别是开发环境中的软件工具提供的统 一的友 好的用户 界面, 非常便 于使用者 从使用 一个工 具转 换 到使用另一个工具。在软件环境中开发项

41、目时, 例如当前正在 编辑一 个源程序, 随时 可以调 用编译程 序, 如程 序有误, 编 译 程序会 自动转入 编辑, 并能将 当前编辑 位置就 停留在 程序 的 出错处, 程序修改后又能立即调用编译程序, 编译正确完成后 又能立 即运行或 调试程 序, 在 调试程序 时能随 时查阅 变量 的 值, 等等。使用软 件开发环 境开发 软件能大 大提 高软 件的生 产率, 所以现在的软件生产商已开始以开发环境形式推出他们的软 件产品。 ( 夏宽理) 3. 4 为什么说开放系统是今后软件技术的研究重点?开 放系 统( open syst em) 就 是允 许不 同系 统 下的 用户 能 相互操作的

42、网络系 统( networ k s ys tem) 。开放系统技术 始于 20 世纪 80 年代至 90 年代之间, 已成为当前计算 机界的一 大 热门话题和技术研究重点。5在计算 机技术发 展的早 期, 厂 家为推 销和 推广应 用计 算 机, 为各种不同的应用领域开发了各种专用系统, 使用这样系 统的用 户会依赖 于计算 机厂家提 供的计算 机和 软件系 统, 为 此, 用户在购买硬件、软件时往往感到困惑。厂商在推出新产 品时, 往往花费很大代价去研制其支持环境。信息社会要求分 散在多 个计算机 网络结 点的用户 能广泛合 作, 共同完 成复 杂 的任务, 用户也迫切希望能共享分散的信息。

43、开放系统的概念由最初的工业标准演变成系统软件和应 用软件的可移植性, 直至现在的互操作性, 即不同的系统能相 互利用对方的资源。标准化、与平台无关和互操作即为开放环 境( open envir anoment) 。简单 地说, 开放系 统就是多 厂商 产 品的集成。开放系统技术旨在给用户们提供一种理想的工作 环境, 在这种环境中, 用户可以方便地进行合作, 动用分散的 资源。在开放系统中, 厂商提供的硬件和软件产品是开放的, 不 保密的。用户编写的软件不依赖于用户所在的结点, 可在系统 的任一结点上运行, 其中的系统软件可以移植使用。开放系统 往往由 互不兼容 的系统 所组成, 能为异 构环境

44、 提供互 操作 要 求。开放系统还允许用户根据不同工作环境的需要动态地重 组系统。开放系 统作为一 种理想 的工作环 境, 在计 算机技 术发 展 的今天有重要的现实意义: 对于厂商、厂家可有效地生产并扩 展其产 品, 能 促进计算 机技术 的发展; 对于 用户, 可在 系统 中 增加结点, 即使与系统中的其他结点是异构的, 也可方便地使 用其 他结 点 的资 源, 用 户也 可 根据 特 殊环 境、不 同 任务 的 需 求, 优化组合不同性能的计算机结点。 ( 夏宽理)6 3. 5 为什么说面向对象软件开发技术是今后软件 发展的主流之一? 20 世 纪 70 年 代 末 80 年 代 初 的 结 构 化 程 序 设 计 ( str uctur ed pr ogr amming) 方 法结 束了以 前软 件 开发 的混 乱 状态, 引入了工程思想和结构化思想, 大型软件的开发和编程 都得到了极大的改善。但是, 随着用户需求功能的增多, 软件 变得越 来越庞大、复杂, 程 序的维护、修改 成为 整个软 件开 发 过程中 非常

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报