操作系统(Operating System,OS)是计算机系统中最基础、最核心的系统软件,负责管理硬件资源、提供用户接口、协调应用程序运行。以下是操作系统最核心的五大概念体系:
一、进程与线程管理
1. 进程(Process)
- 定义:程序的一次执行过程,是系统进行资源分配和调度的基本单位
- 核心特征:拥有独立的地址空间、代码段、数据段、堆栈段
- 进程控制块(PCB) :操作系统为每个进程维护的数据结构,包含进程状态、寄存器值、内存信息等
2. 线程(Thread)
- 定义:进程内的执行单元,是CPU调度的基本单位
- 特点:同一进程内的线程共享内存空间和资源,切换开销远小于进程
- 分类:用户级线程(由用户程序管理)、内核级线程(由操作系统管理)
3. 进程调度
- 调度算法:先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度
- 状态转换:就绪、运行、阻塞三种基本状态
二、内存管理
1. 地址空间
- 物理地址:内存芯片的实际物理地址
- 逻辑地址:程序使用的地址(相对地址)
- 地址转换:通过页表/段表将逻辑地址映射到物理地址
2. 内存分配策略
- 连续分配:单一连续分配、固定分区、可变分区
- 非连续分配:分页、分段、段页式(现代操作系统主流)
3. 虚拟内存
- 核心思想:将部分程序存储在磁盘上,需要时调入内存
- 页面置换算法:先进先出(FIFO)、最近最少使用(LRU)、最佳置换(OPT)
- 工作集模型:描述进程在某一时间段内访问的页面集合
三、文件系统
1. 文件结构
- 逻辑结构:流式文件、记录式文件
- 物理结构:连续分配、链接分配、索引分配
- 目录结构:单级目录、二级目录、树形目录、无环图目录
2. 文件操作
- 创建、删除、打开、关闭、读、写、定位
- 文件控制块(FCB) :存储文件元信息(文件名、大小、位置等)
3. 磁盘调度
- 调度算法:先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(SCAN)、循环扫描(C-SCAN)
四、设备管理
1. I/O控制方式
- 程序查询方式、中断方式、DMA方式(直接内存访问)、通道方式
2. 设备分配与回收
- 独占设备、共享设备、虚拟设备(SPOOLing技术)
- 设备分配策略:先来先服务、优先级
3. 缓冲技术
- 单缓冲、双缓冲、循环缓冲、缓冲池
- 目的:缓解CPU与I/O设备速度不匹配问题
五、系统保护与安全
1. 进程同步与互斥
- 临界资源:一次只允许一个进程使用的资源
- 同步机制:信号量(Semaphore)、管程(Monitor)、互斥锁(Mutex)
- 经典问题:生产者-消费者问题、读者-写者问题、哲学家就餐问题
2. 死锁
- 必要条件:互斥、请求和保持、不剥夺、循环等待
- 处理策略:预防、避免(银行家算法)、检测与解除
3. 安全机制
- 用户身份认证、访问控制、文件权限管理
- 系统调用保护、内存保护、I/O保护