由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Linux context switch 高通 面试题。??
相关主题
Re: 大家看看阿三在onsite的时候怎么黑我的问个经典面试题
递归这个概念实在是太重要了请问如果要求in place的话,递归是不是就不能用了?
apple电面完了一般多久出结果G面经
贴几道老题目面试时候C++ pop之前是空 大家怎么处理。。返回什么。。 假设stack 元素都是int形的。
问个小问题贡献几个 c 电面问题
大家看看阿三在onsite的时候怎么黑我的 (转载)两个月没做题了~~
Re: 大家看看阿三在onsite的时候怎么黑我的 (转载)遍历二叉树除了recursion还有啥好办法?
一道面试题[合集] 【讨论】两道非常难的Google面试题
相关话题的讨论汇总
话题: context话题: switch话题: 保存话题: stack话题: linux
进入JobHunting版参与讨论
1 (共1页)
a*****1
发帖数: 314
1
http://www.mitbbs.com/article_t/JobHunting/32248935.html
context switch的时候保存什么,保存在哪里??
保存内核堆栈? 保存到内核里?
很模糊。
请高手指点。。
谢谢
t*******2
发帖数: 292
2
每个process有一个对应的kernel stack,
这个stack不同于virtual space的那个stack
这个stack好像就8K,
context switch就把当前的一些寄存器存在这里

【在 a*****1 的大作中提到】
: http://www.mitbbs.com/article_t/JobHunting/32248935.html
: context switch的时候保存什么,保存在哪里??
: 保存内核堆栈? 保存到内核里?
: 很模糊。
: 请高手指点。。
: 谢谢

a*****1
发帖数: 314
3
那global page directory 和 page table 呢?
是不是也应该保存? 那他们保存在哪啊?
谢谢

【在 t*******2 的大作中提到】
: 每个process有一个对应的kernel stack,
: 这个stack不同于virtual space的那个stack
: 这个stack好像就8K,
: context switch就把当前的一些寄存器存在这里

s********k
发帖数: 6180
4
每个process的stack就是它的virtual space的stack,VM的原因每个process都认为自
己拥有所有的memory addr吧。
context switch保存应该是所有寄存器信息,尤其是PC,再加上stack pointer吧

【在 t*******2 的大作中提到】
: 每个process有一个对应的kernel stack,
: 这个stack不同于virtual space的那个stack
: 这个stack好像就8K,
: context switch就把当前的一些寄存器存在这里

t*******2
发帖数: 292
5
好像是一个cr3管最上层的,然后page table就在每个process的1g那部分的virtual sp
ace里,具体忘记了。。。

【在 a*****1 的大作中提到】
: 那global page directory 和 page table 呢?
: 是不是也应该保存? 那他们保存在哪啊?
: 谢谢

s********k
发帖数: 6180
6
看了看,context switch分两步:
1. Switching the Page Global Directory to install a new address space; .
2. Switching the Kernel Mode stack and the hardware context, which
provides all the information needed by the kernel to execute the new process
, including the CPU registers.
应该是整个PCB都被switch 进入kernel stack,

【在 s********k 的大作中提到】
: 每个process的stack就是它的virtual space的stack,VM的原因每个process都认为自
: 己拥有所有的memory addr吧。
: context switch保存应该是所有寄存器信息,尤其是PC,再加上stack pointer吧

a*****1
发帖数: 314
7
register 保存 在kernel stack里。
Page Global Directory 保存在哪啊?
a*****1
发帖数: 314
8
请高手 们 再解释。。。
谢谢
s********k
发帖数: 6180
9
X86下是CR3 register吧,ARM不太清楚了。重新flush所有的TLB,还有一二级cache,
所以慢,context switch本身消耗并不大

【在 a*****1 的大作中提到】
: register 保存 在kernel stack里。
: Page Global Directory 保存在哪啊?

1 (共1页)
进入JobHunting版参与讨论
相关主题
[合集] 【讨论】两道非常难的Google面试题问个小问题
两道面试题,请大家说说看法大家看看阿三在onsite的时候怎么黑我的 (转载)
问道C内存的题?Re: 大家看看阿三在onsite的时候怎么黑我的 (转载)
一道有趣的面试题。stackexchange上超火 大家说说看法?一道面试题
Re: 大家看看阿三在onsite的时候怎么黑我的问个经典面试题
递归这个概念实在是太重要了请问如果要求in place的话,递归是不是就不能用了?
apple电面完了一般多久出结果G面经
贴几道老题目面试时候C++ pop之前是空 大家怎么处理。。返回什么。。 假设stack 元素都是int形的。
相关话题的讨论汇总
话题: context话题: switch话题: 保存话题: stack话题: linux