欢迎来到硬件与软件的世界!

你有没有想过,一块由玻璃和金属组成的平板(如你的手机),是如何变成通往另一个世界的入口,或是完成功课的强大工具?这一切都归功于硬件(Hardware)软件(Software)之间的关系。你可以把它们想象成电脑的“身体”与“灵魂”。在这份指南中,我们将揭开它们的神秘面纱,看看这两者是如何携手合作,创造出科技魔法的。

1. 定义这对绝佳搭档 (3.4.1)

在计算机科学中,我们将所有事物分为两大类:你可以触摸到的东西,以及你无法触摸到的东西。

什么是硬件 (Hardware)?

硬件是指计算机系统的物理组件。如果你能踢它、掉落它,或者把它拿在手里,它就是硬件!
例子:显示器、主板、CPU、鼠标,甚至是连接它们的线材。

什么是软件 (Software)?

软件是指告诉硬件该做什么的程序指令序列。你无法触摸软件,因为它只是存储在硬件中的数据和代码。
例子:Minecraft、Google Chrome、Windows 11,或者你用来查询公交到站时间的应用程序。

两者的关系:如何协同运作

硬件与软件之间存在一种“共生”关系——它们缺一不可,才能发挥作用。
- 没有软件的硬件只是一块“砖头”。它没有指令,什么也做不了。
- 没有硬件的软件只是一个“幽灵”。它没有物理载体来显示或执行。

现实生活中的比喻:交响乐团
想象一个交响乐团。硬件是乐器(小提琴、鼓、小号)。它们是实体的,能发出声音。软件是乐谱。没有乐谱,乐器只能保持沉默;没有乐器,乐谱不过是纸上的墨迹!

重点重温:
硬件:实体部件(身体)。
软件:指令/程序(灵魂/大脑)。
关系:软件告诉硬件如何执行任务。

2. 软件分类 (3.4.3)

并非所有软件都是一样的!根据它们的“工作内容”,我们将软件分为两大类型:系统软件 (System Software)应用软件 (Application Software)

类型一:系统软件

系统软件旨在管理计算机资源,并为其他程序的运行提供平台。它负责处理那些“幕后”工作,确保计算机运作良好且井然有序。

系统软件中最重要的部分是操作系统 (Operating System, OS)
例子:Windows、macOS、Linux、Android 和 iOS。

操作系统负责管理什么?
- 处理器 (Processor):决定哪个任务获得 CPU 的注意力以及时间长短。
- 内存 (Memory):记录 RAM 的哪些部分正被哪些程序使用。
- 输入/输出 (I/O) 设备:与键盘、鼠标和打印机进行沟通。
- 应用程序:控制应用程序如何启动、运行和关闭。
- 安全性:管理用户登录和文件权限。

工具程序 (Utility Programs) 也属于系统软件。这些是用来协助维护系统的小工具。
例子:磁盘整理工具、文件压缩工具(如 WinZip)和杀毒软件。

类型二:应用软件

应用软件(或称“App”)是用来执行最终用户任务的软件。如果你正在使用计算机来“做”某件具体的事情——比如写信、玩游戏或编辑照片——你就是在运行应用软件。

应用软件的例子:
- 文字处理软件:(例如:Microsoft Word、Google Docs)用于写作。
- 网页浏览器:(例如:Safari、Firefox)用于浏览互联网。
- 游戏:(例如:Roblox、Fortnite)用于娱乐。
- 电子表格软件:(例如:Excel)用于计算。

如果一开始觉得混淆也不用担心!
只要问自己一个问题:“这个程序是为了帮助计算机运行(系统),还是为了帮助完成一项任务(应用)?”

记忆小撇步:“是为了谁?”
System Software(系统软件)是为了 System(系统)。
Application Software(应用软件)是为了 Activity(活动,即用户任务)。

关键点:
系统软件管理硬件并提供运行平台。
应用软件允许用户执行特定任务。

3. 避免常见错误

错误一:认为互联网是软件。
互联网本身不是软件,它是一个硬件网络。然而,你用来浏览它的网页浏览器才是应用软件

错误二:忘记操作系统 (OS) 属于系统软件。
在考试中,学生常把“Windows”列为计算机的例子。请记住:PC 本身是硬件,而 Windows 是运行在它上面的系统软件

你知道吗?
“Bug”(意指软件中的错误)一词之所以出名,是因为一只飞蛾真的飞进了一台早期计算机(哈佛马克二号,Harvard Mark II)并卡在硬件里,导致系统崩溃!工程师们真的不得不从硬件中“除虫 (debug)”,才能让软件重新运行起来。

章节总结

1. 硬件是实体的;软件是一组指令。
2. 它们互依互存:软件需要硬件才能运行;硬件需要软件才能发挥作用。
3. 系统软件(如操作系统)负责管理计算机资源和硬件。
4. 应用软件(如游戏或文字处理程序)让用户执行特定任务。