实验1:Alarm-Clock指导手册剖析.doc

实验1:Alarm-Clock指导手册剖析

西安电子科技大学 《操作系统课程设计》 实 验 指 导 手 册 名称 作者 时间 2013-09-202013-10-22 1.任务描述 源代码devices/timer.c中有一个timer_sleep()函数。定义如下: 该函数的功能是让调用它的线程睡眠一段时间(ticks),然后唤醒。 事实上,Pintos已经实现该函数,只是使用的是“忙等待”的方法(见while循环)。 本实验的要求:重新实现timer_sleep( )函数,避免“忙等待”的发生(策略有多种,请大家设计一种并实现即可) 2.背景知识 2.1源码阅读 为顺利完成本实验,你至少需要阅读以下源代码文件(并非每一行都要读懂),并了解其中关键数据结构和函数的含义,它们是: ../src/threads/目录下: -- thread.h, thread.c:有关线程初始化、阻塞、解除阻塞,线程调度等内容; -- interrupt.h, interrupt.c:与中断有关的处理函数。 ../src/devices/目录下: -- timer.h, timer.c:本实验要修改的time_sleep( )函数就在其中,同时请注意理解定时器中断的处理过程。 2.1.1线程数据结构 在thread.h中定义了一个结构体struct thread,这个结构体用于存放的基本信息 请注意enum

文档评论(0)

1亿VIP精品文档

相关文档