🏰 计算机游乐园手册
一、进程与线程------旅行团与游客
🔧 核心设定:
- 操作系统 = 智能乐园云控中心(全局资源调度)
- CPU核 = 游乐设施(过山车/旋转木马等)
- 内存/磁盘 = 共享物资仓库
1. 进程 = 旅行团 🧳
- 诞生:当你启动程序 → 云控中心创建新旅行团
- 特权 :
✅ 领取资源大礼包(CPU体验券+内存零食车+磁盘储物柜)
❌ 不同旅行团之间有防盗门(进程隔离)
👑 系统进程团 = 乐园维修队(穿OS制服,维护设施)
👨💻 用户进程团 = 你组织的游客团(每个程序是一个团)
2. 线程 = 游客 👨👩👧👦 (CPU调度最小单位)
- 轻装上阵 :只带三件套 →
📍 程序计数器(地图) | 🧩 寄存器(零钱包) | 📚 栈(随身包)- 关键法则 :
🔐 游客不能流浪!必须归属旅行团(线程依赖进程)
🤝 同团游客共享零食车(线程共享进程资源)
二、CPU时间片轮转机制------公平体验闸机 ⚙️
智能设施规则:
css
[设施入口]
│
▼
自动闸机扫描游客票券 → 【3秒体验券】⏱️
│
▼
游客登设施游玩 → 券到期 → 闸机亮灯🟢 → 游客自动离场
│
▼
游客重回队尾 → 等待下次派券
- 云控中心从不指挥游客!只设定闸机算法
- 线程切换 = 游客换乘时的"寄存包裹"(上下文切换)
- 线程A在过山车上被闸机提醒:"您的体验时间已到,请重新排队~"
第三章:并发 vs 并行------设施魔法揭秘 🎩
▌ 并发(单核魔术)
"1个旋转木马服务100人?"
- 动态轮换术 :
游客A骑白马 → 3秒 → 换游客B骑独角兽 → 3秒 → 游客C坐马车- 肉眼幻觉 : 所有游客仿佛同时在马上欢笑(实际极速交替)
- 计算机对应 : 单核CPU处理微信+音乐+下载:"我是闪电侠!" ⚡
▌ 并行(多核狂欢)
"过山车复制术启动!"
- 物理扩建 :
核1设施:线程A 🎢------------------
核2设施:线程B 🚀------------------
核3设施:线程C 🌊------------------- 土豪真相 : 多核CPU = 乐园扩建多条相同轨道
线程真·同步推进(无切换损耗)
乐园全景运作图 🗺️
css
[智能云控中心]
│
分配资源包 ▼ 派发体验券
[旅行团A(进程)] ──────→ [CPU设施集群] ←─────→ [游客(线程)]
├─内存零食车 ├─🎢 核1过山车 │
├─磁盘储物柜 ├─🎠 核2旋转木马 │
└─共享给团员───────────────► ├─🚤 核3激流勇进 │
├─🎪 核4魔术屋 │
▲ │
└─ 闸机自动收券
总结一下:
1、进程是程序运行资源分配的最小单位资源包括:CPU、内存空间、磁盘等。
2、线程是CPU调度的最小单位 ,必须依赖于进程而存在。
3、线程只拥有在运行中必不可少的资源(如程序计数 器,一组寄存器和栈), 但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
4、CPU时间片轮转机制也称RR调度,为每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。
5、并行与并发 并发:本质上靠1个CPU核心处理多任务,靠极速切换制造"同时进行"的假象,并行:多个cpu核心真·同时处理任务,任务被物理同步推进