
操作系统期末复习笔记!(仅供参考)
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
这份期末复习笔记涵盖了操作系统课程的核心知识点和重要概念,包括进程管理、内存管理、文件系统等,旨在帮助学生高效备考。
根据提供的信息,我们可以总结出以下操作系统相关的知识点:
### 一、死锁的判定与避免
#### 死锁的条件
- **互斥条件**:至少有一个资源必须保持在一个进程中,不能被其他进程访问。
- **占有且等待条件**:一个进程在等待资源的同时保持着对已分配资源的占用。
- **非抢占条件**:资源一旦被分配,就不能被抢占,只能由该进程显式释放。
- **循环等待条件**:存在一种进程间的循环等待链。
#### 死锁的避免方法
- **银行家算法**:通过预测未来资源分配是否会进入安全状态来决定是否进行资源分配。
- **安全序列**:如果能找到一个序列使得所有进程都能够按照此序列运行完毕,则认为系统处于安全状态。
- **资源请求检查**:当一个进程请求额外资源时,系统会模拟分配后的情况,并检查是否还能保持安全状态。
- **可用资源**(Available):系统中所有资源的当前可用数量。
- **最大需求矩阵**(MAX):记录每个进程可能的最大资源需求。
- **分配矩阵**(Allocation):记录当前每个进程已经分配到的资源数量。
- **需求矩阵**(Need):`Need[i] = MAX[i] - Allocation[i]`。
- **工作向量**(Work):初始化为可用资源向量,用于模拟分配后的可用资源变化。
#### 死锁的判定
- 当系统的资源分配情况达到某个特定状态时,可以判定是否会发生死锁。
- 如果每个进程都需要的资源数量超过了可用资源的总和,那么可能会发生死锁。
- **示例**:如果有三个进程,每个进程需要两台磁带机,而系统中只有五台磁带机,则当每个进程都已经获取了一台磁带机时,就会发生死锁,因为剩下的资源不足以满足任何进程的需求。
### 二、进程的概念与管理
#### 进程的定义
- **进程**是程序的一次执行过程,它是系统进行资源分配和调度的基本单位。
- **特征**:
- **动态性**:进程的生命周期包括创建、运行和撤销。
- **并发性**:多个进程可以同时存在于内存中,并能在一段时间内并发运行。
- **独立性**:进程实体能够独立运行,独立获取资源和独立被调度。
- **异步性**:进程按照不可预知的速度向前推进。
#### 进程的状态
- **就绪状态**:进程已准备好运行,但尚未被分配处理器时间。
- **运行状态**:进程正在处理器上运行。
- **阻塞状态**:进程由于等待某种条件的发生(如等待IO操作完成)而暂停运行。
#### 进程间的通信与同步
- **同步机制**:
- **信号量**(Semaphore):用于解决进程间的同步问题。
- **记录型信号量**:提供了一种简单的同步机制,支持PV操作。
- `P(S)`操作:申请资源。
- `V(S)`操作:释放资源。
- **生产者-消费者问题**:展示了在共享缓冲区中生产者和消费者之间如何实现同步。
- **哲学家进餐问题**:用于探讨解决死锁的方法。
- **读写者问题**:涉及多个读者和写者共享资源时的同步问题。
### 三、作业调度算法
#### 作业调度算法的目的
- 最大化资源利用率。
- 公平地分配CPU时间。
- 减少等待时间和响应时间。
- 提高系统吞吐量。
#### 常见的作业调度算法
- **先来先服务(FCFS)**:按照作业到达的顺序进行调度。
- **短作业优先(SJF)**:优先调度运行时间较短的作业。
- **基于最短服务时间**:与SJF类似,但更关注服务时间而非到达时间。
- **基于最短服务剩余时间**:抢占式的短作业优先算法。
- **高优先级调度**:具有较高优先级的作业将被优先调度。
- **高响应比优先调度**:综合考虑等待时间和运行时间,优先调度响应比高的作业。
#### 调度算法实例分析
- **非抢占式调度**:一旦一个作业开始运行,它将一直运行直到完成或主动放弃处理器。
- **抢占式调度**:允许在某些条件下中断当前运行的作业,以调度另一个更高优先级的作业。
### 四、案例分析
#### FCFS调度算法示例
- **作业到达时间**:作业到达的时间。
- **完成时间**:作业运行完毕的时间。
- **周转时间**:作业完成时间减去到达时间。
- **带权周转时间**:周转时间除以作业运行时间。
#### SJF调度算法示例
全部评论 (0)


