首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >短期调度与调度员的区别

短期调度与调度员的区别
EN

Stack Overflow用户
提问于 2018-11-10 15:46:12
回答 1查看 199关注 0票数 0

目前,我正在阅读有关调度程序和调度算法。

我真的很困惑于短期调度和调度员。

在某些地方,它们是一样的。在一些地方,他们的工作是不同的。

无论我读到什么,我都得出结论:调度程序的“调度”是由与硬件中断相关联的代码或与系统调用相关的代码引起的。这样就实现了从用户模式到内核模式的模式切换。然后,短期调度程序从可用进程的队列中选择一个进程来控制CPU。短期调度器的任务在这里结束。

现在调度员来了。dispatcher是将CPU控制给由短期调度程序选择的进程的模块。此函数涉及以下内容:-Switching context -Switching to user mode -Jumping到用户程序中的适当位置以重新启动该程序。

  1. 我的理解正确吗?
  2. 假设进程A被抢占,然后调度进程B。在上下文切换期间发生了什么?如何保存和恢复进程A、调度程序、调度程序、进程B的上下文数据?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-10 17:32:34

流程切换步骤的各个部分是系统依赖的。操作系统书籍喜欢使这些步骤变得复杂,并将其划分为多个步骤。

实际上只有两个步骤: 1.选择一个新的过程。2.改用新的程序。

最后一步非常简单,非常简单,可能不值得被称为单独的一步。

大多数CPU定义的结构通常称为流程上下文块( Process,PBC)。PCB对于每个定义进程状态的寄存器都有一个插槽。切换过程可以非常简单,如:

代码语言:javascript
复制
SAVEPCTX pcb_address_of_current_process ; Save the state of the running process
LOADPCTX pcb_address_of_new_process ; Load the state of the other process.
REI

有些处理器需要更多的步骤,比如必须单独保存浮点寄存器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53240584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档