schedule()函数怎样用??

one_wood 2006-09-28 01:29:34
请问在驱动程序中schedule()函数怎样用??
...全文
1020 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lans 2006-10-12
  • 打赏
  • 举报
回复
我最初写驱动时, 在等待中断 或者等待某些外部条件时, 经常干这种事情:
while (condition)
schcdule();
yzx1983 2006-10-12
  • 打赏
  • 举报
回复
在著名的select 函数中,实际上就有schedule的调用

select的功能用法就不用我介绍了吧?……它检测所有的fd set后,发现没有满足的,于是“阻塞”当前进程,这个阻塞其实就是调用了schedule来重新调度进程。

我不知道是否所有的可能引起阻塞的动作都是由调用schedule来实现,但是我知道的部分都是用schedule来实现的。

此外还有一些时候,例如从内核态返回用户态的时候也会调用schedule来进行重新调度。
gjf0521 2006-09-29
  • 打赏
  • 举报
回复
当你想主动放弃CPU时用
nevil 2006-09-29
  • 打赏
  • 举报
回复
比如你把当前线程加到了等待队列中休眠,这时你让CPU重新选择一个task进行调度,这时就可以调用schedule()
one_wood 2006-09-28
  • 打赏
  • 举报
回复
能不能举个例子分析一下啊?
nevil 2006-09-28
  • 打赏
  • 举报
回复
在你想把当前线程切换出处理器,重新进行一次调度的时候调用.

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧