201308010314 计科3班 王操
杨庄小学2012

班长
李梦园
纪律委员
范宝宝
体育委员
石地豪
卫生委员
陈蒙
语文课代表
李梦园
数学课代表
张庚垚
杨庄小学2012-2013第二学期二年级
轮流值日表
星期
值日人员
一
张侠王俊豪张悠悠王俊杰
二
杨硕杨子月陈展展范娟
三
张道启杨雪晴马莎莎
四
杨艳陈梦茹蒋梦柯
五
蒋建强陈佳伟张婷婷
杨庄小学2012-2013第二学期一年级
轮流值日表
杨庄小学2012-2013第二学期五年级
轮流值日表
星期
值日人员
一
陈美凤杨浩宇石丽
二
张冰马奥运张化鹏
三
杨冬冬张远远张彩晨
四
杨杉王浩文
五
陈旭风张莉
杨庄小学2012-2013第二学期三年级
轮流值日表
星期
值日人员
一
张利俊马培元
二Hale Waihona Puke 王理想杨乐三张柯军陈坤
四
梁梦宇杨雨涵
五
王欣冉李瑞
杨庄小学2012-2013第二学期四年级
星期
值日人员
一
张月王俊豪张梦婷杨恩奇
二
陈令宇张守权梁子涵
三
梁佳欢马理想马梦婷
四
杨宇陈子强杨子航杨子运
五
杨天邱严严杨俊宏张梦情
学生操行信息

2013 2013
2013~2014(1) 2013~2014(1) 2013~2014(1)
3221003620135302010123 朱晓玲 3221003620135302010124 朱宣蓉 3221003620135302010125 朱玉雪 3221003620135302010127 庄振
3221003620135302010116 许紫徽 3221003620135302010117 杨婧文 3221003620135302010119 俞玉鑫 3221003620135302010120 张秋雪 3221003620135302010121 郑欣欣 3221003620135302010122 周舟
320811199806144010
2013
320802199802122045 320821199805306113
2013 2013
2013~2014(1) 2013~2014(1)
320811199709163527
2013
2013~2014(1)
320821199710024906 320811199807243010
2013~2014(1)
2013 2013 2013 2013
320826199704211627 320811199710063523 320804199509130227 320811199708283017 320811199807022533
2013~2014(1) 2013~2014(1) 2013~2014(1) 2013~2014(1) 2013~2014(1)
2013~2014(1ቤተ መጻሕፍቲ ባይዱ 2013~2014(1) 2013~2014(1) 2013~2014(1)
值日生轮流表

宋鑫畅
整理讲台
杨霜
餐具整理员
朱思蕊
班牌拿回员
颜俊哲
课桌椅管理员
韦雯茜
值日生轮流表
周一
周二
周三
周四
周五
擦黑板
朱承宇
高诗琦
刘维伦
朱浩煊
孟祥顺
擦饮水机
★高涵
陈伟杭
孟依瑶
★马焕然
陈羽翰
擦窗台
李潇然
杨春恩
★沈潘丽
沈婉婷
毕优璇
倒垃圾
施恩哲
凌宏波
张启宸
张宇豪
陈星雨
扫地
金王宇杰
王怡琳
孔羽鑫
★韩树林
王晨烨
施博涵
宋明朗
田心栎
王仕焱
於欣妍
孟祖翰
刘羽昊
莫伊诺
洪雨泽
★劳雅涵
电灯小干部王子晗电来自小干部
班级值日生轮流表

班级值日生轮流表
周一周二周三周四周五
扫地王梓萱(杨文睿) 凌鑫蕊(黄婷婷) (于文君) 杨若兮汤鑫瑶(王心悦)于冰冰于丹丹
嵇天一颜新悦吕佳欣张子茹
(黄铄然)刘雅萱方羽彤孙梦涵
擦地刘博宇(谷春麟)杨名轩(厚承博)曹文博郑程远吴越(国洪博)霍明俊孙记文
宋昕宇王博徐扩然郭起航
(彭一博)王旭付敖博(张烁)换水(魏昊天)张鑫鹏
摆桌椅、物品摆放(李梦琦)
擦黑板、门、饮水机(王思琪)王涵玉
擦窗户、窗台、铁柜、暖气张明玉刘佳鑫(鲁凯嘉)倪好关灯、关门(王思琪)倪好
倒垃圾(马凯)赵桐淳
浇花(黄婷婷)吕佳欣
取奶(倪好)徐扩然
取餐赵桐淳(室内)黄铄然(室外)
请不要动这个开关呦
数学生字拼音写字。
德育与班级管理课程论文之欧阳引擎创编

荆楚理工学院欧阳引擎(2021.01.01)德育与班级管理课程期末论文题目:班主任的班级管理学院:师范学院专业年级:初等教育二班2013级学生姓名:李姝旻学号:2013308010247日期:2014年12月28日摘要:班级管理是学校工作的重要环节,班主任是学校的中流砥柱,对整个班级的学生起着长期且极大的影响,也直接影响着一所学校的管理和教育教学质量的好坏。
对于刚刚大学毕业到中学担任班主任的年轻老师而言,班主任工作真可谓任重而道远。
年轻班主任要做到驾轻就熟,我们认为可以从思想、指导、原则、关爱、课堂、学习、家校沟通几个方面努力。
关键词:班主任班级管理班主任工作是学校教学工作中的重要一环,是学校各项教育工作的主要实施者,也是学生学习、思想、生活等方方面面的指导者和干预者,这决定了班主任工作的重要性、复杂性和特殊性。
使得刚从大学毕业的年轻老师在班主任工作中常常如丈二和尚,摸不着头脑。
“观乎人文,以化成天下。
”其实班主任工作只是一个与人打交道的过程。
因此,在各项工作中注意到切合人的心理,尊重人的权利,就能让班主任工作进入可持续发展的状态。
经过三年的探索,我们认为对于年轻班主任而言,从以下几个方面进行努力可以较快的让班级管理步入正轨:一、“不畏浮云遮望眼”——做一个思想者。
中学生的思想大多已经开始萌芽,他们向往着新的以及深刻的道理。
希望通过这种途径增加对世界的深度和广度的认识。
这样的形式下,大学毕业不久的年轻班主任具有绝对的优势。
大学是知识的象牙塔,是思想汇聚之地。
刚大学毕业的年轻班主任身上常常带有浓厚的书卷气,这种气质正是中学生内心深处的向往。
年轻班主任如果能够充分发挥自己的这种气质,用新颖的理论和深刻的思想熏陶中学生,一方面可以对他们的思想和行为产生积极、正面地引导作用,另一方面也可以增加对学生的吸引力,更好的树立自己的威信。
思想决定人生的高度,一个有独立和自主思想的人往往会赢得别人的尊重。
对于年轻班主任而言,有新颖思想指导学生,有独到的见解分析问题,往往会增加自己的人格魅力,赢来学生的仰视。
张楼小学运动会

张楼小学运动会程序册2012年5月大会组织委员会名单:主任:李川峰委员:朱瑞武朱春波董文众仲裁委员会:李川峰朱瑞武朱春波董文众裁判委员会名单:总裁判长:李川峰径赛裁判长:朱春波计时长:孙新东计时员:朱启兵孙新东终点裁判长:朱启兵终点记录员:孙新东司线员:学生2名(61班)联络员:学生4名(62班)检录长:刘敏检录员:学生2名(52班)发令长:朱春波助理发令员:学生2名(51班)田赛裁判长:董文众跳高裁判员:董文众成员:学生2名(51班)1跳远裁判员:李卫东成员:学生2名(61班)秘书长:王桂金成员:学生2名(42班)检查长:王福元成员:李川峰朱瑞武总记录长:姜守林成员:学生2名(41班)场地器材:朱瑞武医务员:邓旭东后勤组:朱春波奖状书写:姜守林陈沛奖品发放:翟巨臣郑启民日程安排5月11日下午一、1:40集合二、2:00开幕式1、主席台成员就做,裁判员运动员入场。
2、升国旗、奏国歌(全体肃立)。
3、领导致开幕词。
24、裁判员代表宣誓。
5、运动员代表宣誓。
6、退场。
三、比赛开始四、闭幕式各班运动员号码对照表:三年级一班:3101燕元晨3102柴情情3103张美玲3104翟召迪3105王顺馨3106曹硕3107黄宇恒3108王冲三年级二班:3201 李芳冰3202康可欣3203刘荟影3204李影3205孟祥威3206张傲3207孙守康3208孟祥展四年级一班:4101薛寒4102董安楠4103张雯4104马晓新4105侯佳昊4106王刚4107马超4108李佳昊四年级二班:4201王园4202范知知4203王海侠4204吴威4205郭想4206陈升4207曹冬冬4208曹家耀五年级一班:5101常虹姣5102李丹5103苏晴晴5104王秋丽5105马宝鹏5106姜永旺5107武衡5108孟凡瑾3五年级二班:5201薛娜5202侯雪娇5203薛倩5204张敏5205苏想5206张西尧5207王信访5208赵孝威六年级一班:6101侯佳惠6102申燕6103孟琳6104薛方莹6105王凯6106刘闫龙6107孙陈6108孟祥顺六年级二班:6201薛艺茹6202姜舒6203孙杰6204刘姗6205刘春路6206齐俊玮6207陈让6208孟祥胜径赛日程安排1、女子三年级组60米预决赛4人一组取3人2、女子四年级组60米预决赛4人一组取3人3、女子五年级组60米预决赛4人一组取3人4、女子六年级组60米预决赛4人一组取3人5、男子三年级组60米预决赛4人一组取3人6、男子四年级组60米预决赛4人一组取3人7、男子五年级组60米预决赛4人一组取3人8、男子六年级组60米预决赛4人一组取3人9、女子三年级组200米预决赛4人一组取3人10、女子四年级组200米预决赛4人一组取3人11、女子五年级组200米预决赛4人一组取3人412、女子六年级组200米预决赛4人一组取3人13、男子三年级组200米预决赛4人一组取3人14、男子四年级组200米预决赛4人一组取3人15、男子五年级组200米预决赛4人一组取3人16、男子六年级组200米预决赛4人一组取3人17、三年级组男女混合接力预决赛2队一组取1名18、四年级组男女混合接力预决赛2队一组取1名19、五年级组男女混合接力预决赛2队一组取1名20、六年级组男女混合接力预决赛2队一组取1名田赛日程安排1、男子六年级组跳高预决赛4人一组取3人2、男子五年级组跳远预决赛4人一组取3人3、男子四年级组跳高预决赛4人一组取3人4、男子三年级组跳远预决赛4人一组取3人5、女子六年级组跳高预决赛4人一组取3人6、女子五年级组跳远预决赛4人一组取3人7、女子四年级组跳高预决赛4人一组取3人8、女子三年级组跳远预决赛4人一组取3人9、男子六年级组跳远预决赛4人一组取3人10、男子五年级组跳高预决赛4人一组取3人11、男子四年级组跳远预决赛4人一组取3人513、女子六年级组跳远预决赛4人一组取3人14、女子五年级组跳高预决赛4人一组取3人15、女子四年级组跳远预决赛4人一组取3人16、女子三年级组跳高预决赛4人一组取3人径赛分组表1、女子三年级组60米预决赛4人一组取3人3101 3103 3201 32022、女子四年级组60米预决赛4人一组取3人4101 4103 4201 42043、女子五年级组60米预决赛4人一组取3人5101 5104 5102 512034、女子六年级组60米预决赛4人一组取3人6103 6104 6202 62045、男子三年级组60米预决赛4人一组取3人3205 3206 3106 31086、男子四年级组60米预决赛4人一组取3人4205 4208 4105 41077、男子五年级组60米预决赛4人一组取3人5205 5206 5107 510866206 6208 6105 61089、女子三年级组200米预决赛4人一组取3人3102 3104 3201 320210、女子四年级组200米预决赛4人一组取3人4101 4102 4201 420311、女子五年级组200米预决赛4人一组取3人5102 5103 5201 520412、女子六年级组200米预决赛4人一组取3人6101 6102 6201 620313、男子三年级组200米预决赛4人一组取3人3206 3205 3107 320514、男子四年级组200米预决赛4人一组取3人4205 4206 4106 410815、男子五年级组200米预决赛4人一组取3人5105 5106 5205 520716、男子六年级组200米预决赛4人一组取3人6205 6207 6106 610717、三年级组男女混合接力预决赛2队一组取1名三年级一班三年级二班718、四年级组男女混合接力预决赛2队一组取1名四年级一班四年级二班19、五年级组男女混合接力预决赛2队一组取1名五年级一班五年级二班20、六年级组男女混合接力预决赛2队一组取1名六年级一班六年级二班田赛分组表1男子六年级组跳高预决赛4人一组取3人6105 6106 6205 62072、男子五年级组跳远预决赛4人一组取3人5106 5107 5207 52083、男子四年级组跳高预决赛4人一组取3人4105 4107 4207 42084、男子三年级组跳远预决赛4人一组取3人3107 3108 3207 32085、女子六年级组跳高预决赛4人一组取3人6102 6103 6201 62036、女子五年级组跳远预决赛4人一组取3人5102 5103 5201 52027、女子四年级组跳高预决赛4人一组取3人4202 4204 4203 420488、女子三年级组跳远预决赛4人一组取3人3203 3204 3201 32039、男子六年级组跳远预决赛4人一组取3人6107 6108 6206 620810、男子五年级组跳高预决赛4人一组取3人5206 5208 5105 510811、男子四年级组跳远预决赛4人一组取3人4206 4207 4106 410812、男子三年级组跳高预决赛4人一组取3人3105 3106 3207 320813、女子六年级组跳远预决赛4人一组取3人6101 6104 6202 620414、女子五年级组跳高预决赛4人一组取3人5203 5204 5104 510115、女子四年级组跳远预决赛4人一组取3人4202 4203 4102 410416、女子三年级组跳高预决赛4人一组取3人3203 3204 3202 3203程序如有错误,请及时反映更改。
五年级二班班级自主化管理网络1

五年级班级自主化管理网络图
智勇组郑晓阳
飞越组马晓晴
金鹰组郑春秋
奋斗组马洋洋
全能组刘俊杰
腾飞组崔雅欣
语文马怡辰
数学刘新宇
外语张同琛
社会刘明霞
科学范晓晴
智勇组秦伟静
班长飞越组刘新宇
金鹰组郑德帅
奋斗组崔力凡
全能组王振栋
腾飞组刘艳芳
卫生区(硬化路、大门)刘瑞刘新宇刘艳芳李晓莹
范士钊(组长)张艳宁
窗户(内外)郑春秋
工具周杰
图书角崔雅馨
讲桌、讲台郑晓阳
摆车张同琛李明轩
板槽、空调、门范金鑫
卫生班长(范金鑫)楼梯窗及扶手、灭火器范晓晴
上楼扶手甄文博
下楼扶手秦继康
楼道刘俊杰范美丽刘明霞
室内卫生范士龙崔力凡(组长)秦帅
王振栋刘建庆刘晓龙郑艳慧
卫生区(林区)马晓晴(组长)马洋洋马怡辰
刘文瑶崔晓瑞秦伟静
楼梯郑春雷郑德帅(组长)马晓颖
宣传组长(马晓晴)图书管理员崔雅馨
板报成员郑春秋范晓晴范金鑫
刘艳芳马怡辰郑晓阳。
民用

李豪杰 高鹏 郭小航 简慧章 赵建龙 高文岩 曲俊峰 张振新 韩欣欣 薛娇 王雅倩 魏煦然 马海霞 李娇 封君君 赵丰 彭海龙 何晨之 何爽 马勇 张元元 刘政 杨智 王凯 张赫 王彦军 骆振东 鲍渤洋 刘玉宾 苏韬 宁大伟 闫瑞涛 胡晓程 张亚光 王欢
男 男 男 男 男 男 男 男 女 女 女 女 女 女 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男 男
05109A21 05109A24 05109A25 05109A26 05109A27 05109A28 05109A29 05109A30 05109A31 05109A32 05109A33 05109A34 05109A35 05109A36 05109A37 05109A38 05109A39 05109A41 05109A42 05109A43 05109A44
2011~2012学年第一学期 院系:工程技术系 学号 05109519 05109525 05109527 05109528 05109530 05109531 05109532 姓名 周旋 贾晓辉 李哲 明震 孙庆彬 高杨 李云飞 性别 男 男 男 男 男 男 男 日 教师姓名: 期 出勤分 行政班级: 09民用4班 日 期 作业成绩
05109128 05109129 05109132 05109134 05109135 05109136 05109137 05109138 05109139 05109140 05109142 05109201 05109202 05109203 05109204 05109205 05109206
05109217 05109218 05109219 05109220 05109221 05109222 05109223 05109224 05109227 05109228 05109229 05109230 05109231 05109236 05109238 05109239 05109241 05109244 05109245 05109301 05109302 05109303 05109304 05109305 05109306 05109307 05109308 05109311 05109313 05109315 05109316 05109319 05109320 05109328 05109330
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HUNAN UNIVERSITY操作系统实验报告题目:调度器学生姓名:wc学生学号:201308010314专业班级:计科1303同组成员:上课老师:肖德贵目录一、内容 (2)二、目的 (2)三、实验设计思想和流程 (2)四、主要数据结构及符号说明 (5)五、程序初值及运行结果 (7)六、实验体会和思考题 (7)附录(源代码及注释) (7)一、内容实验五完成了用户进程的管理,可在用户态运行多个进程。
但到目前为止,采用的调度策略是很简单的FIFO 调度策略。
本次实验,主要是熟悉ucore的系统调度器框架,以及基于此框架的Round-Robin(RR)调度算法。
然后参考RR调度算法的实现,完成Stride Scheduling调度算法。
二、目的理解操作系统的调度管理机制熟悉ucore 的系统调度器框架,以及缺省的Round-Robin 调度算法基于调度器框架实现一个(Stride Scheduling)调度算法来替换缺省的调度算法三、实验设计思想和流程实行一个进程调度策略,到底需要实现哪些基本功能对应的数据结构?首先考虑到一个无论哪种调度算法都需要选择一个就绪进程来占用CPU运行。
为此我们可把就绪进程组织起来,可用队列(双向链表)、二叉树、红黑树、数组…等不同的组织方式。
在操作方面,如果需要选择一个就绪进程,就可以从基于某种组织方式的就绪进程集合中选择出一个进程执行。
需要注意,这里“选择”和“出”是两个操作,选择是在集合中挑选一个“合适”的进程,“出”意味着离开就绪进程集合。
另外考虑到一个处于运行态的进程还会由于某种原因(比如时间片用完了)回到就绪态而不能继续占用CPU执行,这就会重新进入到就绪进程集合中。
这两种情况就形成了调度器相关的三个基本操作:在就绪进程集合中选择、进入就绪进程集合和离开就绪进程集合。
这三个操作属于调度器的基本操作。
在进程的执行过程中,就绪进程的等待时间和执行进程的执行时间影响调度选择的重要因素,这两个因素随着时间的流逝和各种事件的发生在不停地变化,比如处于就绪态的进程等待调度的时间在增长,处于运行态的进程所消耗的时间片在减少等。
这些进程状态变化的情况需要及时让进程调度器知道,便于选择更合适的进程执行。
所以这种进程变化的情况就形成了调度器相关的一个变化感知操作:timer时间事件感知操作。
这样在进程运行或等待的过程中,调度器可以调整进程控制块中与进程调度相关的属性值(比如消耗的时间片、进程优先级等)并可能导致对进程组织形式的调整(比如以时间片大小的顺序来重排双向链表等),并最终可能导致调选择新的进程占用CPU运行。
这个操作属于调度器的进程调度属性调整操作。
考察round-robin 调度器,在假设所有进程都充分使用了其拥有的CPU 时间资源的情况下,所有进程得到的CPU 时间应该是相等的。
但是有时候我们希望调度器能够更智能地为每个进程分配合理的CPU 资源。
假设我们为不同的进程分配不同的优先级,则我们有可能希望每个进程得到的时间资源与他们的优先级成正比关系。
Stride调度是基于这种想法的一个较为典型和简单的算法。
除了简单易于实现以外,它还有如下的特点:可控性:如我们之前所希望的,可以证明Stride Scheduling对进程的调度次数正比于其优先级。
确定性:在不考虑计时器事件的情况下,整个调度机制都是可预知和重现的。
该算法的基本思想可以考虑如下:1. 为每个runnable的进程设置一个当前状态stride,表示该进程当前的调度权。
另外定义其对应的pass 值,表示对应进程在调度后,stride 需要进行的累加值。
2. 每次需要调度时,从当前runnable 态的进程中选择stride最小的进程调度。
3. 对于获得调度的进程P,将对应的stride加上其对应的步长pass(只与进程的优先权有关系)。
4. 在一段固定的时间之后,回到2.步骤,重新调度当前stride最小的进程。
可以证明,如果令P.pass =BigStride / P.priority 其中P.priority 表示进程的优先权(大于1),而BigStride 表示一个预先定义的大常数,则该调度方案为每个进程分配的时间将与其优先级成正比。
证明过程我们在这里略去,有兴趣的同学可以在网上查找相关资料。
将该调度器应用到ucore 的调度器框架中来,则需要将调度器接口实现如下:init:–初始化调度器类的信息(如果有的话)。
–初始化当前的运行队列为一个空的容器结构。
(比如和RR调度算法一样,初始化为一个有序列表)enqueue–初始化刚进入运行队列的进程proc的stride属性。
–将proc插入放入运行队列中去(注意:这里并不要求放置在队列头部)。
dequeue–从运行队列中删除相应的元素。
pick next–扫描整个运行队列,返回其中stride值最小的对应进程。
–更新对应进程的stride值,即pass = BIG_STRIDE / P->priority; P->stride += pass。
proc tick:–检测当前进程是否已用完分配的时间片。
如果时间片用完,应该正确设置进程结构的相关标记来引起进程切换。
–一个process 最多可以连续运行rq.max_time_slice个时间片。
在具体实现时,有一个需要注意的地方:stride属性的溢出问题,在之前的实现里面我们并没有考虑stride 的数值范围,而这个值在理论上是不断增加的,在stride溢出以后,基于stride的比较可能会出现错误。
比如假设当前存在两个进程A 和B,stride属性采用16位无符号整数进行存储。
当前队列中元素如下(假设当前运行的进程已经被重新放置进运行队列中):使用优先队列实现Stride Scheduling可以看到由于溢出的出现,进程间stride的理论比较和实际比较结果出现了偏差。
我们首先在理论上分析这个问题:令PASS_MAX为当前所有进程里最大的步进值。
则我们可以证明如下结论:对每次Stride调度器的调度步骤中,有其最大的步进值STRIDE_MAX和最小的步进值STRIDE_MIN之差:STRIDE_MAX – STRIDE_MIN <= PASS_MAX提问1:如何证明该结论?有了该结论,在加上之前对优先级有Priority > 1限制,我们有STRIDE_MAX – STRIDE_MIN <= BIG_STRIDE,于是我们只要将BigStride取在某个范围之内,即可保证对于任意两个Stride 之差都会在机器整数表示的范围之内。
而我们可以通过其与0的比较结构,来得到两个Stride的大小关系。
在上例中,虽然在直接的数值表示上98 < 65535,但是98 - 65535 的结果用带符号的16位整数表示的结果为99,与理论值之差相等。
所以在这个意义下98 > 65535。
基于这种特殊考虑的比较方法,即便Stride有可能溢出,我们仍能够得到理论上的当前最小Stride,并做出正确的调度决定。
提问2:在ucore 中,目前Stride是采用无符号的32位整数表示。
则BigStride应该取多少,才能保证比较的正确性?在上述的实现描述中,对于每一次pick_next函数,我们都需要完整地扫描来获得当前最小的stride及其进程。
这在进程非常多的时候是非常耗时和低效的,有兴趣的同学可以在实现了基于列表扫描的Stride调度器之后比较一下priority程序在Round-Robin及Stride调度器下各自的运行时间。
考虑到其调度选择于优先队列的抽象逻辑一致,我们考虑使用优化的优先队列数据结构实现该调度。
优先队列是这样一种数据结构:使用者可以快速的插入和删除队列中的元素,并且在预先指定的顺序下快速取得当前在队列中的最小(或者最大)值及其对应元素。
可以看到,这样的数据结构非常符合Stride 调度器的实现。
本次实验提供了libs/skew_heap.h 作为优先队列的一个实现,该实现定义相关的结构和接口,其中主要包括:1 // 优先队列节点的结构2 typedef struct skew_heap_entry skew_heap_entry_t;3 // 初始化一个队列节点4 void skew_heap_init(skew_heap_entry_t *a);5 // 将节点b 插入至以节点 a 为队列头的队列中去,返回插入后的队列6 skew_heap_entry_t *skew_heap_insert(skew_heap_entry_t *a,7 skew_heap_entry_t *b,8 compare_f comp);9 // 将节点b 插入从以节点 a 为队列头的队列中去,返回删除后的队列10 skew_heap_entry_t *skew_heap_remove(skew_heap_entry_t *a,11 skew_heap_entry_t *b,12 compare_f comp);其中优先队列的顺序是由比较函数comp决定的,sched_stride.c中提供了proc_stride_comp_f比较器用来比较两个stride的大小,你可以直接使用它。
当使用优先队列作为Stride调度器的实现方式之后,运行队列结构也需要作相关改变,其中包括:struct run_queue中的lab6_run_pool指针,在使用优先队列的实现中表示当前优先队列的头元素,如果优先队列为空,则其指向空指针(NULL)。
struct proc_struct中的lab6_run_pool结构,表示当前进程对应的优先队列节点。
本次实验已经修改了系统相关部分的代码,使得其能够很好地适应LAB6新加入的数据结构和接口。
而在实验中我们需要做的是用优先队列实现一个正确和高效的Stride调度器,如果用较简略的伪代码描述,则有:init(rq):– Initialize rq->run_list– Set rq->lab6_run_pool to NULL– Set rq->proc_num to 0enqueue(rq, proc)– Initialize proc->time_slice– Insert proc->lab6_run_pool into rq->lab6_run_pool– rq->proc_num ++dequeue(rq, proc)– Remove proc->lab6_run_pool from rq->lab6_run_pool– rq->proc_num --pick_next(rq)– If rq->lab6_run_pool == NULL, return NULL– Find the proc corresponding to the pointer rq->lab6_run_pool– proc->lab6_stride += BIG_STRIDE / proc->lab6_priority– Return procproc_tick(rq, proc):– If proc->time_slice > 0, proc->time_slice --– If proc->time_slice == 0, set the flag proc->need_resched四、主要数据结构及符号说明在理解框架之前,需要先了解一下调度器框架所需要的数据结构。