← 返回资讯屏轩教育 · 行业资讯

Software | 软件

2026-08-03 04:49 · 本文部分内容由AI辅助创作

📚 Software | 软件

Software is the invisible set of instructions that brings a computer to life. Without software, even the most powerful hardware would be nothing more than an inert collection of circuits and metal. Whether you are browsing the web, editing a document, or playing a video game, it is software that interprets your commands and transforms them into meaningful actions. In the Cambridge IGCSE curriculum, understanding software is fundamental to grasping how computer systems function, from low-level machine code to high-level applications that shape our digital world.

软件是赋予计算机生命的一系列看不见的指令。如果没有软件,即便是最强大的硬件也只不过是一堆没有生气的电路和金属。无论是浏览网页、编辑文档还是玩电子游戏,都是软件在解读你的命令,并将其转化为有意义的操作。在剑桥 IGCSE 课程中,理解软件是掌握计算机系统如何运作的基础,从底层的机器代码到塑造我们数字世界的高级应用程序,都离不开对软件的认识。

1. What Is Software? | 什么是软件?

Software refers to the programs, data, and related documentation that control the operation of a computer system. It is a sequence of instructions written in a programming language that tells the hardware what to do. Software is intangible — you cannot touch it, yet it is essential for performing any task on a digital device. Every application, game, or operating system is a form of software, and it is typically stored on a hard drive, solid-state drive, or in the cloud until loaded into memory for execution.

软件是指控制计算机系统运行的程序、数据和相关文档。它是一系列用编程语言编写的指令,告诉硬件该做什么。软件是无形的——你摸不到它,但要在数字设备上执行任何任务都离不开它。每个应用程序、游戏或操作系统都是软件的一种形式,通常存储在硬盘、固态硬盘或云端,直到被加载到内存中执行。

There are two major categories of software: system software and application software. System software manages the hardware and provides a platform for running application software. The most critical piece of system software is the operating system. In contrast, application software is designed to help users perform specific tasks, such as word processing, photo editing, or database management. Without system software, the hardware has no direction; without application software, the user cannot complete productive work.

软件有两大类:系统软件和应用软件。系统软件管理硬件,并为运行应用软件提供平台。最关键的系統软件是操作系统。相反,应用软件旨在帮助用户执行特定任务,例如文字处理、照片编辑或数据库管理。没有系统软件,硬件就没有方向;没有应用软件,用户就无法完成有成效的工作。


2. System Software vs Application Software | 系统软件与应用软件

System software includes programs that control and maintain the operations of the computer and its peripheral devices. Examples are operating systems, utility programs, device drivers, and language translators. This software runs in the background, often without direct user interaction, ensuring that hardware components coordinate effectively. System software is usually written in low-level languages to communicate efficiently with the processor.

系统软件包括控制并维护计算机及其外设运行的程序。例子有操作系统、实用程序、设备驱动程序和语言翻译器。这类软件通常在后台运行,不直接与用户交互,确保硬件组件有效协调。系统软件通常用低级语言编写,以便高效地与处理器通信。

Application software, on the other hand, is what most people think of when they hear the word "software". It enables users to carry out specific activities. Application software can be general-purpose, like a spreadsheet or web browser, or specialist, such as a weather forecasting simulation or a stock control system. Unlike system software, applications are often created using high-level programming languages and rely heavily on the operating system to function.

另一方面,应用软件是大多数人听到“软件”一词时想到的东西。它使用户能够执行特定活动。应用软件可以是通用型的,如电子表格或网页浏览器;也可以是专用型的,如天气预报模拟或库存管理系统。与系统软件不同,应用程序通常使用高级编程语言创建,并严重依赖操作系统才能运行。


3. Operating Systems: The Core Platform | 操作系统:核心平台

An operating system (OS) is a master control program that manages all hardware and software resources of a computer. It acts as an intermediary between the user, applications, and hardware. The OS provides a user interface, handles memory management, controls processes, and coordinates input and output operations. Common desktop operating systems include Microsoft Windows, macOS, and Linux, while Android and iOS dominate mobile devices.

操作系统(OS)是管理计算机所有软硬件资源的主控程序。它充当用户、应用程序和硬件之间的中介。操作系统提供用户界面,處理内存管理,控制进程,并协调输入输出操作。常见的桌面操作系统包括 Microsoft Windows、macOS 和 Linux,而 Android 和 iOS 则主导移动设备。

Without an operating system, each application would need to include its own code for managing hardware, resulting in enormous duplication and complexity. The OS solves this by providing a consistent environment through system calls and application programming interfaces (APIs). This layered approach allows developers to concentrate on application logic without worrying about low-level hardware idiosyncrasies. The kernel, the heart of the OS, stays in memory at all times and handles the most fundamental tasks.

如果没有操作系统,每个应用程序都需要包含自己的硬件管理代码,导致巨大的重复和复杂性。操作系统通过系统调用和应用程序编程接口(API)提供一致的环境来解决这个问题。这种分层方法让开发者可以专注于应用程序逻辑,而无需担心低层硬件的特性。内核是操作系统的核心,始终驻留在内存中,处理最基本的任务。


4. Key Functions of an Operating System | 操作系统的关键功能

The operating system performs several vital functions that ensure a computer operates smoothly and securely. These include process management, memory management, file management, security, and device management. Each function works in concert to create a stable and efficient computing environment. For example, process management involves scheduling tasks, allocating CPU time, and handling multitasking so that the user can run multiple programs simultaneously.

操作系统执行几项重要功能,确保计算机平稳安全地运行。这包括进程管理、内存管理、文件管理、安全性和设备管理。每一项功能协同工作,创造一个稳定高效的计算环境。例如,进程管理包括调度任务、分配CPU时间以及处理多任务,让用户能够同时运行多个程序。

Memory management ensures that each program is allocated the memory it needs and that the memory of one program cannot be illegally accessed by another. Virtual memory allows the computer to use disk space as an extension of RAM, enabling large applications to run on systems with limited physical memory. File management organises data on storage devices into a hierarchical structure of folders and files, providing naming, access control, and backup capabilities. Security features include user authentication and permissions to protect data integrity.

内存管理确保每个程序都能分配到所需的内存,并且一个程序的内存不会被另一个程序非法访问。虚拟内存允许计算机使用磁盘空间作为RAM的扩展,使得大型应用程序可以在物理内存有限的系统上运行。文件管理将存储设备上的数据组织成分层结构的文件夹和文件,提供命名、访问控制和备份功能。安全功能包括用户身份验证和权限设置,以保护数据完整性。


5. Utility Software: Maintenance and Optimisation | 实用程序软件:维护与优化

Utility software is a type of system software designed to help analyse, configure, optimise, and maintain a computer. Unlike operating systems, which run continuously, utilities are often used on demand to perform specific housekeeping tasks. Common examples include antivirus software, disk defragmenters, backup tools, compression utilities, and file managers. These programs extend the functionality of the OS and help keep the system healthy.

实用程序软件是一种系统软件,旨在帮助分析、配置、优化和维护计算机。与持续运行的操作系统不同,实用程序通常按需使用,执行特定的内务处理任务。常见的例子包括防病毒软件、磁盘碎片整理程序、备份工具、压缩实用程序和文件管理器。这些程序扩展了操作系统的功能,并帮助保持系统健康。

A disk defragmenter reorganises scattered file fragments so that related data is stored contiguously, improving read/write speeds on mechanical hard drives. Antivirus utilities protect the system against malware by scanning files and monitoring behaviour for suspicious activity. Backup software automates the creation of copies of important data, ensuring that users can recover from hardware failure, accidental deletion, or ransomware attacks. Compression tools reduce file sizes for efficient storage and transmission.

磁盘碎片整理程序将分散的文件碎片重新组织,使相关数据连续存储,从而提高机械硬盘的读写速度。防病毒实用程序通过扫描文件和监控可疑行为来保护系统免受恶意软件的侵害。备份软件自动创建重要数据的副本,确保用户能从硬件故障、意外删除或勒索软件攻击中恢复。压缩工具减小文件大小,以便高效存储和传输。


6. Programming Tools: Compilers and Interpreters | 编程工具:编译器与解释器

High-level programming languages such as Python, Java, or C++ are designed to be readable by humans, but computers only understand machine code (binary). Translators are necessary to convert source code into executable machine instructions. The two primary types of language translators are compilers and interpreters, each with distinct mechanisms and use cases. Understanding how they work is a key part of the IGCSE software syllabus.

高级编程语言如Python、Java或C++是为了让人类可读而设计的,但计算机只理解机器码(二进制)。需要翻译器将源代码转换为可执行的机器指令。两种主要的语言翻译器是编译器和解释器,各有独特的机制和使用场景。理解它们的工作原理是IGCSE软件课程的重要部分。

A compiler takes the entire source code, analyses it, and translates it into machine code in one go, producing an executable file that can run independently of the original source. This process happens before execution, which means compiled programs generally run faster once built. However, any change in the source requires recompilation. Interpretation, on the other hand, translates and executes the source code line by line at runtime. This allows immediate feedback and easier debugging but tends to result in slower execution because translation occurs on the fly.

编译器获取整个源代码,对其进行分析,并一次性将其翻译为机器码,生成一个可独立于原始源代码运行的可执行文件。这个过程发生在执行之前,因此编译后的程序一旦构建完成,通常运行得更快。但是,源代码的任何更改都需要重新编译。相反,解释器在运行时逐行翻译并执行源代码。这样可以立即反馈并更易于调试,但由于翻译是即时进行的,执行速度往往较慢。


广告 / Sponsored

7. Assemblers and Low-Level Translation | 汇编器与低级翻译

Between high-level languages and pure machine code lies assembly language, a low-level symbolic representation of machine instructions. An assembler is a program that converts assembly code into machine code. Each assembly instruction typically corresponds to one machine instruction, making it much more hardware-specific than high-level languages. Assemblers are still used today for tasks that require direct hardware manipulation or extreme optimisation, such as embedded systems and device drivers.

在高级语言和纯机器码之间,存在汇编语言,它是机器指令的低级符号表示。汇编器是将汇编代码转换为机器码的程序。每条汇编指令通常对应一条机器指令,因此它比高级语言更依赖于硬件。如今,汇编器仍用于需要直接硬件操控或极致优化的任务,比如嵌入式系统和设备驱动程序。

The translation process performed by an assembler is simpler than compilation or interpretation because the mapping from assembly mnemonics (like MOV, ADD, JMP) to binary opcodes is almost one-to-one. However, assemblers also handle labels, addresses, and macros. For IGCSE purposes, it is important to recognise that assembly language and assemblers sit at a lower level and are often used to understand the fetch-decode-execute cycle more concretely.

汇编器执行的翻译过程比编译或解释更简单,因为汇编助记符(如MOV、ADD、JMP)到二进制操作码的映射几乎是逐一对的。不过,汇编器也处理标签、地址和宏。对于IGCSE而言,重要的是认识到汇编语言和汇编器处于更低的层次,通常用于更具体地理解取指-解码-执行周期。


8. Linkers, Loaders, and the Build Process | 链接器、加载器与构建过程

Creating an executable program from source code is not just a matter of translation; several supporting system programs contribute to the final executable. After a compiler generates object code, a linker combines multiple object files and library routines into a single executable file. The linker resolves references between modules, ensuring that function calls and variables link correctly across different parts of the program.

从源代码创建一个可执行程序不仅仅是翻译的问题;多个支持性系统程序参与到最终的可执行文件生成中。在编译器生成目标代码后,链接器将多个目标文件和库程序组合成一个可执行文件。链接器解析模块之间的引用,确保函数调用和变量在程序的不同部分正确链接。

Once linking is complete, a loader loads the executable into memory and starts its execution. The loader also performs address binding, assigning physical memory addresses to program instructions and data. In modern operating systems, dynamic linkers can link library code at load time or even during execution, allowing for smaller executable sizes and easy updates to shared libraries. These tools together form the foundation of the software build pipeline.

链接完成后,加载器将可执行文件加载到内存中并开始它的执行。加载器还执行地址绑定,为程序指令和数据分配物理内存地址。在现代操作系统中,动态链接器可以在加载时甚至执行时链接库代码,从而缩小可执行文件大小,并方便共享库的更新。这些工具一起构成了软件构建流水线的基础。


9. User Interfaces: CLI and GUI | 用户界面:命令行界面与图形用户界面

The user interface (UI) is the part of the operating system or application that allows users to interact with the computer. Two primary types are the command-line interface (CLI) and the graphical user interface (GUI). A CLI requires the user to type textual commands, which offers power and flexibility but demands memorisation of syntax. It is often used by system administrators and developers for tasks such as scripting and remote management.

用户界面(UI)是操作系统或应用程序允许用户与计算机交互的部分。两种主要类型是命令行界面(CLI)和图形用户界面(GUI)。CLI要求用户输入文本命令,这提供了强大功能和灵活性,但需要记忆语法。系统管理员和开发人员经常用它来做脚本编写和远程管理等任务。

In contrast, a GUI uses visual elements like windows, icons, menus, and pointers (WIMP) to create an intuitive environment. This significantly lowers the learning curve and makes technology accessible to a broader audience. Modern GUIs also incorporate touch and gesture controls. Many operating systems provide both interfaces, allowing users to choose based on the task. The choice between CLI and GUI often involves trade-offs between efficiency and ease of use.

相反,GUI使用窗口、图标、菜单和指针(WIMP)等视觉元素来创建直观的环境。这大大降低了学习曲线,使技术能够被更广泛的受众所使用。现代GUI还融入了触摸和手势控制。许多操作系统同时提供两种界面,让用户根据任务进行选择。在CLI和GUI之间的选择通常涉及效率与易用性之间的权衡。


10. Types of Application Software | 应用软件的类型

Application software can be broadly divided into general-purpose and specialist (or bespoke) categories. General-purpose software, also known as off-the-shelf software, provides a wide range of features that can be applied to many different tasks. Examples include word processors, spreadsheets, presentation tools, and database management systems. These applications are mass-produced and are highly customisable through options and settings.

应用软件可大致分为通用型和专用型(或定制型)。通用软件,也称为现成软件,提供了可应用于许多不同任务的广泛功能。例子包括文字处理软件、电子表格、演示工具和数据库管理系统。这些应用程序是量产的,并且可以通过选项和设置进行高度定制。

Specialist software is designed to meet the specific needs of a particular user or organisation. It may be built from scratch or customised heavily from a generic platform. Examples include air traffic control systems, customer relationship management (CRM) software configured for a specific company, and scientific simulations used in research. Specialist software tends to be more expensive and demands more rigorous testing because it fulfils critical functions. Often, such software is developed using a collaborative approach between programmers and domain experts.

专用软件旨在满足特定用户或组织的具体需求。它可以是从头开始构建,也可以从通用平台高度定制而来。例子包括空中交通管制系统、为特定公司配置的客户关系管理(CRM)软件,以及用于研究的科学模拟软件。专用软件通常更昂贵,并且需要进行更严格的测试,因为它实现的是关键功能。这类软件往往通过程序员与领域专家之间的协作方式进行开发。


11. Software Licensing: Proprietary and Open Source | 软件许可:专有与开源

Software licensing determines how a program can be used, modified, and distributed. Proprietary software is owned by an individual or company that holds exclusive rights. Users purchase a licence that permits them to use the software under certain conditions, but they usually cannot access or alter the source code. Microsoft Office and Adobe Photoshop are well-known proprietary applications. This model funds development through sales and subscriptions.

软件许可决定了程序如何被使用、修改和分发。专有软件由持有独家权利的个人或公司拥有。用户购买许可证,在特定条件下使用软件,但通常不能访问或更改源代码。Microsoft Office 和 Adobe Photoshop 是著名的专有应用程序。这种模式通过销售和订阅为开发提供资金。

Open-source software, in contrast, provides the source code to the public with a license that permits anyone to study, change, and distribute the software, often for free. The development is community-driven, and transparency allows for rapid bug fixes and innovation. Popular open-source examples include the Linux operating system, the LibreOffice suite, and the Apache web server. The IGCSE syllabus encourages students to appreciate the advantages and challenges of both models, including issues related to security, support, and total cost of ownership.

相比之下,开源软件向公众提供源代码,并附带许可证,允许任何人研究、修改和分发软件,通常是免费的。开发由社区驱动,透明度使得快速修复漏洞和创新成为可能。流行的开源例子包括Linux操作系统、LibreOffice办公套件和Apache网络服务器。IGCSE课程鼓励学生认识这两种模式的优点和挑战,包括与安全性、支持和总拥有成本相关的问题。


12. Software Development Life Cycle and Maintenance | 软件开发生命周期与维护

Software is not a static product; it evolves through a structured process known as the Software Development Life Cycle (SDLC). The stages typically include analysis, design, implementation, testing, deployment, and maintenance. At the analysis stage, requirements are gathered from stakeholders to define what the software must do. The design phase plans the structure, user interfaces, and data storage. Implementation involves writing the actual code in a chosen language.

软件不是一成不变的产品;它通过一个称为软件开发生命周期(SDLC)的结构化过程不断演变。其阶段通常包括分析、设计、实现、测试、部署和维护。在分析阶段,从利益相关者那里收集需求,以确定软件必须做什么。设计阶段规划结构、用户界面和数据存储。实现阶段涉及用所选语言编写实际的代码。

Testing is crucial for identifying defects and verifying that the software meets requirements. Once deployed, the software enters the maintenance phase, which can last for many years. Maintenance involves correcting faults, adapting to new hardware or operating systems, and improving performance or adding features. Without proper maintenance, software can become obsolete or vulnerable to security threats. The IGCSE curriculum highlights the importance of understanding this cycle to manage software projects effectively.

测试对于发现缺陷和验证软件是否满足需求至关重要。部署后,软件进入维护阶段,这可能会持续很多年。维护包括纠正错误、适配新的硬件或操作系统,以及改进性能或添加功能。如果没有适当的维护,软件可能会过时或容易受到安全威胁。IGCSE课程强调理解这个周期对于有效管理软件项目的重要性。

Published by TutorHao | IGCSE Science (Computer Science) Revision Series | aleveler.com

广告 / Sponsored
现货 Cambridge International AS & ALevel IT Coursebook剑桥国际IGC…
计算机 备考教辅 · 正版现货 · 与本文内容相关
查看详情 / View on Taobao参考价 ¥467.0

更多咨询请联系16621398022(同微信)

备考资讯每日更新,关注不错过
考纲变化 · 科目分析 · 学习方法
扫码关注公众号 tutorhao
在微信里长按二维码识别关注
或截图后用「扫一扫 → 相册」选择本图
公众号:tutorhao