本模块讲计算机系统的软件部分:操作系统(operating system)做什么,人写的程序如何变成处理器能运行的指令,处理器如何应对突发事件,实用程序有什么用,以及为什么有些计算机被做进机器里面。它属于 Cambridge IGCSE Computer Science 0478 的软件与系统部分。每条学习目标的确切措辞,请在 Cambridge 官网查看你考试年份的最新大纲。
这里的大多数题目要你说出、解释或比较。分数给的是与情境吻合的精确陈述,而不是冗长的泛泛之谈。
开始之前需要知道什么?
你需要熟悉处理器、主存储器和外存的概念,可参考硬件与处理。你还需要知道程序是一串指令,而处理器只能运行机器码(machine code)形式的指令。
本模块不需要编程基础。其中两课会读一小段伪代码,如果想亲眼看到结果,可以在安全的 Python 推理沙盒里运行对应的代码。
一个导入例子:一边听音乐一边保存文件
一位学生在文字处理软件里写文章,同时听音乐,然后按下保存。这一刻已经用到四类软件与系统的概念。
文字处理软件和音乐播放器是应用软件:各自完成用户想做的事。操作系统在两者之间分配处理器和内存(多任务),显示窗口(用户界面),并把文件写入磁盘(文件管理)。如果学生插入 USB 盘,硬件会通过**中断(interrupt)**通知处理器,操作系统再载入正确的驱动程序(driver)。
之后,备份工具这类实用程序可能把文章复制到另一个硬盘。每个程序的代码在运行前,都由编译器或解释器翻译成了机器码。
各课应该按什么顺序学?
- 区分操作系统与应用软件的角色:基础概念,并为后面每个术语建立归类习惯。
- 比较解释器与编译器的行为:程序代码如何变成可运行的形式,以及报错方式为何不同。
- 用情境解释中断:处理器如何应对事件而不丢失当前进度。
- 辨认实用程序的功能:不属于核心操作系统、也不是一般应用软件的维护工具。
- 讨论嵌入式系统及其限制:把前面的概念综合起来的设计讨论。
之后做软件与系统练习。有追踪表的两课可以配合受限伪代码追踪训练器使用。
哪些陷阱最容易丢分?
- 功能说得含糊。“操作系统管理计算机”得不到分。“操作系统为每个运行中的程序分配内存”才有分。
- **把翻译器说反。**编译器在运行前翻译整个程序。解释器一次翻译并运行一条语句。
- **把中断当成暂停键。**中断不会让程序永久停止。处理器会先完成当前指令,保存状态,运行一段例程,然后继续。
- **实用程序与应用软件混淆。**实用程序维护或保护系统。应用软件服务于用户自己的任务。
- **只列举不讨论。**谈嵌入式系统时,要写出限制,并和题目中的设备联系起来。
怎样使用练习?
先学完各课,再在纸上不看笔记做练习。请写完整的句子,因为考试奖励的正是这种写法。做完后,把每个错题和原因记进错题记录与重测队列,免得同样的失误一周后又出现。
如果你想让老师看看你怎么写这些答案,我们的在线一对一计算机科学补习就从你自己写的答案开始。更完整的路线在计算机科学学习指南。