操作系统核心管理体系与进程基础认知
一、操作系统的核心定位操作系统Operating System, OS是运行在计算机硬件之上的系统级软件是硬件与用户 / 应用程序之间的中间层。它承担两大核心使命资源管理者统筹管理 CPU、内存、磁盘、I/O 设备等所有硬件资源解决多程序并发时的资源竞争问题最大化硬件利用率。抽象封装者屏蔽硬件底层的复杂实现细节向上提供简洁统一的系统调用接口让应用开发无需直接操作硬件。可以类比为 “公司行政总控”办公场地、设备、人力对应硬件资源OS 就是行政部门负责分配工位内存、排期会议时间CPU、管理物资仓库磁盘、对接外部服务商I/O 设备让员工应用程序专注于自身业务。二、操作系统四大核心管理模块1. 进程管理处理机管理核心目标解决CPU 资源的分配与复用问题。在多道程序环境下让单个 CPU 可以 “同时” 运行多个程序从宏观上实现并行效果大幅提升 CPU 利用率。关键机制多道程序设计内存中同时存放多道程序CPU 在它们之间快速切换宏观并行、微观串行。进程抽象将 “程序的一次运行过程” 封装为进程作为 CPU 调度和资源分配的基本单位。上下文切换保存当前进程的运行状态加载下一个进程的状态实现 CPU 使用权的平滑交接。实例详解你在电脑上同时打开浏览器刷网页、音乐软件放歌、Word 写文档本质是 3 个进程在共享同一个 CPU浏览器进程执行 10ms解析网页代码、渲染页面元素时间片耗尽OS 保存浏览器的寄存器数据、运行位置到内存切换到音乐进程音乐进程执行 5ms解码音频数据、输出到声卡播放音乐进程触发 I/O 等待读取下一段音频文件主动让出 CPUOS 切换到 Word 进程Word 进程执行 8ms响应键盘输入、更新文档显示。整个切换过程在毫秒级完成人类感知不到停顿形成了 “多程序同时运行” 的视觉效果。2. 内存管理核心目标管理内存空间的分配与回收保证多进程之间的内存隔离同时通过虚拟存储技术 “扩充” 物理内存容量。关键机制内存分配与回收为每个进程分配独立的内存空间进程结束后回收空间供其他进程使用。内存保护通过地址界限寄存器、页表权限位防止进程越权访问其他进程的内存空间。虚拟内存利用磁盘空间模拟内存让进程可以使用远大于物理内存的地址空间。地址映射将进程使用的虚拟地址通过页表动态转换为物理内存的真实地址。实例详解一台 8G 物理内存的电脑同时运行 10 个进程每个进程都 “以为” 自己独占了完整的内存空间每个 32 位进程都拥有 4GB 的虚拟地址空间但只有当前正在运行的热点数据会加载到物理内存当物理内存不足时OS 会把长期不用的进程数据 “换出” 到磁盘的交换区Swap当进程再次访问这部分数据时触发缺页中断OS 再把数据从磁盘 “换入” 内存。比如你打开了 20 个浏览器标签页长时间未访问的标签页数据会被换出到磁盘切回该标签时的短暂加载过程就是内存换入的体现。3. 文件管理核心目标对磁盘等外存设备进行抽象管理将零散的磁盘扇区封装为层级化的文件系统让用户可以按文件名存取数据无需关心底层存储细节。关键机制文件逻辑结构提供流式文件、记录式文件等逻辑视图屏蔽物理存储差异。物理存储管理通过 FAT、inode 等方式管理磁盘块的分配与释放。目录管理通过树形目录结构组织文件实现按名存取。文件保护通过读 / 写 / 执行权限位控制不同用户的访问权限。实例详解你在 D 盘新建一个note.txt文件并写入 100 字内容你只需指定文件名和内容OS 会自动在磁盘上寻找空闲扇区存放数据OS 在文件系统的 inode 表中记录该文件的大小、创建时间、磁盘块位置、权限信息下次打开note.txt时OS 通过目录找到 inode再根据 inode 里的地址定位磁盘上的真实数据若设置文件为 “只读”其他用户账号就无法修改该文件内容。整个过程中你完全不需要知道数据存在磁盘的第几个磁道、第几个扇区。4. 设备管理核心目标统一管理各类 I/O 设备键盘、鼠标、显示器、打印机等屏蔽硬件型号差异提供统一调用接口同时缓解 CPU 与 I/O 设备的速度差。关键机制设备独立性应用程序通过统一的系统调用访问设备无需关心具体硬件厂商和型号。缓冲技术在内存中设置缓冲区缓解 CPU 高速运算与 I/O 设备低速传输的速度差。中断与 DMA中断机制让 CPU 无需轮询设备状态DMA 让数据传输不占用 CPU 资源。驱动程序OS 通过驱动程序与具体硬件交互适配不同厂商的设备。实例详解你在 Word 里点击 “打印” 按钮Word 通过 OS 提供的统一打印接口发送打印请求不需要适配具体打印机型号OS 将打印任务加入打印队列同时在内存中开辟缓冲区存放待打印数据打印机空闲时OS 通过驱动程序发送数据数据传输由 DMA 控制器完成CPU 可继续处理其他任务打印完成后打印机向 CPU 发送中断信号OS 通知用户打印完成。三、进程基础认知OS 管理的核心对象从四大管理模块可以看出进程是 OS 资源分配的基本单位也是 OS 管理的核心载体。所有 CPU、内存、文件、设备资源最终都是分配给各个进程使用。1. 进程的定义进程Process是程序的一次执行过程是系统进行资源分配和调度的独立单位。2. 进程与程序的区别表格维度程序进程本质静态的代码指令集合存储在磁盘上动态的执行过程存在于内存中生命周期永久存在不运行也不会消失有创建、运行、终止的完整生命周期资源占用不占用系统运行资源占用 CPU、内存、文件句柄等运行资源对应关系一个程序可以对应多个进程一个进程只能对应一个程序举例双击两次 “微信.exe”会打开两个微信窗口对应两个独立进程但运行的是同一个程序关闭所有微信窗口所有微信进程终止但磁盘上的微信程序文件依然存在。3. 进程的组成一个进程在内存中由三部分构成代码段Text Segment存放程序的可执行指令只读属性多个进程可以共享同一段代码。数据段Data Segment存放全局变量、静态变量、堆和栈数据每个进程私有互不共享。进程控制块PCB, Process Control BlockOS 管理进程的核心数据结构是进程存在的唯一标志。存储进程 ID、进程状态、寄存器值、内存分配信息、打开的文件列表、优先级等所有管理信息。谢谢