slobby
驱动牛犊
驱动牛犊
  • 注册日期2003-12-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:963回复:2

问几个稀奇古怪的问题,大家请赐教

楼主#
更多 发布于:2004-05-09 18:21
1)当系统正在运行一个线程时,发生了中断,系统转去处理中断,处理完了中断后,线程调度器是调入原来那个线程继续运行(假设在中断发生时它的cpu时间并没有用完),还是调用下一个优先度比它高的线程呢?

2)想做一个这样的驱动,要求能对系统中的线程进行调度,比如能暂停当前系统运行的线程,然后调入另一个线程投入运行(就像windows的线程调度器一样),大家能不能给我一点思路

xdjm
驱动中牛
驱动中牛
  • 注册日期2001-04-02
  • 最后登录2024-01-25
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望25点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-05-09 18:49
1. 应该是优先级高的线程。不过我觉得这种情况不大可能发生,这个优先级高的线程什么时候由谁来创建的呢??
2. 这样做好象没什么意义吧?
shuangsy
驱动牛犊
驱动牛犊
  • 注册日期2004-03-15
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-05-09 21:06
关于第一个问题,我的看法是这样的:
系统中的某个线程因中断而被阻塞后,处于阻塞状态,
此时系统会进行相应的中断处理,如果此次中断是由于I/O引起的,
则系统在发出I/O命令后,就会返回,然后调度下一个就绪的线程进入执行态。
当中断响应处理完后,系统会得到通知,从来使得原来的那个由于中断而阻塞的线程再次处于就绪态。
至于它是否会马上得到调度而执行,就要看当时处于就绪态的线程中那个的优先级更高了。

我这是根据操作系统书中的原理而做出的推断,仅供参考,不对的地方,还望不吝指正。

第二个问题超出了我的知识范围,无法回答。
以德服人
游客

返回顶部