首页 > 试题广场 >

进程从CPU退下时,将"现场"保存在系统栈内。

[单选题]
进程从CPU退下时,将"现场"保存在系统栈内。
CPU ,退下来保存与任务站中
发表于 2017-11-24 00:13:19 回复(0)
错,保存在任务栈中,系统栈要给下一个要运行的进程用
发表于 2015-10-08 09:35:13 回复(0)
进程会将“现场"信息保存在自己的栈空间里,不是系统栈,系统栈用作它用。
发表于 2016-07-12 19:54:04 回复(0)

进程从CPU退下时,将"现场"保存在PCB中
发表于 2016-09-08 08:48:59 回复(0)
究竟是pcb还是任务zhan?这两个数据结构究竟是那个?
发表于 2017-08-28 13:39:41 回复(0)
进程会将“现场"信息保存在自己的栈空间里,不是系统栈,系统栈用作它用。
发表于 2017-06-12 16:04:35 回复(0)
每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。处理机处于执行状态时,正在处理的许多信息都是存放在寄存器中。当进程被切换时,处理机状态信息都保存在相应的pcb中,以便处理机继续执行时,能从断点继续执行
发表于 2017-03-28 22:42:38 回复(0)
错,保存在任务栈中,系统栈要给下一个要运行的进程用
发表于 2017-04-23 14:47:08 回复(0)
127头像 127
保存在pcb内
发表于 2015-10-07 22:21:24 回复(0)
保存在任务栈。系统栈是给下一个进程使用的。
发表于 2021-12-20 23:58:49 回复(0)
任务切换,上下文切换的时候用任务栈。任务栈是每个创建的任务独享的栈区,这个栈区一般是全局的数组,当任务调用时,程序的局部数据都在此数组内操作。                       
进入中断用中断栈。
系统栈就是专门问系统服务,栈指针此时是指向系统区。系统工作模式下,有系统栈。
发表于 2019-12-26 01:11:30 回复(0)
系统栈是给下一个程序使用
发表于 2022-10-09 08:26:53 回复(0)
现场信息包括cpu内各个寄存器的信息.
现场需保存在进程自己的PCB中,以供下次使用.
现场保存在进程的栈中,而非系统栈,
现场由中断隐指令负责保存
发表于 2022-03-03 21:38:54 回复(0)
现场信息。用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运行时也应恢复处理器现场。常用的现场信息包括通用寄存器的内容、控制寄存器(如PSW寄存器)的内容、用户堆战指针、系统堆饺指针等。
发表于 2021-01-21 17:54:46 回复(0)

系统栈将提供给下一个进程使用

发表于 2020-03-17 08:14:49 回复(0)
.进程用户栈和内核栈的切换

当进程因为中断或者系统调用而陷入内核态之行时,进程所使用的堆栈也要从用户栈转到内核栈。

进程陷入内核态后,先把用户态堆栈的地址保存在内核栈之中,然后设置堆栈指针寄存器的内容为内核栈的地址,这样就完成了用户栈向内核栈的转换;当进程从内核态恢复到用户态之行时,在内核态之行的最后将保存在内核栈里面的用户栈的地址恢复到堆栈指针寄存器即可。这样就实现了内核栈和用户栈的互转。

那么,我们知道从内核转到用户态时用户栈的地址是在陷入内核的时候保存在内核栈里面的,但是在陷入内核的时候,我们是如何知道内核栈的地址的呢?

关键在进程从用户态转到内核态的时候,进程的内核栈总是空的。这是因为,当进程在用户态运行时,使用的是用户栈,当进程陷入到内核态时,内核栈保存进程在内核态运行的相关信心,但是一旦进程返回到用户态后,内核栈中保存的信息无效,会全部恢复,因此每次进程从用户态陷入内核的时候得到的内核栈都是空的。所以在进程陷入内核的时候,直接把内核栈的栈顶地址给
------------------------------------------------------------------
发表于 2017-05-04 11:06:49 回复(0)