知识阅读 计算机入门 第二章 操作系统与资源管理
返回知识图谱
计算机入门 文炎同学 2024-03-18

第二章 操作系统与资源管理

从程序如何获得资源出发,理解操作系统怎样把硬件能力组织成可使用的计算环境。

ARTICLE / 07 SECTIONS
START READING07 SECTIONS

打开几个软件、切换一个窗口、保存一份文件,看起来都只是点击。可一旦程序变多,问题就会出现:谁给它们分配内存?谁决定哪个程序先用 CPU?文件为什么能被找到,网络请求又怎样离开电脑?

这些事情背后,都有同一个角色在协调。它不一定是你每天直接打开的应用,却决定了应用能不能运行得起来。

1. 操作系统站在什么位置

操作系统是一套负责管理计算机资源、支撑程序运行,并为用户和软件提供操作入口的基础软件。

它会管理 CPU、内存、存储、网络和各种外部设备,也会处理文件、进程、权限和输入输出。我们每天看到的桌面、窗口和设置面板,只是操作系统提供给人的一层界面;真正持续工作的,是它背后的资源管理和系统服务。

上一章把计算机拆成了硬件、操作系统和应用软件。这里把三者再放回同一条关系里:

用户、应用软件、操作系统与硬件的协作关系用户、应用软件、操作系统与硬件的协作关系

操作系统不是普通应用,而是应用与硬件之间的共同底座。 浏览器、编辑器、游戏和 AI 工具不需要为每一种硬件重新编写一套控制逻辑,它们把请求交给操作系统,操作系统再去协调 CPU、内存、存储、显示和网络。

Windows、macOS、Linux、Android 和 iOS 的界面差异很大,但它们都在处理类似的问题:让多个程序安全、稳定地使用同一台机器。

2. 常见操作系统:按使用场景来分

操作系统并不只存在于“电脑桌面”上。把它们按运行的设备和承担的任务来分,会比死记名称更容易理解:

场景常见系统它更在意什么
个人电脑Windows、macOS、Linux 桌面发行版图形界面、软件兼容、日常使用体验
服务器Linux 发行版为主,也有 Windows Server稳定运行、远程管理、网络服务与权限控制
手机与平板Android、iOS触控交互、续航、安全隔离与应用生态
专用设备路由器、智能电视、车机、工业设备中的系统针对特定硬件和任务长期稳定工作

这里的 Linux 容易让人困惑:它既可以出现在个人电脑上,也常出现在服务器、路由器和各种设备中。更准确地说,Linux 是一套内核和生态,不同团队会把它与桌面、安装工具、软件仓库和配置方式组合成不同的发行版。

对入门阶段来说,不必急着比较哪个系统“更好”。选择什么系统,通常取决于你要运行什么软件、连接什么设备,以及是否需要远程管理。 后面接触 AI 环境和服务器时,Linux 出现得更多,是因为它在命令行、开发工具和服务部署上使用广泛。

3. 为什么程序不能直接控制硬件

如果每个程序都能直接改写内存、占用全部 CPU,或者随意读取硬盘上的任何内容,一台电脑很快就会失去秩序。一个程序的错误,甚至可能拖垮整台机器。

操作系统提供了一层边界:程序可以申请资源、读取文件、发送网络请求,但通常不能绕过系统规则直接碰所有硬件。

这层边界带来三件事:

操作系统提供的能力它解决的问题
资源分配多个程序如何共享 CPU、内存和设备
统一接口同一类操作如何在不同硬件上保持相近的用法
权限与隔离一个程序如何不随意破坏另一个程序和系统

所以,操作系统更像一组持续运行的规则和服务,而不只是桌面、窗口和设置面板。桌面只是它最容易被看见的一面。

4. 程序运行时,系统在协调什么

当你打开一个程序,系统不会简单地把它“放进电脑里”。它要把程序变成一个正在运行的任务,再为这个任务安排资源。

程序从文件到运行结果的过程程序从文件到运行结果的过程

4.1 进程:程序运行起来后的身份

保存在硬盘里的浏览器安装包,是一组程序文件;打开浏览器之后,系统会为它创建一个进程。进程可以理解为“正在运行的程序”,它拥有自己的内存空间、状态和系统资源。

同一个应用可以同时有多个进程,浏览器也可能把标签页、插件或渲染任务分开处理。这样做不是为了增加名词,而是为了让某一部分出问题时,影响尽量停留在局部。

4.2 CPU:系统怎样安排执行时间

CPU 同一时刻能执行的指令数量是有限的,但电脑上往往有很多进程同时等待。操作系统会在它们之间快速切换,给每个任务分配一小段执行时间。

你看到的“边听音乐边打开网页”,并不是每个程序都永远独占一个 CPU,而是系统把执行机会切成许多片段,再根据优先级和状态不断调度。

程序卡顿不一定是 CPU 不够快。 进程可能正在等待磁盘、网络、锁或其他设备,系统调度的对象也不只是“谁更快”,还包括“谁现在已经准备好继续工作”。

4.3 内存:给每个进程划出工作空间

进程运行时,需要一块能快速读写的空间保存代码、数据和临时状态。操作系统会为它分配内存,并尽量让不同进程彼此隔离。

硬盘上的程序文件 → 读入内存 → CPU 执行内存中的指令

内存紧张时,系统可能把暂时不用的内容转移到存储设备。这个过程能缓解容量压力,却比直接访问内存慢得多,所以打开很多程序后,电脑会出现明显的卡顿。

4.4 文件系统:把存储空间变成可理解的路径

硬盘本身只提供可以保存数据的介质。文件、文件夹、路径和权限,是操作系统通过文件系统组织出来的视图。

C:\Users\你的用户名\Desktop\notes.txt
/home/你的用户名/Desktop/notes.txt

当程序请求打开一个文件时,它通常不需要知道数据在硬盘的哪个物理位置,只需要把路径交给操作系统。系统负责检查路径、权限和文件状态,再把数据读入内存。

这也是为什么路径错误、权限不足、文件被占用,会成为编程和服务器环境里非常常见的问题。它们不一定是代码逻辑错了,而是程序没有拿到它以为自己能拿到的资源。

文件系统如何组织存储、文件夹、文件和路径文件系统如何组织存储、文件夹、文件和路径

4.5 设备与网络:让程序接触外部世界

键盘、鼠标、显示器、摄像头、磁盘和网卡的工作方式各不相同。操作系统通过驱动和系统接口,把这些差异整理成程序可以调用的能力。

浏览器不需要自己实现每一种网卡的电气细节;它只需要发起连接、发送请求、读取响应。至于数据怎样经过网卡、协议栈和路由器,属于操作系统与网络设备共同完成的部分。

程序想做的事系统背后的资源
读取键盘输入输入设备与事件系统
显示一个窗口图形系统与显示设备
保存一张图片文件系统与存储设备
请求一个接口网络协议栈与网卡
应用如何通过操作系统使用设备与网络应用如何通过操作系统使用设备与网络

5. 图形界面与命令行,只是两种入口

桌面、窗口、按钮和文件管理器,是操作系统提供的图形界面。它把资源操作包装成可见的控件,适合探索和日常使用。

命令行则把同一类请求写成文本:

cd project
python main.py

这两种方式并不是“简单”和“高级”的区别。图形界面适合观察当前状态,命令行适合重复执行、组合操作和远程管理。安装 AI 环境、启动服务、查看日志和部署网站时,命令行之所以常见,是因为它更容易被记录、复制和自动化。

6. 为什么后面的学习都会遇到操作系统

学习编程时,你会遇到路径、进程、端口、权限和环境变量;学习 AI 时,你会遇到模型文件、显存、驱动、Python 环境和网络接口;学习服务器时,你会遇到 SSH、服务进程、日志、端口和部署。

它们看起来属于不同方向,底层却都在问同一件事:一个程序如何获得资源,并在规则允许的范围内持续运行。

把这条关系记住,很多报错就不再只是陌生的英文提示,而会变成可以定位的问题:是文件没有找到,权限不够,进程没有启动,端口被占用,还是程序正在等待网络响应。

本章小结

  • 操作系统是应用软件与硬件之间的共同底座,负责分配资源、提供接口并维持隔离。
  • 不同操作系统服务于不同场景:个人电脑重体验,服务器重稳定与管理,移动端重交互与隔离。
  • 程序运行后会成为进程,系统为进程安排 CPU 时间、内存空间以及文件、设备和网络能力。
  • 文件、路径、权限、驱动和命令行,都是操作系统把底层资源交给人和程序使用的方式。
  • 后面遇到编程、AI 环境和服务器问题时,可以先追问:程序要用什么资源,系统有没有把它交给程序?
LEARNING PATH

沿着这条路径继续

每一篇文章都是下一次理解的起点。

上一步第一章 计算机的基本组成
当前阅读第二章 操作系统与资源管理计算机入门
下一步第三章 软件的安装与运行