实验1:Alarm-Clock 黄伯虎 任务描述 源代码devices/timer.c中有一个timer_sleep 函数。定义如下: 任务描述 本实验任务: 重新实现timer_sleep 函数,避免“忙等待”的发生 策略有多种,请大家设计一种并实现即可 相关源代码 为顺利完成本实验,你至少需要阅读以下源代码文件 并非每一行都要读懂 ,并了解其中关键数据结构和函数的含义,它们是: ../src/threads/目录下: thread.h, thread.c:有关线程初始化、阻塞、解除阻塞,线程调度等内容; interrupt.h, interrupt.c:与中断有关的处理函数。 ../src/devices/目录下: timer.h, timer.c:本实验要修改的time_sleep 函数就在其中,同时请注意理解定时器中断的处理过程。 数据结构 thread.h中定义了一个结构体struct thread,这个结构体用于存放线程的基本信息 数据结构 Pintos中线程的状态有四种,threads.h中定义如下: 系统的驱动 驱动力:定时器中断(timer interrupt) 定时器中断频率 time.h : 中断处理过程 中断处理过程 其它需关注函数 thread_current 获取当前的线程的指针。 thread_foreach thread_action_func *func, void *aux 遍历当前ready queue中的所有线程,并且对于每一个线程执行一次func操作(注意到这里的func是一个任意给定函数的指针,参数aux则是你想要传给这个函数的参数)。实际上Pintos中所有ready的线程被保存在一个链表 ready_list 中,这个函数做得不过是遍历了一遍链表而已。注意这个函数只能在中断关闭的时候调用。 其它需关注函数 thread_block 和thread_unblock thread *t 这是一对儿函数,区别在于第一个函数的作用是把当前占用CPU的线程阻塞掉(放到waiting queue里面);第二个函数作用是将已经被阻塞掉的进程t唤醒到ready队列中。 timer_ticks 返回自从系统启动经过的时间量 以ticks为单位 。 timer_elapsed 返回自某个时刻起经过的时间量(以ticks为单位)。 一种策略 要求 基本要求:实现本讲义中策略 同时我们鼓励提出新的策略并尝试实现! 实验结果测试 进入 ../printos/src/threads/目录,运行#make check命令,它会自动检查你的任务有没有完成。如果已经完成,应有7个检测通过 Xidian University OS Curriculum Design 《操作系统课程设计》 CPU 该函数的功能是让调用它的线程睡眠一段时间 ticks ,然后唤醒。 事实上,Pintos已经实现该函数,只是使用的是“忙等待”的方法 见while循环 。 由此可知一个定时器中断的时长大约为10ms,这里称为一个ticks。 Pintos中一个时间片的长度 4*ticks ≈ 40ms。当一个线程运行了一个时间片后,它必须放弃处理器给其它的线程。那么系统是如何知道当前线程的运行时间,以及何时进行线程切换呢? Timer interrupt 系统接受到后调用intr_hannder 调用timer_interrupt intr_handler 中 CPU wait ready 下次实验课大家一起探讨! * * * *
您可能关注的文档
- 巴林银行倒闭概述.doc
- 巴音布鲁克草场不同季节苔草的营养成分变化规律毕业论文概述.doc
- 1.6中国的自然资源hj描述.ppt
- 变电站电子围栏方案概述.doc
- 1.7.1简单几何体的侧面积(北师大版必修2)描述.ppt
- 1.7_用显微镜观察身边的生命世界(三)描述.ppt
- 布尔表达式的翻译程序设计概述.doc
- 1.8 电容器的电容描述.ppt
- 1.8电容器的电容(上课用)描述.ppt
- 1.8电容器的电容用描述.ppt
- 2025年阿勒泰职业技术学院马克思主义基本原理概论期末考试模拟题附答案解析.docx
- 2026年政工职称考试题库必考题.docx
- 2026年考公时事政治热点汇编及一套完整答案.docx
- 2025年陇东学院马克思主义基本原理概论期末考试模拟题含答案解析(夺冠).docx
- 2024年长岭县事业单位联考招聘考试历年真题附答案.docx
- 2024年烟台科技学院马克思主义基本原理概论期末考试题附答案.docx
- 2025江西宜春国有企业招聘纪检监察机构工作人员18人模拟试卷附答案.docx
- 2025四川长虹电子控股集团有限公司招聘应用架构高级经理岗位1人笔试备考试卷附答案解析.docx
- 2026时事政治复习提分资料及答案(网校专用).docx
- 2026年公务员考试《时事政治》热点分析卷(考点梳理).docx
最近下载
- 16S401 管道和设备保温、防结露及电伴热.pdf VIP
- 《YY/T 0337-2025麻醉和呼吸设备 气管插管和接头》.pdf
- 注册消防工程师课件获取途径.pptx VIP
- 2025-2026学年大象版(2024)小学科学一年级上册教学计划及进度表.docx
- 22J603-1 铝合金门窗(建筑图集).docx
- 移动端推荐框产品需求文档.docx VIP
- eVTOL低空经济低空无人机消防部署AI识别项目设计方案【185页WORD】.docx VIP
- 2023年大学生环保知识竞赛题.docx VIP
- 2021建筑幕墙安全性评估技术标准.docx
- 英语人教版八年级下册Unit 6 教案.pdf VIP
原创力文档

文档评论(0)