进程管理的实现 :-)

Nepton 2001-08-07 07:28:36
在多进程的程序编写中,怎样才能让调度程序强行中止一个用完时间片的进程?(Borland C++ 3.1)

...全文
186 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nepton 2001-08-10
  • 打赏
  • 举报
回复
我是在ms-dos下,
环境是 Borland C++ 3.1

只是想写一个多任务的调度程序。

欢迎xiterator(xi)多多提意见!
thank you!
Nepton 2001-08-09
  • 打赏
  • 举报
回复
我现在就是想写调度程序。
再次感谢!
Nepton 2001-08-09
  • 打赏
  • 举报
回复
进程进入就绪态是由于cpu资源不足而进入就绪态的,如:被更高优先级的进程强占、进程的cpu时间片到。所以进程进入就绪态应不是以进程本身意志为转移的,而是由调度程序决定的。

:-)
说得太对了,xiterator,我现在的问题就是,调度程序怎样把一个进程放到就绪队列,(当然还要保护cpu现场,在下次得到cpu是恢复运行!)然后让就绪队列首的进程进入运行态,计算时间片,让其运行。
非常感谢!
xiterator 2001-08-09
  • 打赏
  • 举报
回复
进程进入就绪态是由于cpu资源不足而进入就绪态的,如:被更高优先级的进程强占、进程的cpu时间片到。所以进程进入就绪态应不是以进程本身意志为转移的,而是由调度程序决定的。
xiterator 2001-08-09
  • 打赏
  • 举报
回复
进程或线程调度程序是OS内核的一部分,用户程序无法介入其中,而只能依照一定的调度约束规则计划进程或线程的行为。关于调度程序的细节可以参考OS书籍.
brider 2001-08-08
  • 打赏
  • 举报
回复
bc31???
Nepton 2001-08-08
  • 打赏
  • 举报
回复
那么又请教:
那么又怎样让进程乖乖的从我的[运行态]暂时退出来,进入[就绪态]呢?

能否在解释中附上些代码?
谢谢各位!!!
SCUM 2001-08-08
  • 打赏
  • 举报
回复
同意楼上

如果一定要KILL,应先发信号通知,它不识相的话,再KILL掉。

至于如果KILL,这个就不难了。
xiterator 2001-08-08
  • 打赏
  • 举报
回复
进程终止发起原因应是进程自身的问题,如进程自已退出,或出现难以recover的异常。进程调度程序应该只负责进程占用cpu这一过程,至于进程占用cpu后的事情由进程自身决定,所以想终止进程本因也应由该进程发起。
Nepton 2001-08-07
  • 打赏
  • 举报
回复
怎么难道这就没人能够解此难题?
Nepton 2001-08-07
  • 打赏
  • 举报
回复
期望中......

70,031

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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