跳转至

操作系统

这里整理操作系统如何管理硬件、分配资源,并为应用程序提供抽象、隔离和保护。

思维导图

--- markmap: height: 560 initialExpandLevel: 2 autoFit: true colorFreezeLevel: 2 maxWidth: 280 spacingHorizontal: 80 spacingVertical: 12 nodeMinHeight: 24 paddingX: 10 --- # 操作系统 ## [进程与设备管理](/software-design/02-operating-systems/#overview-and-processes) - 进程与线程、状态转换、调度 - 同步、互斥、信号量与死锁 - I/O 控制与设备管理 ## [内存管理](/software-design/02-operating-systems/#memory-management) - 存储层次与局部性 - 分区、分页、分段与地址转换 - 虚拟内存与页面置换 ## [文件系统](/software-design/02-operating-systems/#file-management) - 目录、路径与文件组织 - 文件分配、索引与空闲空间管理 - 磁盘访问与调度

主题索引

以下是逐步整理的主题范围,具体知识点笔记随学习补充。

主题 要理解的问题
操作系统与内核 用户态与内核态为什么分开?系统调用、中断和异常怎样影响执行流程?
进程与线程 程序、进程和线程有什么区别?各自持有和共享哪些资源?
CPU 调度 多个可运行任务怎样分配 CPU?响应时间、吞吐量与公平性怎样权衡?
同步与互斥 竞态条件怎样产生?锁、信号量与条件变量解决什么问题?
死锁 什么条件下会发生死锁?预防、避免和检测分别怎样处理?
内存管理 地址空间、分页、虚拟内存、页表与页面置换如何配合?
文件系统 文件、目录、元数据和磁盘块如何关联?怎样维护一致性?
I/O 与设备 中断、DMA、缓冲与缓存怎样影响数据传输?
进程间通信 管道、共享内存、套接字等机制怎样交换数据?

专题笔记

入门材料与实践联系

具体笔记怎样整理

每个主题先说明问题和机制,再画出状态变化或执行顺序,最后用程序、系统工具或平台源码验证。把通用原理和某个操作系统的具体实现注明清楚。

当前软件设计师复习的知识导图和例题统一放在软件设计:操作系统。本目录保留学科学习入口,Android 的平台细节通过链接关联;后续完整课程可以另建课程目录。