Process Scheduling based on Linux3.2 孟宁 电话: 0512-68839302 孟宁 V5 : 主页:

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

教務處註冊組 /7 (二) 10 : 00 至 15 : 00 止 ★ 6/8 彙整報名資料後, 6/9 向高中承 辦學校報名 ★ 因校內作業時間緊迫,逾時恕不 受理。 校內報名時間.
高级服务器设计和实现 1 —— 基础与进阶 余锋
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
1 张惠娟 副教授 Linux 进程管理. 2 内容 进程组成 进程环境 进程管理内容 进程控制块 进程状态 进程调度 进程控制 进程通信.
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
三水区安监局 企业安全用电 2013年4月.
企业价值收益法评估 ----财务报表调整 主讲人:阮咏华 1.
第五章 话语的语用意义(上) 主讲人:周明强.
广西师范大学教科院马佳宏 电 话 0773- (O) 高校教师资格认定考试的若干事项 广西师范大学教科院马佳宏 电 话 0773- (O)
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
龙芯多媒体电脑教室培训 龙梦极域电子教室 江苏龙芯梦兰科技股份有限公司.
职 业 礼 仪 讲师:刘巍女士.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
孟宁 电话: 主页:
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
李建民 教授 北京百川健康科学研究院 脊柱健康技术研究中心
第二章 项目一:企业厂区与车间平面设计 1.
香港普通話研習社科技創意小學 周順強老師.
三大自然区的内部差异 地理 全日制普通高级中学教科书(选修) 第二册 人民教育出版社地理社会室 编著 人民教育出版社 关于.
坚持群众路线 实现中国梦 nice队制作 成员:14金融1班陈云凤 14金融2班王文婷 14会计3班吴丹丹.
Chapter 6: CPU Scheduling CPU调度
实用操作系统概念 张惠娟 副教授 1.
第8章 机床操作 主讲:臧红彬 博士.
第九章 长期资产及摊销 2017/3/21.
第六讲 进程控制与调度 目的与要求:理解进程切换过程,理解进程调度原因及调度切换时机,掌握进程调度方式与实现及各种调度算法,弄清作业和进程的关系,了解线程的引入原因。 重点与难点:进程切换的实现与进程调度算法。 作业:7, 8, 10, 11, 19, 20。
4.1 调度的层次 4.2 Linux交换调度 4.3 Linux进程调度 4.4 小结 习题
授課大綱 第一章 緒 論 第一節 應用文的意義 第二節 應用文的種類 第二章 書 信 第一節 書信的種類 第二節 書信的結構 第三章 便 條
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
第4章 作業系統的介紹及操作.
第二章 行程管理 朱肇明 資管系 講師 大華技術學院.
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度(part II) 中国科学技术大学计算机系 陈香兰 Fall 2013.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
中国科学技术大学计算机系 陈香兰(0512- ) Autumn 2011
中国科学技术大学计算机系 陈香兰(0512- ) Autumn 2009
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
第六章 Linux内核.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
作業系統 第三章 作業系統結構.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
KVM及其调度简介 by 胡小康.
作業系統 第三章 作業系統結構.
进程概念.
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
中国科学技术大学计算机系 陈香兰 Fall 2013 第四讲 CPU调度 中国科学技术大学计算机系 陈香兰 Fall 2013.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
信号量(Semaphore).
如何检索统计申请与在研项目(科研人员) “科研之友”技术支持小组
新竹縣108學年度第1次國小以上 特殊教育鑑定安置說明會
進修學院與我.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
架构师成长感悟 吴隆烽
慈惠醫護管理專科學校圖書館 館際合作使用方法.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
“上海市教师教育课程资源共享管理平台” 学分银行操作指南
多姿多彩的世界.
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Presentation transcript:

Process Scheduling based on Linux3.2 孟宁 电话: 孟宁 V5 : 主页: 地址:苏州工业园区独墅湖高等教育区仁爱路 166 号明德楼 A302 室 2012 年 5 月

进程的分类 ♦ 不同类型的进程有不同的调度需求 ♦ 第一种分类: –I/O-bound 频繁的进行 I/O 通常会花费很多时间等待 I/O 操作的完成 –CPU-bound 计算密集型 需要大量的 CPU 时间进行运算

进程的分类 ♦ 第二种分类 – 批处理进程( batch process ) 不必与用户交互,通常在后台运行 不必很快响应 典型的批处理程序:编译程序、科学计算 – 实时进程( real-time process ) 有实时需求,不应被低优先级的进程阻塞 响应时间要短、要稳定 典型的实时进程:视频 / 音频、机械控制等 – 交互式进程( interactive process ) 需要经常与用户交互,因此要花很多时间等待用户输入操作 响应时间要快,平均延迟要低于 50~150ms 典型的交互式程序: shell 、文本编辑程序、图形应用程序等

Linux 中的进程调度 ♦Linux 既支持普通的分时进程,也支持实时 进程 ♦Linux 中的调度是多种调度策略和调度算法 的混合。 ♦ 什么是调度策略? – 是一组规则,它们决定什么时候以怎样的方式 选择一个新进程运行 ♦Linux 的调度基于分时和优先级 – 随着版本的变化,分时技术在不断变化

Linux 中的进程调度 ♦Linux 的进程根据优先级排队 – 根据特定的算法计算出进程的优先级,用一个 值表示 – 这个值表示把进程如何适当的分配给 CPU ♦Linux 中进程的优先级是动态的 – 调度程序会根据进程的行为周期性的调整进程 的优先级 较长时间未分配到 CPU 的进程,通常 ↑ 已经在 CPU 上运行了较长时间的进程,通常 ↓

与进程调度相关的系统调用 ♦nice ♦getpriority/setpriority ♦sched_getscheduler/sched_setscheduler ♦sched_getparam/sched_setparam ♦sched_yield ♦sched_get_priority_min/sched_get_priority _max ♦sched_rr_get_interval

进程调度算法 ♦Linux 2.4 的调度算法 – 需要遍历可运行队列,算法 O(n) –Epoch ,基本时间片,动态优先级 ♦Linux 的调度算法( 之前) – 采用双队列( Active ; expire ),按照优先级组队, O(1) ♦Linux 的调度算法 – 非实时: CFS , vruntime ,红黑树 – 实时:优先级队列 ♦Linux 进程可以指定该进程所采用的调度策略 ♦ 调度算法根据进程的调度策略,采用不同的调度算法

schedule 函数 ♦schedule 函数实现调度 ♦ 目的:在运行队列中找到一个进程,把 CPU 分配给它 ♦ 调用方法: – 直接调用,如 sleep_on – 松散调用,根据 need_resched 标记

调度的时机 ♦ 调度时机来临时,内核或驱动将调用 schedule() ♦ 在 Linux 中调度的时机主要有: –current 的状态从 running 转换为其他状态时,如: 1 )进程终止。 exit() 在最后调用 schedule() 。 2 )进程因某种原因进入等待状态。 比较常见的就是进程调用 nanosleep() 或者 wait 系列的系统调用。 此外,在设备驱动程序中,最常见的原因就是 驱动引发一次 I/O 操作后,为等待 I/O 操作的结 束而进入等待状态。多数情况下,驱动会直接 调用 schedule() 。

调度的时机 – 当前进程的时间片用完时。 时间片是否用完,由时钟中断处理程序进行判断。 若到期,就将 current 的 need_resched 位置 1 。 返回用户态时,根据 need_resched 调用 schedule() – 进程从中断、异常、系统调用状态(即内核态) 返回时。 若在中断、异常、系统调用中, current 的 need_resched 被置 1 ,都会导致进程调度。 包括上述时钟中断。

谢谢大家! 把握方向、脚踏实地; 顺势而为、随遇而安。 参考资料: 《深入理解 Linux 内核》第三版