Operating System Concepts ——chapter 6——CPU Scheduling

调度算法目标:
通过多道程序设计来获得尽可能大的CPU利用率。

基本算法:

FCFS

first come, first server
看起来很公平,但是并不一定合理。
容易导致短作业进程等待时间过长。

SJF

shortest job first
选择执行时间最短的优先执行

非抢占式

如果一个作业已经在执行了,即使有执行时间更短的作业到达,依然保持已经在执行的作业,不进行抢占。

抢占式

如果一个作业已经在执行了,如果有执行时间更短的作业到达,则执行时间更短的作业被执行。

等待时间=结束时刻-执行时间-到达时刻

怎么知道作业下次执行时间是多少?
指数平均法:
在这里插入图片描述

priority scheduling

每个进程都被赋予一个优先级。优先级越高越先执行。
SJF是优先级调度的一种

缺点:
infinite blocking(饥饿)
解决办法:
aging.
动态优先级,等待时间越长,优先级越高。

Round-Robin scheduling

时间片轮转。一般每个时间片为10-100ms。

相比SJF,RR算法时间片会小一些,但是有更好的实时响应。

multilevel queue

ready queue is partitioned int separate queues:
forground(interactive)
background(batch)
Each queue has its own scheduling algorithm:
foreground – RR
background – FCFS

multilevel feedback queue

a process can move between the various queues.
比如随着CPU的使用变化可以在I/O-bound 队列和CPU-bound中切换。
例如:
3 queues:
Q0– RR with time quantum 8 milliseconds
Q1– RR time quantum 16 milliseconds
Q2– FCFS
Scheduling:
Lower-priority processes cannot be executed only higher-priority queue is empty
A new job enters queue Q0which is servedFCFS
When it gains CPU, job receives 8 milliseconds
If not finish in 8 milliseconds, moved to queue Q1.
At Q1 job is again served FCFS and receives 16 additional milliseconds
If it still does not complete, it is preempted and moved to queue Q2.

### 关于《Operating System Concepts Essentials》第十版的内容概述 虽然当前提供的引用并未直接涉及《Operating System Concepts Essentials》第十版的具体内容[^1],但可以基于该书的主题提供一个全面的总结。以下是关于这本书的核心主题和主要内容: #### 书籍核心主题 《Operating System Concepts Essentials》是一本专注于操作系统的经典教材,涵盖了操作系统设计与实现的关键方面。其主要目标是帮助读者理解现代计算机系统的工作原理以及如何高效管理硬件资源。 #### 主要章节概览 1. **绪论** 这一章介绍了操作系统的定义、功能及其重要性。它还讨论了不同类型的OS(如批处理系统、分时系统等),并解释了它们的设计原则[^2]。 2. **进程管理** 讨论了进程的概念、状态转换模型以及调度算法。这一部分还包括线程的支持机制及其实现方式[^3]。 3. **内存管理** 阐述虚拟存储器技术的基础理论,包括分页(Page)、分段(Segmentation),以及两者的组合应用。此外,还探讨了页面置换策略的影响因素[^4]。 4. **文件系统接口与实现** 描述了文件抽象的数据结构表示方法;分析磁盘空间分配方案的选择依据;研究目录结构的设计思路及其优化措施[^5]。 5. **I/O子系统** 探讨设备驱动程序的作用范围和服务质量保障手段;介绍缓冲区缓存(Buffer Cache) 的工作流程及时序控制逻辑[^6]。 6. **死锁预防与恢复** 提供了解决死锁问题的各种途径——从检测到避免再到解除的方法集合[^7]。 7. **分布式环境下的挑战** 对应网络化计算场景下特有的难题进行了剖析,比如时间同步(Time Synchronization) 和一致性协议(Consistency Protocols)[^8]。 8. **安全性考量** 强调保护敏感信息的重要性,并列举了几种常见的攻击形式连同对应的防御对策[^9]。 #### 下载PDF版本的相关提示 对于希望获取本书电子副本的学习者来说,可以通过正规渠道购买官方授权发行商所提供的数字化产品链接地址访问下载服务。同时提醒注意版权法律条款规定,在未经授权情况下复制传播受保护作品属于违法行为。 ```python import requests def fetch_book(url): response = requests.get(url) if response.status_code == 200: with open('book.pdf', 'wb') as f: f.write(response.content) fetch_book("https://example.com/operating-system-concepts-essentials-10th-edition.pdf") # 替换为实际URL ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值