一、前言
 


计算机专业三大硬核基石:计组、操作系统、计算机网络。
 
如果说《计算机组成原理》讲的是硬件怎么造,那《操作系统》讲的就是硬件怎么管。
 
很多初学的同学:
会背进程、线程、死锁、调度、内存管理
但始终不知道:操作系统到底为什么要存在?没有系统电脑会怎样?
 



二、最早的电脑:根本没有“操作系统”
 


2.1 裸机时代:程序员=接线员
 
在最早的计算机(真空管时代),电脑是没有系统的。
 
那时候的计算机叫「裸机」,特点非常离谱:
 
1. 没有图形界面、没有鼠标、没有桌面

2. 没有文件管理、不能双击打开程序

3. 程序员想要运行程序:手动拔开关、插排线、输入二进制
 
一台机器,一次只能干一件事。
 
如果你要换一个程序,就要重新拔一遍线路、重新输入数据。
 
小故事:当年的程序员太惨了
 
早期程序员,不是坐在电脑前敲代码,而是站在机器前面体力干活。
 
机器运行期间一旦出错,所有数据直接清零,全程没有保存、没有撤回、没有报错提示。
效率极低、浪费海量硬件资源。
 
于是人类发现一个致命问题:硬件越来越强,但人跟不上速度。
机器空转、闲置、浪费算力,急需一个管家来统一管理硬件——操作系统就此诞生。
 


三、操作系统三代进化史
 


第一代:单道批处理系统(解放双手)
 
早期人工操作太慢,工程师设计出了批处理。
 
把一堆任务提前打包好,交给电脑顺序执行,不用人工反复干预。
 
缺点非常明显:
同一时刻内存只有一道程序
CPU经常等磁盘、等IO,一旦程序等待,CPU直接摸鱼闲置。
 
对应课本考点:
 
- 资源利用率低

- 系统并发能力极差
 
第二代:多道批处理系统(现代OS的雏形)
 
人们开始思考:
CPU闲着也是闲着,为什么不多放几个程序进去跑?
 
于是诞生了多道程序设计,也是操作系统最核心的灵魂。
 
核心思想:
内存中同时驻留多个进程
A程序IO等待 → CPU立刻切去跑B程序
让CPU永远不闲着
 
这就引出了整本操作系统所有重难点:
 
- 进程并发

- 进程调度

- 内存分配

- 进程同步互斥

- 死锁问题
 
可以说:整本OS课本,都是为了解决“多道并发带来的混乱”。
 
第三代:分时操作系统(真正可用的系统)
 
批处理适合干活,但不能交互,人输完指令只能干等结果。
 
分时系统彻底改变了计算机:
把CPU时间切成无数个极短时间片
轮流服务每一个用户、每一个程序
 
人感觉是“同时运行”,本质是高速轮换执行。
 
从此:
电脑有了交互能力、有了多任务、有了桌面系统
Windows、Linux、Mac 全部基于分时+多道程序思想。
 


四、一句话讲透:操作系统到底是干什么的?
 


给大家一个全网最好懂的定义,秒杀所有背诵:
 
操作系统 = 硬件的大管家 + 软件的中间人 + 资源的分配者
 
三大核心职能
 
1. 进程管理:谁先跑、谁后跑、谁暂停、谁等待

2. 内存管理:谁占内存、谁挪空间、防止越界、合理分配

3. 文件+设备管理:文件怎么存、硬盘怎么读、外设怎么调用
 
所有的:调度算法、分页分段、虚拟内存、PV操作、死锁、银行家算法
全部是为了管好三样东西:CPU、内存、文件设备。
 


五、生活化类比(彻底打通思维)
 


把电脑比作一间教室:
 
- 硬件(CPU/内存/硬盘):教室、桌椅、纸笔

- 操作系统(OS):班主任/管理员

- 进程/程序:学生任务

- 并发:多人同时写作业

- 内存空间:座位

- 死锁:两个人互相借笔、僵持不动、谁也写不完

- 调度算法:老师安排谁先做题、谁先答疑
 
没有操作系统,硬件就是一堆废铁;没有管理规则,并发就是一团混乱。
 


六、为什么操作系统是计算机的灵魂?
 


- 计组告诉我们硬件能做什么

- 操作系统告诉我们如何高效、有序、安全地使用硬件
 
我们现在的:
多开软件、后台挂APP、一边听歌一边打代码、后台推送、多线程服务
全部是操作系统的并发管理能力。
 
人工智能、服务器、云服务、大数据集群,底层全部依赖操作系统调度与资源管理。
 


七、全文总结
 


1. 计算机从裸机、人工操作进化到批处理、分时多道系统,本质是为了提升硬件资源利用率;

2. 现代操作系统的核心是多道程序并发,全书重难点全部由此衍生;

3. 操作系统承担进程调度、内存管理、设备文件管理三大核心任务;

4. 硬件是基础,OS是调度核心,是所有软件、程序、互联网服务运行的底层地基。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐