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

- 硬件(hardware)是计算机的物理的(physical)部件——你能触摸的部件。例子:CPU、内存、键盘、屏幕和硬盘。
- 软件(software)是控制计算机并告诉硬件做什么的程序(programs)。
硬件自己不能做任何有用的事。软件需要硬件来运行。两者都需要。


IGCSE 计算机科学 · 知识点 4
13:11
硬件与软件
这是一台全新的电脑。所有物理部件都能正常工作——处理器、内存、屏幕、键盘。打开电源,却毫无反应。没有桌面…
英语旁白 · 英中内嵌字幕
一个计算机系统由一起工作的两部分构成。

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


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

系统软件(system software)控制计算机本身并给其他程序一个运行的基础。例子:
操作系统之下是固件(firmware)——永久存储在 ROM 或闪存上、计算机一开机就运行的软件。BIOS 和引导程序(bootloader)就是固件:它们测试硬件然后加载操作系统。所以各层堆叠成硬件 → 固件 → 操作系统 → 应用软件,每一层都在它下面的层上运行。
应用软件(application software)让用户做一个有用的任务。例子:
| 系统软件 | 应用软件 | |
|---|---|---|
| 工作 | 运行和管理计算机 | 帮助用户做一个任务 |
| 被谁使用 | 计算机(在后台) | 用户(直接) |
| 例子 | 操作系统、驱动、实用程序 | 文字处理器、浏览器、游戏 |
| 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 |
一个操作系统(OS)是主要的系统软件。它控制整个计算机并让硬件、应用软件和用户一起工作。没有一个 OS,计算机很难使用。

OS 有许多作用:
| 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 |
一个中断(interrupt)是发送给处理器(processor)的一个信号,告诉它某样东西现在需要注意。
一个中断能来自三个来源:
当一个中断到达时,处理器停止它正在做的事、保存它的位置,并服务(处理)中断。当那完成时,它回到它之前正在做的事。这让计算机对重要的事件快速反应。

逐步看一个中断。CPU 暂停它正在做的事,处理紧急的事件,然后正好从它停下的地方继续——这就是一个处理器如何同时兼顾键盘、打印机和计时器。
| English | 中文 | 拼音 |
|---|---|---|
| interrupt/ˈɪntərʌpt/ | 中断 | zhōng duàn |
| processor/ˈprəʊsesə/ | 处理器 | chǔ lǐ qì |
| 考生应能: | 注释与指导 |
|---|---|
| 1. 解释什么是高级语言和低级语言,并包括各自的优缺点 | • 优缺点包括:– 代码的可读性和易写性,例如低级语言难以阅读 – 代码调试的便利性 – 机器独立性 – 对硬件的直接操作 |
| 2. 理解汇编语言是一种使用助记符的低级语言形式,且需要汇编器将汇编语言程序翻译成机器代码 | |
| 3. 描述编译器和解释器的工作原理,包括它们如何将高级语言进行翻译以及如何报告错误 | • 编译器在运行前一次性翻译整个代码,生成可执行文件 • 解释器逐行翻译并执行代码 • 如果检测到错误,编译器会对整个代码提供错误报告 • 解释器在发现错误时会停止执行 |
| 4. 解释编译器和解释器的优缺点 | • 包括理解解释器主要用于程序开发阶段,而编译器用于翻译最终程序 |
| 5. 解释IDE在编写程序代码中的作用以及IDE提供的常见功能 | • 包括:– 代码编辑器 – 运行时环境 – 翻译器 – 错误诊断 – 自动补全 – 自动修正 – 美化输出(prettyprint) |
来源:Cambridge International 教学大纲
所有计算机用中央处理器(central processing unit,CPU)处理数据。要使 CPU 做工作,人们用一门编程语言(programming language)写程序。有两种。
一门高级语言(high-level language)用看起来有点像英语的词书写(例如 Python)。它是:
一门低级语言(low-level language)接近硬件实际使用的。它包括:
一门低级语言与特定的(specific)类型的 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 |
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 |
集成开发环境 (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 |
逐步完成,配合即时检查练习。
正在加载学科…