CAIE AS and A Level CS revision - Unit 5 (2nd)

来自A level and IG Revision Wiki
跳到导航 跳到搜索

【点此返回复习要点目录】


如遇到公式加载异常,请刷新页面!

Unit 5 System Software 系统软件

5.1 Operating System 操作系统

  • 大纲要求

CAIE-CS2nd-5.1要求.png


5.1.1 Explain why a computer system requires an Operating System (OS) 解释为什么计算机系统需要操作系统(OS)

  • Operating system:操作系统,即一种系统软件程序,用来实现一系列计算机硬件与软件的交互操作。
    • 如果没有操作系统,则计算机硬件的操作将变得异常繁琐。
    • 操作系统提供了User-system interface用户-系统界面,尤其是现在的系统大多数都是graphical user interface(GUI),使得使用更加直观便捷。
    • 操作系统提供了program-hardware interface系统-硬件界面,使得程序员即使不清楚硬件的处理细节也能够编写程序。操作系统会确保硬件执行软件希望其执行的功能。


5.1.2 Explain the key management tasks carried out by the Operating System 解释操作系统执行的关键管理任务

Including: memory management, file management, security management, hardware management (input / output / peripherals), process management 包括:内存管理、文件管理、安全管理、硬件管理(输入/输出/外设)、进程管理

  • memory management:内存管理。
    • 操作系统需要确保多个程序使用的内存位置不相同。
    • 通过内存组织以实现有限内存使用的最优化。
    • 操作系统需要决定哪些进程需要时刻保持在主内存中,以及它们在内存中的存储位置。
  • file management:文件管理。
    • 操作系统主要用于提供文件命名示例、目标文件夹结构及访问控制机制。
  • security management:安全管理。
    • 操作系统需要在数据丢失时进行recovery恢复、防止intrusion入侵并保证data privacy数据隐私。
  • hardware management (input / output / peripherals):硬件管理,又称device management设备管理。
    • 操作系统支持为各个设备安装驱动程序,并管理其运行进程。
  • process management:进程管理,又称resource management资源管理。
    • 操作系统旨在实现计算机系统的最佳运行效率。其对计算机中运行的多个进程进行调度以实现运行最优化,当两个或多个进程需要同一资源时,解决发生的冲突。
  • Error detection and recovery:错误诊断与恢复。
    • 发生运行错误时,操作系统能够及时中断程序并进行诊断,并尽量在不丢失数据的情况下安全关闭错误程序或系统。


5.1.3 Show understanding of the need for typical utility software provided with an Operating System 了解操作系统随附的典型实用软件的需求

Including: disk formatter, virus checker, defragmentation software, disk contents analysis/disk repair software, file compression, back-up software 包括:磁盘格式化程序、病毒检查器、碎片整理软件、磁盘内容分析/磁盘修复软件、文件压缩、备份软件

  • disk formatter:磁盘格式化程序,用于删除磁盘上原有文件、设置文件系统以及partition the disk对磁盘进行分区等。
  • virus checker:病毒检查器,即“杀毒软件”,用于寻找计算机病毒,以保证数据安全。杀毒软件的病毒库需要及时更新,并定期对计算机内的文件进行扫描。
  • defragmentation software:碎片整理软件,用于将分散在不同扇区保存的文件数据整理成使用一系列连续的扇区保存的程序。适当使用碎片整理,能够提升系统读取文件数据的速度。
  • disk contents analysis/disk repair software:磁盘内容分析/磁盘修复软件,用于分析磁盘情况,如果存在错误则尝试修复。常见的errors错误包括:
    • Physical defect物理损坏:在制造或误操作中出现的损坏,比如划伤硬盘扇面等,由于物理损坏导致的bad sectors坏扇区,无法再写入数据且无法通过格式化修复,应考虑更换磁盘。
    • System errors系统错误:由于突然断电、程序错误等导致一些数据出现损坏,无法读取。系统会尝试修复一些受损的数据,但不保证能完全恢复,如果无法恢复,只能删除该数据(如格式化)。由于系统错误导致的bad sectors,系统会为其进行标记,使得文件系统不会再使用这些区域进行数据储存。
  • file compression:文件压缩,可以减少数据占用的空间,便于传输数据和提高空间使用效率。
  • back-up software:备份软件,用于制定定期备份计划和在数据发生变化时创建备份文件,避免数据的丢失,也便于数据恢复。


5.1.4 Show understanding of program libraries 展示对程序库的理解

Including: 包括:
· software under development is often constructed using existing code from program libraries 开发中的软件通常是使用程序库中的现有代码构建的
· the benefits to the developer of software constructed using library files, including Dynamic Link Library (DLL) files 使用库文件(包括动态链接库 (DLL) 文件)构建的软件对开发人员的好处

  • program library:程序库,其中包含着大量已经被多次验证过的用于执行特定任务的子程序。每次要执行特定任务时,就可以从程序库中调用相应的子程序段进行使用(通过link链接将代码调入内存),这会节约程序员大量思考与调试的时间。各程序的内置函数就是例子。


  • Dynamic Link Library (DLL):动态链接库。DLL储存有执行指定任务的代码,当程序需要调用该部分代码后,直接引用该文件即可运行。
    • 使用DLL的好处:
      • 节约空间。需要调用该代码内容的所有程序无需每个都写一遍相同的代码,只需要引用DLL文件即可。
      • 便于更新。只需打开要更新的代码所在的DLL文件进行修改即可。引用了该段代码的所有程序能够同时获得更新后的代码,无需逐一修改。
    • 使用DLL的问题:
      • 波及面广。一旦DLL被篡改或存在bug代码错误,引用该代码的所有程序都可能得到错误的结果。



5.2 Language Translators 语言翻译

  • 大纲要求

CAIE-CS2nd-5.2要求.png


5.2.1 Show understanding of the need for: 表现出对以下需求的理解:

assembler software for the translation of an assembly language program 用于翻译汇编语言程序的汇编软件
a compiler for the translation of a high-level language program 用于翻译高级语言程序的编译器
an interpreter for translation and execution of a high-level language program 用于翻译和执行高级语言程序的解释器

  • assembler software for the translation of an assembly language program 用于翻译汇编语言程序的汇编软件
    • 【参考4.2.2】。


  • Compiler:编译器。用于为程序生成object code目标代码的程序。
    • 编译器的运行机制:
      • 使用编译器导入source code file源代码文件(无需数据)。
      • 运行编译器进行编译,一行一行读取源代码,如果有errors错误则记录。
      • 重复上述过程,直到全部语句读取分析完毕。
      • 全部语句读取分析完毕后,如果没有错误则输出object code目标代码,如果有错误则输出错误列表(此时不生成目标代码)。


  • interpreter:解释器。用于输出运行结果的程序。
    • 解释器的运行机制:
      • 使用解释器导入source code file源代码文件和代码所需要的data数据。
      • 运行解释器进行翻译,一行一行读取源代码,如果有errors则中断运行,如果没有错误则将源代码转为intermediate code中间代码。
      • 解释器使用中间代码去运行相应的操作,获得相关运行结果。
      • 重复上述过程,直到全部语句读取分析完毕。


5.2.2 Explain the benefits and drawbacks of using either a compiler or interpreter and justify the use of each 解释使用编译器或解释器的优点和缺点,并证明使用它们的合理性

  • Compiler编译器或interpreter解释器对programmers·程序员的好处:
    • Interpreter解释器可以在运行过程中随时发现程序中的问题,并及时修改,无需等待全部代码编译完成。
    • Compiler解释器可以将executable files可执行文件发给用户,用户无需源代码即可运行程序。
  • Compiler编译器或interpreter解释器对程序员的问题:
    • Interpreter解释器在一次运行时可能不会遍历全部代码,在没有使用到的代码中如果存在错误,那么这些错误将无法及时发现。
    • Interpreted program待解释程序在发送给用户时,需要连源代码一并发给用户。


  • Compiler编译器或interpreter解释器对users用户的好处:
    • Interpreted program待解释程序的安全性强,难以包含病毒。
    • Complied program编译好的程序运行速度更快。
    • Complied program编译好的程序只需要运行object code目标代码即可。
  • Compiler编译器或interpreter解释器对users用户的问题:
    • Interpreted program待解释程序运行时,其源代码和解释器都需要能够正常读取。
    • Complied object code安全性差,其中可能被植入病毒。


  • 对Compiler编译器和interpreter解释器的选择:
    • 无论是编译器还是解释器,如果是专门为某处理器开发的,则只能专用。
    • 如果程序正在开发,可能存在一些错误,则采用interpreter解释器比较合适。解释器可以随时发现错误并纠正,加速程序调试。
    • 如果程序开发接近尾声,几乎没有错误,则采用compiler编译器比较合适。编译器运行速度快,可以生成executable files可执行文件,便于分发给用户进行测试。


5.2.3 Show awareness that high-level language programs may be partially compiled and partially interpreted, such as Java 意识到高级语言程序可能部分编译和部分解释,例如 Java

  • 部分高级语言(如Java)可以同时实现编译与解释。
    • Java语言使用时,需要安装Java Virtual Machine虚拟机。写完Java代码后,先进行compile编译,得到Java Byte Code字节码。然后通过interpreter解释器运行该字节码。该字节码可以在任何拥有Java虚拟机的计算机上运行。


5.2.4 Describe features found in a typical Integrated Development Environment (IDE) 描述典型集成开发环境 (IDE) 中的特性

Including: 包括:
· for coding, including context-sensitive prompts 用于编码,包括上下文相关提示
· for initial error detection, including dynamic syntax checks 用于初始错误检测,包括动态语法检查
· for presentation, including prettyprint, expand and collapse code blocks 用于演示,包括漂亮打印、展开和折叠代码块
· for debugging, including single stepping, breakpoints, i.e. variables, expressions, report window 用于调试,包括单步执行、断点,即变量、表达式、报告窗口

  • Integrated Development Environment (IDE) :集成开发环境 ,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。其提供的常见功能包括:
    • Prettyprinting:整齐打印。IDE能够使用不同颜色自动标记关键词、函数等,对缩进等格式也能够自动调整,使其排版清晰。
    • context-sensitive prompts:上下文相关提示。IDE允许在键入部分字母时,给出和输入部分相关的函数、关键词等的提示列表,并给出相关功能介绍。
    • dynamic syntax checks:动态语法检查。IDE会不断检查语句的语法,如果出现错误会做出标记,提醒程序员。
    • expand and collapse code blocks:展开与折叠代码块。IDE允许展开和折叠代码块(用于完成某一特定功能的全部代码),减少上下滚动翻页,提高阅读速度。
    • debugging:调试。
      • IDE允许single stepping单步执行,一条一条运行程序以检查错误。
      • IDE允许插入breakpoints断点,程序执行到断点处即停止运行。
      • IDE允许观察指定的variable值、expression表达式的结果,并将其展示在report window报告窗口中。