操作系统是计算机系统的核心软件,负责管理和协调硬件与软件资源,为用户和应用程序提供高效、稳定的运行环境。其主要功能包括进程管理、存储管理、设备管理和文件管理等。
-
进程管理
进程是程序的一次执行过程,操作系统通过进程管理实现多任务处理。主要功能包括:- 进程的创建、调度、同步与通信
- 处理进程状态转换(就绪、运行、阻塞)
- 避免死锁(如使用银行家算法)
- 调度算法:先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度等
-
存储管理(内存管理)
管理主存资源,确保各进程安全、高效地使用内存:- 内存分配与回收(连续/非连续分配)
- 分页(Paging)与分段(Segmentation)
- 虚拟内存技术:允许程序使用比物理内存更大的地址空间
- 页面置换算法:如先进先出(FIFO)、最近最少使用(LRU)
-
设备管理
控制和协调外部设备的使用:- 提供统一的设备驱动接口
- 实现I/O调度、缓冲、缓存和设备分配
- 支持中断机制与DMA(直接内存访问)
- 即插即用(PnP)与电源管理
-
文件管理
组织、存储和检索文件数据:- 文件的创建、删除、读写与共享
- 目录结构管理(树形目录)
- 文件系统的实现(如FAT、NTFS、ext4)
- 磁盘空间分配方式:连续、链接、索引
- 文件保护与访问控制机制
这些模块协同工作,共同保障系统的稳定性、安全性和高效性。
进程调度是操作系统根据一定的策略,从就绪队列中选择一个或多个进程分配CPU资源,使其得以执行的过程。其核心目标是提高系统资源的利用率、响应速度和吞吐量,同时保证公平性和避免饥饿。
进程调度的类型:
- 高级调度(作业调度):决定哪些作业从外存调入内存,创建进程。
- 中级调度:在内存和外存之间交换进程(挂起与恢复),用于实现虚拟内存。
- 低级调度(CPU调度):真正决定哪个就绪进程获得CPU运行权,频率最高。
常见的进程调度算法:
-
先来先服务(FCFS, First-Come First-Served)
- 按照进程到达就绪队列的顺序调度
- 优点:简单直观
- 缺点:平均等待时间长,可能导致“护航效应”
-
短作业优先(SJF, Shortest Job First)
- 优先调度预计运行时间最短的进程
- 可分为抢占式(SRTF:最短剩余时间优先)和非抢占式
- 优点:最小化平均等待时间
- 缺点:难以预估运行时间,可能导致长进程饥饿
-
时间片轮转(RR, Round Robin)
- 每个进程分配一个固定的时间片(如10ms)
- 时间片用完后,进程让出CPU并进入就绪队列末尾
- 优点:公平,适合分时系统
- 缺点:时间片过大退化为FCFS;过小则上下文切换开销大
-
优先级调度(Priority Scheduling)
- 每个进程赋予一个优先级,高优先级先执行
- 可分为抢占式和非抢占式
- 缺点:可能导致低优先级进程长期得不到执行(饥饿)
- 解决方案:引入“老化”(aging)技术,随时间提升等待进程的优先级
-
多级反馈队列调度(MLFQ, Multilevel Feedback Queue)
- 将就绪队列分为多个级别,不同级别采用不同调度算法(如RR + 优先级)
- 新进程进入高优先级队列,若用完时间片未完成则降级
- I/O密集型进程可保留在高优先级以提高响应
- 综合性能好,广泛应用于现代操作系统(如UNIX、Linux)
示例对比(简化):
| 算法 | 是否公平 | 平均等待时间 | 实现难度 | 适用场景 |
|---|---|---|---|---|
| FCFS | 否 | 较长 | 简单 | 批处理系统 |
| SJF | 否 | 最短 | 中等(需预测) | 批处理优化 |
| RR | 是 | 中等 | 简单 | 分时系统 |
| 优先级 | 否 | 视情况 | 中等 | 实时系统 |
| MLFQ | 较好 | 优 | 复杂 | 通用操作系统 |



被折叠的 条评论
为什么被折叠?



