跳到主要内容

软件

IGCSE 计算机科学 · 知识点 4

本主题的视频课程 打开视频页面
13:11

硬件与软件

这是一台全新的电脑。所有物理部件都能正常工作——处理器、内存、屏幕、键盘。打开电源,却毫无反应。没有桌面…

英语旁白 · 英中内嵌字幕

4.1

硬件与软件

一个计算机系统由一起工作的两部分构成。

硬件是物理部件(CPU、键盘);软件是程序(应用、OS)
硬件是物理部件;软件是程序
  • 硬件(hardware)是计算机的物理的(physical)部件——你能触摸的部件。例子:CPU、内存、键盘、屏幕和硬盘。
  • 软件(software)是控制计算机并告诉硬件做什么的程序(programs)。

硬件自己不能做任何有用的事。软件需要硬件来运行。两者都需要。

一个计算机主板,带它的芯片、插槽和连接器
主板和附着到它的部件是硬件——你能触摸的物理部件
屏幕上一个桌面操作系统
一个操作系统是软件——告诉硬件做什么的程序
词汇 训练
English 中文 拼音
Hardware/ˈhɑːdweə/ 硬件 yìng jiàn
physical/ˈfɪzɪkl/ 物理的 wù lǐ de
Software/ˈsɒftweə/ 软件 ruǎn jiàn
programs/ˈprəʊɡræmz/ 程序 chéng xù
4.1

软件类型与中断

教学大纲
考生应能够: 注释与指导
1. 描述系统软件与应用软件的区别,并分别举例 • 系统软件提供计算机运行所需的服务,包括操作系统和工具软件
• 应用软件提供用户所需的服务
2. 描述操作系统的作用及基本功能 • 包括:
– 文件管理
– 处理中断
– 提供接口
– 外设与驱动程序管理
– 内存管理
– 多任务管理
– 为运行应用程序提供平台
– 提供系统安全
– 用户账户管理
3. 理解硬件、固件与操作系统如何协同运行应用软件 • 应用软件在操作系统上运行
• 操作系统在固件上运行
• 引导加载程序(固件)在硬件上运行
4. 描述中断的作用及工作原理 • 包括:
– 中断是如何产生的
– 如何通过中断服务程序处理中断
– 中断产生后的结果
• 软件中断包括除以零错误以及两个进程试图访问同一内存位置的情况
• 硬件中断包括按下键盘按键和移动鼠标

来源:Cambridge International 教学大纲

软件分成两种类型。

一棵树,把软件分成系统软件(操作系统、实用程序、驱动、编译器)和应用软件(文字处理器、电子表格、数据库、浏览器)
软件划分成系统软件(运行计算机)和应用软件(让用户做一个任务)

系统软件

系统软件(system software)控制计算机本身并给其他程序一个运行的基础。例子:

  • 操作系统(operating system,见下面);
  • 编译器(compiler)和链接器(linker,把程序变成计算机能运行的一个形式的工具);
  • 设备驱动程序(device driver)——让操作系统控制一件硬件的软件;
  • 实用程序(utility software)——照料计算机的小工具(例如防病毒、备份、磁盘清理)。

操作系统之下是固件(firmware)——永久存储在 ROM 或闪存上、计算机一开机就运行的软件。BIOS 和引导程序(bootloader)就是固件:它们测试硬件然后加载操作系统。所以各层堆叠成硬件 → 固件 → 操作系统 → 应用软件,每一层都在它下面的层上运行。

应用软件

应用软件(application software)让用户做一个有用的任务。例子:

  • 文字处理(word processing)软件(写文档);
  • 电子表格(spreadsheet)软件(在一个网格中处理数字);
  • 数据库管理系统(database management system,存储和搜索数据);
  • 网页浏览器(web browser,查看网页)。
系统软件 应用软件
工作 运行和管理计算机 帮助用户做一个任务
被谁使用 计算机(在后台) 用户(直接)
例子 操作系统、驱动、实用程序 文字处理器、浏览器、游戏
词汇 训练
English 中文 拼音
System software/ˈsɪstəm ˈsɒftweə/ 系统软件 xì tǒng ruǎn jiàn
operating system/ˈɒpəreɪtɪŋ ˈsɪstəm/ 操作系统 cāo zuò xì tǒng
compiler/kəmˈpaɪlə/ 编译器 biān yì qì
linker/ˈlɪŋkə/ 链接器 liàn jiē qì
device driver/dɪˈvaɪs ˈdraɪvə/ 设备驱动程序 shè bèi qū dòng chéng xù
utility software/juːˈtɪlɪti ˈsɒftweə/ 实用程序 shí yòng chéng xù
firmware/ˈfɜːmweə/ 固件 gù jiàn
bootloader/ˈbuːtləʊdə/ 引导程序 yǐn dǎo chéng xù
Application software/ˌæplɪˈkeɪʃn ˈsɒftweə/ 应用软件 yìng yòng ruǎn jiàn
word processing/wɜːd ˈprəʊsesɪŋ/ 文字处理 wén zì chǔ lǐ
spreadsheet/ˈspredʃiːt/ 电子表格 diàn zǐ biǎo gé
database management system/ˈdeɪtəbeɪs ˈmænɪdʒmənt ˈsɪstəm/ 数据库管理系统 shù jù kù guǎn lǐ xì tǒng
web browser/web ˈbraʊzə/ 网页浏览器 wǎng yè liú lǎn qì
providing a user interface/prəˈvaɪdɪŋ ə ˈjuːzə ˈɪntəfeɪs/ 用户界面 yòng hù jiè miàn
managing peripherals/ˈmænɪdʒɪŋ pəˈrɪfərəlz/ 外围设备 wài wéi shè bèi
managing multitasking/ˈmænɪdʒɪŋ ˈmʌltitæskɪŋ/ 多任务处理 duō rèn wù chǔ lǐ
providing a platform/prəˈvaɪdɪŋ ə ˈplætfɔːm/ 平台 píng tái
4.1

操作系统

一个操作系统(OS)是主要的系统软件。它控制整个计算机并让硬件、应用软件和用户一起工作。没有一个 OS,计算机很难使用。

四个堆叠的层——用户在顶部,然后应用软件,然后操作系统,然后底部硬件
操作系统坐在硬件和应用软件及用户之间,让它们一起工作

OS 有许多作用:

  • 管理文件——保存、打开、命名、移动和删除文件;
  • 处理中断(见下面);
  • 提供一个用户界面(user interface),所以用户能控制计算机;
  • 管理内存——决定 RAM 中保留什么、在哪里;
  • 管理外围设备(peripherals)及它们的驱动——控制像打印机的设备;
  • 管理多任务处理(multitasking)——让几个程序一次运行;
  • 提供一个平台(platform)用于运行应用软件;
  • 管理安全——用户账户、密码和访问权限。
词汇 训练
English 中文 拼音
user interface/ˈjuːzə ˈɪntəfeɪs/ 用户界面 yòng hù jiè miàn
peripherals/pəˈrɪfərəlz/ 外围设备 wài wéi shè bèi
multitasking/ˈmʌltitæskɪŋ/ 多任务处理 duō rèn wù chǔ lǐ
platform/ˈplætfɔːm/ 平台 píng tái
4.1

中断

一个中断(interrupt)是发送给处理器(processor)的一个信号,告诉它某样东西现在需要注意。

一个中断能来自三个来源:

  • 硬件——例如一个键被按下,或一台打印机用完纸;
  • 软件——例如一个程序试图除以零;
  • 用户——例如用户按一个"取消"键。

当一个中断到达时,处理器停止它正在做的事、保存它的位置,并服务(处理)中断。当那完成时,它回到它之前正在做的事。这让计算机对重要的事件快速反应。

一个循环:主程序运行,然后在一个中断上 CPU 保存它的状态、运行中断服务例程、恢复状态并恢复运行
在一个中断上 CPU 保存它的位置、运行中断服务例程,然后恢复它的位置并继续
探索

CPU 如何处理一个中断

逐步看一个中断。CPU 暂停它正在做的事,处理紧急的事件,然后正好从它停下的地方继续——这就是一个处理器如何同时兼顾键盘、打印机和计时器。

词汇 训练
English 中文 拼音
interrupt/ˈɪntərʌpt/ 中断 zhōng duàn
processor/ˈprəʊsesə/ 处理器 chǔ lǐ qì
4.2

编程语言类型、翻译程序与集成开发环境(IDE)

教学大纲
考生应能: 注释与指导
1. 解释什么是高级语言和低级语言,并包括各自的优缺点 • 优缺点包括:– 代码的可读性和易写性,例如低级语言难以阅读 – 代码调试的便利性 – 机器独立性 – 对硬件的直接操作
2. 理解汇编语言是一种使用助记符的低级语言形式,且需要汇编器将汇编语言程序翻译成机器代码
3. 描述编译器和解释器的工作原理,包括它们如何将高级语言进行翻译以及如何报告错误 • 编译器在运行前一次性翻译整个代码,生成可执行文件 • 解释器逐行翻译并执行代码 • 如果检测到错误,编译器会对整个代码提供错误报告 • 解释器在发现错误时会停止执行
4. 解释编译器和解释器的优缺点 • 包括理解解释器主要用于程序开发阶段,而编译器用于翻译最终程序
5. 解释IDE在编写程序代码中的作用以及IDE提供的常见功能 • 包括:– 代码编辑器 – 运行时环境 – 翻译器 – 错误诊断 – 自动补全 – 自动修正 – 美化输出(prettyprint)

来源:Cambridge International 教学大纲

所有计算机用中央处理器(central processing unit,CPU)处理数据。要使 CPU 做工作,人们用一门编程语言(programming language)写程序。有两种。

高级语言

一门高级语言(high-level language)用看起来有点像英语的词书写(例如 Python)。它是:

  • 对人们容易读、写和修复;
  • 独立于计算机——同一个程序能在不同类型的计算机上运行。

低级语言

一门低级语言(low-level language)接近硬件实际使用的。它包括:

  • 机器码(machine code)——用二进制(0 和 1)书写的指令,CPU 直接运行它;
  • 汇编语言(assembly language)——用短的词代码(助记符)而不是二进制书写的机器码。

一门低级语言与特定的(specific)类型的 CPU 相关,所以为一个 CPU 写的程序可能不在另一个上运行。它在程序员需要对硬件的完全控制或非常快、小的代码时使用。

三个堆叠的层:高级语言在顶部,然后汇编,然后底部机器码
高级语言接近人类语言并在任何计算机上运行;低级语言(汇编和机器码)接近硬件并绑定到一种类型的 CPU
探索

计算概念实验

根据它们所演示的计算概念对具体示例进行分类。

词汇 训练
English 中文 拼音
central processing unit/ˈsentrəl ˈprəʊsesɪŋ ˈjuːnɪt/ 中央处理器 zhōng yāng chǔ lǐ qì
programming language/ˈprəʊɡræmɪŋ ˈlæŋɡwɪdʒ/ 编程语言 biān chéng yǔ yán
high-level language/haɪ ˈlevl ˈlæŋɡwɪdʒ/ 高级语言 gāo jí yǔ yán
low-level language/ləʊ ˈlevl ˈlæŋɡwɪdʒ/ 低级语言 dī jí yǔ yán
machine code/məˈʃiːn kəʊd/ 机器码 jī qì mǎ
assembly language/əˈsemblɪ ˈlæŋɡwɪdʒ/ 汇编语言 huì biān yǔ yán
specific/spəˈsɪfɪk/ 特定的 tè dìng de
4.2

翻译程序

CPU 只能运行机器码。一个高级程序必须先被变成机器码。做这个的软件是一个翻译程序(translator)。有三种类型:编译器和解释器(用于高级代码),以及汇编器(用于低级代码)。

编译器

一个编译器在程序被运行之前把整个程序翻译成机器码。翻译之后,机器码能被运行许多次而不再翻译。

  • 翻译一次性发生,完整地;
  • 它为整个源提供错误报告,包括其检测到的翻译错误;
  • 完成的程序运行快,而且不需要编译器来运行。

解释器

一个解释器(interpreter)一次一行地翻译并运行程序。

  • 它在它找到的第一个错误停止,这在测试时有帮助;
  • 程序运行更慢,因为它每次运行都被翻译;
  • 每次程序运行时解释器都必须在场。

当你想分享一个快速的、完成的程序时用一个编译器。当你在写和测试一个程序、想容易地找到错误时用一个解释器。

范例对比 — 执行何时发生?

尝试练习。 使用大纲中的全程序编译器和逐行解释器模型。考虑以下简短源代码描述;它并非特定语言中的程序。

行号 源代码描述
1 有效指令显示 Start
2 不完整的加法运算在加号后缺少一个值
3 有效指令显示 Done

第 2 行包含一个翻译错误。在报告该错误之前,每个翻译器会显示什么?第 3 行是否会执行?请解释翻译和执行的顺序。

编译器跟踪。 整个源程序在运行前被全部翻译。第 2 行的错误导致编译失败。系统会对整个源程序提供一份错误报告。新程序不会被执行,因此既不会显示 Start 也不会显示 Done。

解释器跟踪。 第 1 行被翻译并执行,显示 Start。解释器遇到第 2 行的错误后停止执行。由于未到达第 3 行,因此不会显示 Done。

这些跟踪示例展示了课程模型;实际的编程语言工具可以结合多种方法。翻译器仅报告它能检测到的错误,而非程序逻辑中的每一个错误。

转移 — 开发与发布。 团队希望在测试短代码段时定位错误。之后,客户必须反复运行最终程序,而无需安装其翻译器。请为每个阶段选择合适的翻译器并说明理由。在集成开发环境 (IDE) 中,分别指出一种用于输入源代码的工具和一种用于调查已报告错误的工具。最后,判断成功的翻译是否证明计算出的总和是正确的。

范例解答。 在课程模型中,解释器适合开发阶段:逐行翻译和执行会在遇到错误时停止,帮助团队定位问题。编译器适合发布阶段:成功编译会生成可执行文件,可在没有编译器的情况下反复运行。每次运行都不需要对未更改的源程序重新翻译。代码编辑器 用于输入和修改源代码;错误诊断 有助于定位和解释已报告的错误;运行时环境 供团队测试程序。即使翻译成功,错误的逻辑仍可能导致结果不正确。应使用已知输入进行测试,比较实际结果与预期结果,并检查计算过程。

汇编器

一个汇编器(assembler)把一个低级汇编语言程序(用像 LDA、ADD 这样的助记符写成)翻译成机器码。每个助记符变成一条机器指令——一个直接的一对一翻译,不像处理高级代码的编译器或解释器。

编译器把整个程序一次翻译成运行许多次的机器码,对一个解释器一次一行地翻译并运行
一个编译器把整个程序一次翻译成机器码;一个解释器一次一行地翻译并运行

例题。 一个团队正在编写程序。开发期间他们希望快速找到并修复错误;发布时他们希望客户运行得快,并且看不到源代码。每个阶段各适合哪种翻译器?开发时用解释器:它一次翻译并运行一行,遇到第一个错误就停下,所以错误很容易定位。发布时用编译器:它把整个程序一次性翻译成机器码,之后无需翻译器就能快速运行,而且客户拿到的只是可执行文件,不是源代码。两者不是对手 - 要说出阶段并给出理由,因为只写"编译器更快"是得不到分的。

词汇 训练
English 中文 拼音
translator/trænˈsleɪtə/ 翻译程序 fān yì chéng xù
interpreter/ɪnˈtɜːprɪtə/ 解释器 jiě shì qì
assembler/əˈsemblə/ 汇编器 huì biān qì
integrated development environment/ˈɪntɪɡreɪtɪd dɪˈveləpmənt enˈvaɪrənmənt/ 集成开发环境 jí chéng kāi fā huán jìng
code editor/kəʊd ˈedɪtə/ 代码编辑器 dài mǎ biān jí qì
run time environment/rʌn taɪm enˈvaɪrənmənt/ 运行时环境 yùn xíng shí huán jìng
error diagnostics/ˈerə ˌdaɪəɡˈnɒstɪks/ 错误诊断 cuò wù zhěn duàn
4.2

集成开发环境(IDE)

集成开发环境 (IDE) 是一种帮助你编写程序的软件。它将许多有用的工具整合在一起:

  • 代码编辑器 — 用于输入你的程序;
  • 运行时环境 — 用于运行程序以进行测试;
  • 一个翻译程序(translator)——一个编译器或解释器把你的代码变成机器码;
  • 错误诊断 — 帮助你查找和理解错误的提示信息;
  • 自动补全(auto-completion)和自动纠错(auto-correction)——IDE 在你键入时完成或修复代码;
  • 美化打印(prettyprinting)——用颜色和缩进整齐地布置代码,使它容易阅读。
编辑器中的源代码:IDE在一个位置结合编辑器、调试器和运行工具
编辑器中的源代码:IDE在一个位置结合编辑器、调试器和运行工具
词汇 训练
English 中文 拼音
auto-completion/ˈɔːtəʊ kəmˈpliːʃn/ 自动补全 zì dòng bǔ quán
auto-correction/ˈɔːtəʊ kəˈrekʃn/ 自动纠错 zì dòng jiū cuò
prettyprinting/ˈpretɪprɪntɪŋ/ 美化打印 měi huà dǎ yìn
4.2

考试技巧

  • 硬件是物理部件;软件是程序。系统软件运行计算机(OS、驱动、实用程序);应用软件为用户做一个任务。
  • 一个编译器把整个程序一次翻译(完成的程序运行快,而所有错误在结束时报告);一个解释器逐行翻译(它在第一个错误停止、运行更慢,而且每次都需要)。
  • 高级语言接近英语并在任何计算机上运行;低级语言(汇编、机器码)绑定到一种类型的 CPU。
  • 一个中断是使 CPU 停止、保存它的位置、服务事件,然后在它离开的地方继续的一个信号。
  • 学习操作系统的作用:管理文件、内存、外围设备、多任务处理、安全和用户界面。

该知识点的互动课程

逐步完成,配合即时检查练习。

历年真题

更多 IGCSE 计算机科学 知识点

登录或创建账户

IGCSE, A-Level & AP