operating-system - 为什么上下文没有保存在进程本身而不是PCB中?
问题描述
我已经读过,当上下文切换发生时,该特定进程的上下文将保存在进程控制块中。但我想知道为什么上下文不能保存在进程本身中,所以 CPU 只需要提醒自己必须恢复哪个进程,而不是将上下文复制到 PCB。
解决方案
上下文保存在进程上下文块中。进程的状态由进程寄存器中的值定义。您的建议需要为每个进程设置一组单独的寄存器,这将使硬件设计成为一场噩梦。
CPU 只知道当前正在运行的进程。如果进程上下文块位于进程的用户地址空间中,则其值将不可访问。
推荐阅读
- macos - zsh: command not found: denon - 即使在安装 denon 之后
- javascript - javascript 中的 N+1 未按预期工作
- python - 类中的Python二叉树属性问题
- python - 在 ubuntu 系统上执行 python 脚本后没有释放 RAM 内存
- webstorm - Deno 的路径不正确 WebStorm
- netsuite - 下面的代码在控制台中运行,但是在套件脚本 2.0 中不起作用。脚本给出错误“无效的量词?” 在第 7 行
- javascript - 我想获取对象并在课堂上使用它。它在 then 语句中运行良好,但之后它会寻找它不想出现
- angular - TEMP_DATA 值必须相同但它正在改变
- botframework - 是否可以在我的聊天机器人的团队应用程序中禁用输入
- api - 有没有办法在使用 twitter 流时请求更大的参数列表?