由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
SanFrancisco版 - 大家看看阿三在onsite的时候怎么黑我的
相关主题
阿三职场生存秘籍 (ZZ)还有人不?急求翻译一个词
又看到阿三在costco退东西。。。。是半个西瓜曾经的愿望都实现了么?
为什么阿三在好莱坞混的这么差? (转载)又上了一个学校里的处女 (转载)
讨论阿三 ------职场经验(精髓请转!) (转载)王垠的[40 行代码]: 普通琐男码工们都跪安吧! (转载)
关于ID丢失job opportunity
【JOBS广告】04.01 -- 04.30google Platforms Software Engineer
有谁了解外洲车换加州牌照的过程?招版务2-3名
好多人转f1继续工作那是怎么回事[JOBS] Senior Media Software Engineer
相关话题的讨论汇总
话题: cpu话题: tlb话题: virtual话题: kernel话题: 阿三
进入SanFrancisco版参与讨论
1 (共1页)
w*******e
发帖数: 395
1
最近面试一个与file system有关系的公司,业界内的大公司,junior的职位(工作经
验3年),onsite有俩阿三(总共5个
人)。
其中一个阿三非常严肃,黑着个脸,下面是面试过程中两个问题以及他对我的feedback:
问题一:为什么context switch有big overhead?
我的回答如下:
Because context switch needs to invalidate caches, flush TLB, registers, and
store process related data, which all require a lot of cpu cycles. The new
process also takes time to warm up the cache and TLB.
他后来的feedback是:我对context switch的基本概念不了解 。。。
问题二:
why does the system call need to copy the file name into kernel space when
you call read()/wirte()/open()?
My answer:
User procs and kernel threads work in different address modes. User procs
cannot access kernel address which is in a protected mode. Kernel address
mode is mapped to either high or low 1GB of the user proc' VM. By coping the
file name into its own space, it will be more efficient from the
perspective of memory access.
Another reason may be to prevent the passed file names from being changed in
user space by somebody else.
后来他的feedback是:我对system call以及kernel address mode不了解
另一个阿三很nice,非常热情,先问了我一些问题,全都很顺利,后来coding,后来因
为时间有点不够(最后一个coding只留了15分钟,题目比较繁琐),在解释了主函数的
算法和corner case后,经的他同意省掉了一个辅助函数的coding。当时感觉非常好,
阿三也笑容满面,说well done。
后来的feedback说coding不熟练。
以前总还觉得身边的阿三还不错,这次就是亲身经历。工作很match,白人manager也有
有兴趣,结果被阿三这么一说,全都玩完了。onsite 5个人里有一个国人,但是却无能
为力。
y*****d
发帖数: 4451
2
你的回答非所问啊
w*******e
发帖数: 395
3
例如?

【在 y*****d 的大作中提到】
: 你的回答非所问啊
K******g
发帖数: 1870
4
如果给出的feedback真的是这么直接的话,那第一个阿三是毫无疑问的在黑你

and
new

【在 w*******e 的大作中提到】
: 最近面试一个与file system有关系的公司,业界内的大公司,junior的职位(工作经
: 验3年),onsite有俩阿三(总共5个
: 人)。
: 其中一个阿三非常严肃,黑着个脸,下面是面试过程中两个问题以及他对我的feedback:
: 问题一:为什么context switch有big overhead?
: 我的回答如下:
: Because context switch needs to invalidate caches, flush TLB, registers, and
: store process related data, which all require a lot of cpu cycles. The new
: process also takes time to warm up the cache and TLB.
: 他后来的feedback是:我对context switch的基本概念不了解 。。。

c****m
发帖数: 824
5
第一个你说的没有问题,老印明显就是想fail你让他自己人进去。欲加之罪何患无辞
c****m
发帖数: 824
6
我遇到过很多第三个老印,都是笑面虎。找一个巨复杂的题目故意让你遍不完。然后
fail尼,feedback你还没话讲,确实没写完。
z**q
发帖数: 41
7
做file system的team里, 老印比例很高啊, 为啥老中做storage的少?老印这问法,
和flg的general hire完全不是一个套路啊。现在也很茫然。。。
f********e
发帖数: 325
8
难道面试者只能这样任人宰割?
有没有办法向HR投诉?
只要有一次把这个做成新闻和官司搞大,这些人就再不敢这样嚣张

and
new

【在 w*******e 的大作中提到】
: 最近面试一个与file system有关系的公司,业界内的大公司,junior的职位(工作经
: 验3年),onsite有俩阿三(总共5个
: 人)。
: 其中一个阿三非常严肃,黑着个脸,下面是面试过程中两个问题以及他对我的feedback:
: 问题一:为什么context switch有big overhead?
: 我的回答如下:
: Because context switch needs to invalidate caches, flush TLB, registers, and
: store process related data, which all require a lot of cpu cycles. The new
: process also takes time to warm up the cache and TLB.
: 他后来的feedback是:我对context switch的基本概念不了解 。。。

w*******e
发帖数: 395
9
怎么投诉?面试电话录音?无论怎么样,都搞不过interviewer。你和interviewer争执
,只能说你和potential colleague合不来,人家更加不会招你。

【在 f********e 的大作中提到】
: 难道面试者只能这样任人宰割?
: 有没有办法向HR投诉?
: 只要有一次把这个做成新闻和官司搞大,这些人就再不敢这样嚣张
:
: and
: new

j********p
发帖数: 9680
10
没什么可抱怨的.
中国人和印度人本来就是敌人关系.
我已经几次深入敌营了解过了.
不过国人能帮你的也不会太多,
你只能狠练内功,把自己提高到顶级的江湖水平.
干印度人干不了的活.这样你就能平趟北美了.
相关主题
【JOBS广告】04.01 -- 04.30还有人不?急求翻译一个词
有谁了解外洲车换加州牌照的过程?曾经的愿望都实现了么?
好多人转f1继续工作那是怎么回事又上了一个学校里的处女 (转载)
进入SanFrancisco版参与讨论
l******r
发帖数: 1642
11
这是啥话
顶级的能有几个?
再顶级你周围一堆阿三有啥意思?
为啥阿三鬼混的就没问题
到中国人这吃碗饭还要顶级了?
再说了,马工那些东西有啥顶级不顶级的
就是混碗饭吃,又不是jobs

【在 j********p 的大作中提到】
: 没什么可抱怨的.
: 中国人和印度人本来就是敌人关系.
: 我已经几次深入敌营了解过了.
: 不过国人能帮你的也不会太多,
: 你只能狠练内功,把自己提高到顶级的江湖水平.
: 干印度人干不了的活.这样你就能平趟北美了.

s***e
发帖数: 403
12
第一个绝对是阿三黑你。
c****m
发帖数: 824
13
因为中国人不团结。团结的民族就可以鬼混,不团结只能挨打

【在 l******r 的大作中提到】
: 这是啥话
: 顶级的能有几个?
: 再顶级你周围一堆阿三有啥意思?
: 为啥阿三鬼混的就没问题
: 到中国人这吃碗饭还要顶级了?
: 再说了,马工那些东西有啥顶级不顶级的
: 就是混碗饭吃,又不是jobs

f******o
发帖数: 1505
14
Context Switch needs to flush TLB ?? 我没有听错吧。
如果每次 context switch 到另外一个 process 就需要清空 TLB, 那还要 virtual
memory management 干嘛 ...
你的说法就好比说一辆巴士,到每一站上下人的时候统统要求把全车人赶下车再重新上
车一样。
我操,服了. 哥们,我说过这样的话,我说如果是我面试老中,除非他是极品我一定让
他过关。看到你的帖子我犹豫了。。。
x*****c
发帖数: 284
15
硅谷已成印度谷,以后老中日子异常艰难,做成这个的原因不在老中,而在美国政府,
为啥拼命让他们来,项目去印度毛都 不会说啥技术泄漏,英文,什么都不是理由。
f******o
发帖数: 1505
16
哥们,我真的想帮你,也很同情你的遭遇,不过。。。
再回去练练。

【在 f******o 的大作中提到】
: Context Switch needs to flush TLB ?? 我没有听错吧。
: 如果每次 context switch 到另外一个 process 就需要清空 TLB, 那还要 virtual
: memory management 干嘛 ...
: 你的说法就好比说一辆巴士,到每一站上下人的时候统统要求把全车人赶下车再重新上
: 车一样。
: 我操,服了. 哥们,我说过这样的话,我说如果是我面试老中,除非他是极品我一定让
: 他过关。看到你的帖子我犹豫了。。。

p*****d
发帖数: 126
17
你的第一个问题其实答的不够专业,如果我在1年前去答也会大概这么答,但是1年后的
今天,已经被微软的内核搞得焦头烂额的我,如果看到你这个回答,出于都是同胞,我
会再换一种方式问你(烙印肯定不会了):告诉我context switch的过程。
其实invalid/flush cache是很快的,而且都有专门的coprocessor去做,跑os的核发个
指令就可以忙其他的了,TLB的处理也非常快速,MMU会取代主核取干事情。
真正花费时间的事我觉得是决定去做context switch的过程 和决定哪个thread去接盘
cpu 的过程。
决定去做context switch的过程 :
这部分必定伴随着异常,异常意味着要从用户模式先切换到系统模式,然后处理可能到
来的时钟中断(用来判断quantum is over,进而要去进入中断模式,处理完时钟中断要
返回系统模式),然后处理reschedule的命令,处理完reschedule的命令要从系统模式
返回用户模式,里外里切换了很多次模式;
决定哪个thread去接盘cpu 的过程:
在处理reshedule 命令的时候,大部分时间不是用在swap寄存器了,而是用在判断哪个
thread 应该被swap进cpu上了。我了解得微软的内核是有一个备选线程,同时还有一个
32个元素的hash表,表里的元素都是线程,不同优先级的线程。context switch会拿备
选线程的优先级和hash表里的线程还有当前正在跑得线程作比较,判断出优先级最高的
能跑得线程,然后再去swap 新线程的register(其实这部分时间少的可怜,倒是另外一
部分时间长--“维护线程数据结构”,因为线程的数据结构里有很多信息很多是关于他
为什么要sleep,在等哪个event,他前面是哪个线程,后面是哪个线程,他的event 都被
那几个其他线程等,等等等等, 这一块我也稀里糊涂的)
不是碰到很多微软内核的问题,我还正不知道这么多,今天既然看到你问这个问题了,
我就把我最近看到的都说说,对我自己也是个总结。
j********p
发帖数: 9680
18
说的有道理,
有条件的话尽量找啊三少的公司.
明知道那么多阿三在那,还要去,就没意思了.
国人又不团结,又不互相帮忙.
只能苦练内功,你还有什么其他比较好的方法?

【在 l******r 的大作中提到】
: 这是啥话
: 顶级的能有几个?
: 再顶级你周围一堆阿三有啥意思?
: 为啥阿三鬼混的就没问题
: 到中国人这吃碗饭还要顶级了?
: 再说了,马工那些东西有啥顶级不顶级的
: 就是混碗饭吃,又不是jobs

j********p
发帖数: 9680
19
说的有道理,
有条件的话尽量找啊三少的公司.
明知道那么多阿三在那,还要去,就没意思了.
国人又不团结,又不互相帮忙.
只能苦练内功,你还有什么其他比较好的方法?

【在 l******r 的大作中提到】
: 这是啥话
: 顶级的能有几个?
: 再顶级你周围一堆阿三有啥意思?
: 为啥阿三鬼混的就没问题
: 到中国人这吃碗饭还要顶级了?
: 再说了,马工那些东西有啥顶级不顶级的
: 就是混碗饭吃,又不是jobs

p*****d
发帖数: 126
20
楼主估计是没做过这方面的东西。
维护TLB是MMU的事情,从cpu里访问的都是virtual的,mmu负责把
va通过TLB转成pa
你说的也不全对,TLB的维护在context switch的过程中是发生的,
只不过不是在跑os 的核里,而是在mmu里做

【在 f******o 的大作中提到】
: Context Switch needs to flush TLB ?? 我没有听错吧。
: 如果每次 context switch 到另外一个 process 就需要清空 TLB, 那还要 virtual
: memory management 干嘛 ...
: 你的说法就好比说一辆巴士,到每一站上下人的时候统统要求把全车人赶下车再重新上
: 车一样。
: 我操,服了. 哥们,我说过这样的话,我说如果是我面试老中,除非他是极品我一定让
: 他过关。看到你的帖子我犹豫了。。。

相关主题
王垠的[40 行代码]: 普通琐男码工们都跪安吧! (转载)招版务2-3名
job opportunity[JOBS] Senior Media Software Engineer
google Platforms Software Engineeropening: senior software engineer for device driver and linux kernel
进入SanFrancisco版参与讨论
w*******e
发帖数: 395
21
说flush TLB可能不够准确,但是context switch过程中必定会invalidate很多TLB
entry.在你的比喻中,如果巴士不够大,或者巴士新目的地的乘客过多,的确就是需要
赶下所有人,因为巴士的目的地不同了。
瞧你这哥们的口气,还极品,也太自以为是了吧
另外,这个面试又不是做OS内核的,这些东西都只需要知道概念就好了。

【在 f******o 的大作中提到】
: Context Switch needs to flush TLB ?? 我没有听错吧。
: 如果每次 context switch 到另外一个 process 就需要清空 TLB, 那还要 virtual
: memory management 干嘛 ...
: 你的说法就好比说一辆巴士,到每一站上下人的时候统统要求把全车人赶下车再重新上
: 车一样。
: 我操,服了. 哥们,我说过这样的话,我说如果是我面试老中,除非他是极品我一定让
: 他过关。看到你的帖子我犹豫了。。。

f******o
发帖数: 1505
22
"从cpu里访问的都是virtual的"
我又没听错吧? CPU 懂得 virtual memory?
CPU always deals with physical memory.
还有,我有说 TLB 维护不发生吗?楼主上来一句 "context switch needs to flush
TLB"
什么叫 flush? 维护跟 flush 是一回事吗?
这还不给人毙了。

【在 p*****d 的大作中提到】
: 楼主估计是没做过这方面的东西。
: 维护TLB是MMU的事情,从cpu里访问的都是virtual的,mmu负责把
: va通过TLB转成pa
: 你说的也不全对,TLB的维护在context switch的过程中是发生的,
: 只不过不是在跑os 的核里,而是在mmu里做

N*D
发帖数: 3641
23
不算黑啊。俺面的烙印是这样黑的。
烙印:这个题怎么解?
答:brute force这么解,但可以优化成这样解。
烙印:写code吧,按brute force的写,没时间了
[写完]
feedback是:not writing efficient code。
[更让人痛心的是,refer过一个朋友,面试被一个老中以同样的方法干掉了。]
p*****d
发帖数: 126
24
看看这个图,cpu访问的是va
h_ttp://en.wikipedia.org/wiki/File:MMU_principle.png

【在 f******o 的大作中提到】
: "从cpu里访问的都是virtual的"
: 我又没听错吧? CPU 懂得 virtual memory?
: CPU always deals with physical memory.
: 还有,我有说 TLB 维护不发生吗?楼主上来一句 "context switch needs to flush
: TLB"
: 什么叫 flush? 维护跟 flush 是一回事吗?
: 这还不给人毙了。

f******o
发帖数: 1505
25
你的问题就在于用词不严谨。面试的时候不严谨就给人一种只知其一,不知其二的感觉

invalidate 是第一步,selectively flush 是第二步, invalidate 之后发现要需要赶
人就会赶一批人,最坏的情况是赶走所有人
如果你面试的时候这样说就没问题,可是你上来就说 needs to flush TLB 让人一下就
懵了。

【在 w*******e 的大作中提到】
: 说flush TLB可能不够准确,但是context switch过程中必定会invalidate很多TLB
: entry.在你的比喻中,如果巴士不够大,或者巴士新目的地的乘客过多,的确就是需要
: 赶下所有人,因为巴士的目的地不同了。
: 瞧你这哥们的口气,还极品,也太自以为是了吧
: 另外,这个面试又不是做OS内核的,这些东西都只需要知道概念就好了。

z**q
发帖数: 41
26
楼主面junior, 大家别太苛刻, 按大家的要求, 我看这个junior很难招。有几个
junior看过好几遍linux kernel? 而且面file system相关的, vfs, ext, io
scheduler...等等是重点。 老印的问题确实有点偏。
A**l
发帖数: 2650
27
你还是回去好好看看OS吧,呵呵,楼上明显比你清楚这块

【在 f******o 的大作中提到】
: "从cpu里访问的都是virtual的"
: 我又没听错吧? CPU 懂得 virtual memory?
: CPU always deals with physical memory.
: 还有,我有说 TLB 维护不发生吗?楼主上来一句 "context switch needs to flush
: TLB"
: 什么叫 flush? 维护跟 flush 是一回事吗?
: 这还不给人毙了。

w*******e
发帖数: 395
28
你这样说就厚道多了。干嘛还极品的?你见过几个极品的国人能够说清楚context
switch的具体操作?

【在 f******o 的大作中提到】
: 你的问题就在于用词不严谨。面试的时候不严谨就给人一种只知其一,不知其二的感觉
: 。
: invalidate 是第一步,selectively flush 是第二步, invalidate 之后发现要需要赶
: 人就会赶一批人,最坏的情况是赶走所有人
: 如果你面试的时候这样说就没问题,可是你上来就说 needs to flush TLB 让人一下就
: 懵了。

z**q
发帖数: 41
29
研究context switch和file system根本就不联系。kernel那么多东西, 啥都搞明白不
可能的。 楼主还是别浪费时间了, 赶紧move on。
BTW, 能否透露一下这是啥公司的面试?

【在 w*******e 的大作中提到】
: 你这样说就厚道多了。干嘛还极品的?你见过几个极品的国人能够说清楚context
: switch的具体操作?

f******o
发帖数: 1505
30
你连这张图的的意思都没看懂。
CPU 不懂 Virtual address, 才需要交给 MMU 去转换,得到一个 physical 的地址然
后来处理。
virtual address 当然是 process 访问了...

【在 p*****d 的大作中提到】
: 看看这个图,cpu访问的是va
: h_ttp://en.wikipedia.org/wiki/File:MMU_principle.png

相关主题
软件行业工资比较又看到阿三在costco退东西。。。。是半个西瓜
湾区(Palo Alto)大公司招人啦!程序猿攻城狮快来啊(C/C++, S (转载)为什么阿三在好莱坞混的这么差? (转载)
阿三职场生存秘籍 (ZZ)讨论阿三 ------职场经验(精髓请转!) (转载)
进入SanFrancisco版参与讨论
A**l
发帖数: 2650
31
呵呵,在硬件level来看process是什么?

【在 f******o 的大作中提到】
: 你连这张图的的意思都没看懂。
: CPU 不懂 Virtual address, 才需要交给 MMU 去转换,得到一个 physical 的地址然
: 后来处理。
: virtual address 当然是 process 访问了...

f******o
发帖数: 1505
32
我不是说你极品,极品是说人品有问题 OK? 跟技术没有关系
我这句话是说我以前觉得只要不是极品的国人,技术上多差我都能让他过。

【在 w*******e 的大作中提到】
: 你这样说就厚道多了。干嘛还极品的?你见过几个极品的国人能够说清楚context
: switch的具体操作?

p*****d
发帖数: 126
33
看到大家兴致这么高,我再提问一个问题,这个问题一直困扰我(在我们的新产品中):
假设一个核有L1/L2两级cache,如果mmu在L1上面cpu下面,或者mm
u在L2 下面,那么对2级cache的操作是统一的(不是va就是pa),如果
mmu被设计到L1下面L2上面?你怎么设计对L1/l2的访问?怎么解决flush
/invalid和速度的矛盾 ?
f******o
发帖数: 1505
34
宝宝蛋,别再撑了,你帮人说话已经不小心把自己的水平暴露了。
送你一句话,只知其一,不知其二。嫩了点。

【在 A**l 的大作中提到】
: 呵呵,在硬件level来看process是什么?
A**l
发帖数: 2650
35
看一遍x86, armv5, armv7,把virtual/physical index/tag理解下就基本上明白大概了
细节么,能搞懂的人不多
面试的时候,junior的人只要知道cache invalidate/flush我就OK
senior的,要大概明白一些L1/L2的上述概念,细节不要求

【在 p*****d 的大作中提到】
: 看到大家兴致这么高,我再提问一个问题,这个问题一直困扰我(在我们的新产品中):
: 假设一个核有L1/L2两级cache,如果mmu在L1上面cpu下面,或者mm
: u在L2 下面,那么对2级cache的操作是统一的(不是va就是pa),如果
: mmu被设计到L1下面L2上面?你怎么设计对L1/l2的访问?怎么解决flush
: /invalid和速度的矛盾 ?

A**l
发帖数: 2650
36
呵呵,我懒的跟你争,只是不希望其他人被你误导了罢了

【在 f******o 的大作中提到】
: 宝宝蛋,别再撑了,你帮人说话已经不小心把自己的水平暴露了。
: 送你一句话,只知其一,不知其二。嫩了点。

f******o
发帖数: 1505
37
喂,醒醒好吗?
CPU 访问 Virtual address? 还有比这句话更误导的吗?
每一个Virtual address, CPU 只有通过 MMU 把它转换成 physical address 才能用好
吗?
OMG. 有本事你们都不要修改原帖。。。

【在 A**l 的大作中提到】
: 呵呵,我懒的跟你争,只是不希望其他人被你误导了罢了
A**l
发帖数: 2650
38
如果你态度好点,我愿意免费教你 :)
修改帖子措辞是我的好习惯,技术上,我有必要修改对的东西么?

【在 f******o 的大作中提到】
: 喂,醒醒好吗?
: CPU 访问 Virtual address? 还有比这句话更误导的吗?
: 每一个Virtual address, CPU 只有通过 MMU 把它转换成 physical address 才能用好
: 吗?
: OMG. 有本事你们都不要修改原帖。。。

w*******e
发帖数: 395
39
一家业界内的大公司,印度人超过80%,我还只碰到了两个

【在 z**q 的大作中提到】
: 研究context switch和file system根本就不联系。kernel那么多东西, 啥都搞明白不
: 可能的。 楼主还是别浪费时间了, 赶紧move on。
: BTW, 能否透露一下这是啥公司的面试?

f******o
发帖数: 1505
40
从你第一篇留言到现在,你除了扯蛋就没分析一点技术上的东西。
如果你只会扯蛋,想教我扯蛋的话还是不必了。哈哈。
奉劝你一句,如果你也是做技术的,还是少来点虚的。面试时候不管用。

【在 A**l 的大作中提到】
: 如果你态度好点,我愿意免费教你 :)
: 修改帖子措辞是我的好习惯,技术上,我有必要修改对的东西么?

相关主题
讨论阿三 ------职场经验(精髓请转!) (转载)有谁了解外洲车换加州牌照的过程?
关于ID丢失好多人转f1继续工作那是怎么回事
【JOBS广告】04.01 -- 04.30还有人不?急求翻译一个词
进入SanFrancisco版参与讨论
A**l
发帖数: 2650
41
SF版不就是扯淡么?
要不我们转到JobHunting去讨论技术如何?

【在 f******o 的大作中提到】
: 从你第一篇留言到现在,你除了扯蛋就没分析一点技术上的东西。
: 如果你只会扯蛋,想教我扯蛋的话还是不必了。哈哈。
: 奉劝你一句,如果你也是做技术的,还是少来点虚的。面试时候不管用。

p*****d
发帖数: 126
42
错误。

【在 f******o 的大作中提到】
: 你连这张图的的意思都没看懂。
: CPU 不懂 Virtual address, 才需要交给 MMU 去转换,得到一个 physical 的地址然
: 后来处理。
: virtual address 当然是 process 访问了...

A**l
发帖数: 2650
43
我已经把楼上帖子转到JobHunting了,回见 :)

【在 p*****d 的大作中提到】
: 错误。
p*****d
发帖数: 126
44
that is a good idea!
I will put my money on you two guys both!!!

【在 A**l 的大作中提到】
: SF版不就是扯淡么?
: 要不我们转到JobHunting去讨论技术如何?

C*********4
发帖数: 59
45
你写的所有的程序都是访问VA的,kernel大多也访问VA(可有不同),所以CPU执行的
都是VA地址。
Cache可用VA或PA来index,那是另外的问题。

【在 f******o 的大作中提到】
: 喂,醒醒好吗?
: CPU 访问 Virtual address? 还有比这句话更误导的吗?
: 每一个Virtual address, CPU 只有通过 MMU 把它转换成 physical address 才能用好
: 吗?
: OMG. 有本事你们都不要修改原帖。。。

A**l
发帖数: 2650
46
恩,楼上是以为MMU转换后的PA还要向CPU汇报,然后再由CPU根据这个PA发指令去BUS
取数据

【在 C*********4 的大作中提到】
: 你写的所有的程序都是访问VA的,kernel大多也访问VA(可有不同),所以CPU执行的
: 都是VA地址。
: Cache可用VA或PA来index,那是另外的问题。

f******o
发帖数: 1505
47
哈哈,前面还挺靠谱,看到你第二个逗号之后我摇头了。
照你这样讲,这个 physical memory, 到底是给谁用的呢? :)
唉。再给你打个比方吧,你浏览器里面打 mitbbs.com, 你觉得你的网卡真的懂 mitbbs
.com 吗

【在 C*********4 的大作中提到】
: 你写的所有的程序都是访问VA的,kernel大多也访问VA(可有不同),所以CPU执行的
: 都是VA地址。
: Cache可用VA或PA来index,那是另外的问题。

f******o
发帖数: 1505
48
哈哈,你还知道 BUS
那你告诉我吧, CPU 怎样从 BUS fetch 到 一个 virtual address? 哈哈。 笑疯了。

【在 A**l 的大作中提到】
: 恩,楼上是以为MMU转换后的PA还要向CPU汇报,然后再由CPU根据这个PA发指令去BUS
: 取数据

C*********4
发帖数: 59
49
到了bus上就都是PA了。你没写过device driver,没用过DMA,所以你不清楚是正常的
,你那比喻也不靠谱

mitbbs

【在 f******o 的大作中提到】
: 哈哈,前面还挺靠谱,看到你第二个逗号之后我摇头了。
: 照你这样讲,这个 physical memory, 到底是给谁用的呢? :)
: 唉。再给你打个比方吧,你浏览器里面打 mitbbs.com, 你觉得你的网卡真的懂 mitbbs
: .com 吗

b**********y
发帖数: 232
50
我觉得你们是在争论不同“层面”上的CPU吧。
一个说的是处理机器指定的CPU,面向OS,另一个说的是物理器件上的CPU?
从OS层面上看,CPU的确take的是VA,但是从物理层面后,VA转换成PA之后,还是CPU发
出的指定去取memory,所以CPU take的是PA。
所以从OS角度讲,CPU take的是VA,VA到PA交给MMU去做了。

mitbbs

【在 f******o 的大作中提到】
: 哈哈,前面还挺靠谱,看到你第二个逗号之后我摇头了。
: 照你这样讲,这个 physical memory, 到底是给谁用的呢? :)
: 唉。再给你打个比方吧,你浏览器里面打 mitbbs.com, 你觉得你的网卡真的懂 mitbbs
: .com 吗

相关主题
曾经的愿望都实现了么?job opportunity
又上了一个学校里的处女 (转载)google Platforms Software Engineer
王垠的[40 行代码]: 普通琐男码工们都跪安吧! (转载)招版务2-3名
进入SanFrancisco版参与讨论
f******o
发帖数: 1505
51
你这个“因为所以”中间有偷换概念。
所有这些程序最后变成 CPU instruction 的时候都是"用" 的 VA 没错
但是 CPU 最终 "访问" 的不是 VA

【在 C*********4 的大作中提到】
: 你写的所有的程序都是访问VA的,kernel大多也访问VA(可有不同),所以CPU执行的
: 都是VA地址。
: Cache可用VA或PA来index,那是另外的问题。

A**l
发帖数: 2650
52
物理层面上CPU也基本不关心PA(除了少数情况),我们去JobHunting好了,在SF还是
扯淡痛快哈~
同时接触过bootloader和linux kernel (device driver)的人就会很清楚CPU enable
MMU前后的区别

【在 b**********y 的大作中提到】
: 我觉得你们是在争论不同“层面”上的CPU吧。
: 一个说的是处理机器指定的CPU,面向OS,另一个说的是物理器件上的CPU?
: 从OS层面上看,CPU的确take的是VA,但是从物理层面后,VA转换成PA之后,还是CPU发
: 出的指定去取memory,所以CPU take的是PA。
: 所以从OS角度讲,CPU take的是VA,VA到PA交给MMU去做了。
:
: mitbbs

f******o
发帖数: 1505
53
你自己也承认了到了 bus 上就都是 PA 了
那不就结了
"从cpu里访问的都是virtual的"
我从头到尾驳斥的就是这句话

【在 C*********4 的大作中提到】
: 到了bus上就都是PA了。你没写过device driver,没用过DMA,所以你不清楚是正常的
: ,你那比喻也不靠谱
:
: mitbbs

A**l
发帖数: 2650
54
这样吧,你先给个限定,x86, mips, armv5 or armv6/v7?还是general概念
要不然讨论起来不方便。

【在 f******o 的大作中提到】
: 你自己也承认了到了 bus 上就都是 PA 了
: 那不就结了
: "从cpu里访问的都是virtual的"
: 我从头到尾驳斥的就是这句话

f******o
发帖数: 1505
55
DMA 跟我在这里驳斥的问题没有任何关联
我要是真没用过 DMA, 可能还会被你唬住。

【在 C*********4 的大作中提到】
: 到了bus上就都是PA了。你没写过device driver,没用过DMA,所以你不清楚是正常的
: ,你那比喻也不靠谱
:
: mitbbs

C*********4
发帖数: 59
56
你科学家吧?:)
有点道理,就看CPU的定义了,如果你认为从Intel买来的那一大块就是CPU,算我没说

【在 b**********y 的大作中提到】
: 我觉得你们是在争论不同“层面”上的CPU吧。
: 一个说的是处理机器指定的CPU,面向OS,另一个说的是物理器件上的CPU?
: 从OS层面上看,CPU的确take的是VA,但是从物理层面后,VA转换成PA之后,还是CPU发
: 出的指定去取memory,所以CPU take的是PA。
: 所以从OS角度讲,CPU take的是VA,VA到PA交给MMU去做了。
:
: mitbbs

A**l
发帖数: 2650
57
既然提到了MMU,显然CPU不能指一大块,对哈?

【在 C*********4 的大作中提到】
: 你科学家吧?:)
: 有点道理,就看CPU的定义了,如果你认为从Intel买来的那一大块就是CPU,算我没说

f******o
发帖数: 1505
58
CPU 还能怎么定义?
CPU 难道是一个软件?你认为它是 kernel 的一部分?

【在 C*********4 的大作中提到】
: 你科学家吧?:)
: 有点道理,就看CPU的定义了,如果你认为从Intel买来的那一大块就是CPU,算我没说

C*********4
发帖数: 59
59
这么说吧,CPU执行的内存读写指令都是基于VA的
想那哥们说的,咱限定于x86。

【在 f******o 的大作中提到】
: 你自己也承认了到了 bus 上就都是 PA 了
: 那不就结了
: "从cpu里访问的都是virtual的"
: 我从头到尾驳斥的就是这句话

A**l
发帖数: 2650
60
算了,刚才看了下,您是面twitter的,上层算法估计挺牛,底层的东西不熟悉也难怪
在OS/kernel level,我们说CPU就是一个具体执行指令的core,比如主流手机有2个4个
core,这个core就是这里说的CPU

【在 f******o 的大作中提到】
: CPU 还能怎么定义?
: CPU 难道是一个软件?你认为它是 kernel 的一部分?

相关主题
[JOBS] Senior Media Software Engineer湾区(Palo Alto)大公司招人啦!程序猿攻城狮快来啊(C/C++, S (转载)
opening: senior software engineer for device driver and linux kernel阿三职场生存秘籍 (ZZ)
软件行业工资比较又看到阿三在costco退东西。。。。是半个西瓜
进入SanFrancisco版参与讨论
f******o
发帖数: 1505
61
x86 arm 什么都无所谓
关键你跟我说的是两码事
你说的执行神马的都是在谈 CPU instruction
我说的是 CPU 这块薯片

【在 C*********4 的大作中提到】
: 这么说吧,CPU执行的内存读写指令都是基于VA的
: 想那哥们说的,咱限定于x86。

A**l
发帖数: 2650
62
严谨点说的话,enable MMU之前CPU还是可以用PA的

【在 C*********4 的大作中提到】
: 这么说吧,CPU执行的内存读写指令都是基于VA的
: 想那哥们说的,咱限定于x86。

A**l
发帖数: 2650
63
我faint了。。。面试的时候聊kernel context switch,谁会说这块板子。。。
我撤了,呵呵,生命诚可贵,下盘棋去

【在 f******o 的大作中提到】
: x86 arm 什么都无所谓
: 关键你跟我说的是两码事
: 你说的执行神马的都是在谈 CPU instruction
: 我说的是 CPU 这块薯片

f******o
发帖数: 1505
64
当然了,现在世界上插着电在运行的,压根没有 MMU 的机器多了去了

【在 A**l 的大作中提到】
: 严谨点说的话,enable MMU之前CPU还是可以用PA的
C*********4
发帖数: 59
65
没MMU你还这儿扯什么VAPA。我也得睡了,你事后觉得这个讨论有益,给我们发个包子。

【在 f******o 的大作中提到】
: 当然了,现在世界上插着电在运行的,压根没有 MMU 的机器多了去了
f******o
发帖数: 1505
66
这个完全不是我说的。
不要把话放到别人的嘴里面。

【在 A**l 的大作中提到】
: 恩,楼上是以为MMU转换后的PA还要向CPU汇报,然后再由CPU根据这个PA发指令去BUS
: 取数据

j*****d
发帖数: 1625
67
请问,编程界一哥是谁?一姐是谁?

【在 j********p 的大作中提到】
: 没什么可抱怨的.
: 中国人和印度人本来就是敌人关系.
: 我已经几次深入敌营了解过了.
: 不过国人能帮你的也不会太多,
: 你只能狠练内功,把自己提高到顶级的江湖水平.
: 干印度人干不了的活.这样你就能平趟北美了.

s********s
发帖数: 4011
68
你不用这种跩B口气会死么?一副就你牛的样子别人啥都没你清楚,被揪到辫子就开始
瞎掰,中国人里的极品说的就是你这样的

【在 f******o 的大作中提到】
: "从cpu里访问的都是virtual的"
: 我又没听错吧? CPU 懂得 virtual memory?
: CPU always deals with physical memory.
: 还有,我有说 TLB 维护不发生吗?楼主上来一句 "context switch needs to flush
: TLB"
: 什么叫 flush? 维护跟 flush 是一回事吗?
: 这还不给人毙了。

f******o
发帖数: 1505
69
滚一边去, 换个马甲就以为自己是个逼了

【在 s********s 的大作中提到】
: 你不用这种跩B口气会死么?一副就你牛的样子别人啥都没你清楚,被揪到辫子就开始
: 瞎掰,中国人里的极品说的就是你这样的

d********f
发帖数: 43471
70
你回答的太好了,三哥一看他自己好几年都没搞明白的问题你都能答出来,怎么还可能
招你

feedback:
and
new

【在 w*******e 的大作中提到】
: 最近面试一个与file system有关系的公司,业界内的大公司,junior的职位(工作经
: 验3年),onsite有俩阿三(总共5个
: 人)。
: 其中一个阿三非常严肃,黑着个脸,下面是面试过程中两个问题以及他对我的feedback:
: 问题一:为什么context switch有big overhead?
: 我的回答如下:
: Because context switch needs to invalidate caches, flush TLB, registers, and
: store process related data, which all require a lot of cpu cycles. The new
: process also takes time to warm up the cache and TLB.
: 他后来的feedback是:我对context switch的基本概念不了解 。。。

相关主题
又看到阿三在costco退东西。。。。是半个西瓜关于ID丢失
为什么阿三在好莱坞混的这么差? (转载)【JOBS广告】04.01 -- 04.30
讨论阿三 ------职场经验(精髓请转!) (转载)有谁了解外洲车换加州牌照的过程?
进入SanFrancisco版参与讨论
a**********t
发帖数: 631
71
CPU always deals with physical memory??? Are you serious or just Guan Shui?
Please go back to retake Computer architecture course!

【在 f******o 的大作中提到】
: "从cpu里访问的都是virtual的"
: 我又没听错吧? CPU 懂得 virtual memory?
: CPU always deals with physical memory.
: 还有,我有说 TLB 维护不发生吗?楼主上来一句 "context switch needs to flush
: TLB"
: 什么叫 flush? 维护跟 flush 是一回事吗?
: 这还不给人毙了。

s***e
发帖数: 403
72
Computer Science APP 2nd Edition
pp 777
With virtual addressing, the CPU accesses main memory by generating a
virtual address, which is converted to the apropriate physical address
before being sent to the memory.
......
pp 778
Dedicated hardware on the CPU chip called the memory management unit (MMU)
translates virtual addresses on the fly, using a look-up table stored in
main memory whose contents are managed by the operating system.

Shui?

【在 a**********t 的大作中提到】
: CPU always deals with physical memory??? Are you serious or just Guan Shui?
: Please go back to retake Computer architecture course!

l*********e
发帖数: 261
73
TLB 和virtual memory management 是两回事。 context swtich要invalidate task
的 TLB entries.

【在 f******o 的大作中提到】
: Context Switch needs to flush TLB ?? 我没有听错吧。
: 如果每次 context switch 到另外一个 process 就需要清空 TLB, 那还要 virtual
: memory management 干嘛 ...
: 你的说法就好比说一辆巴士,到每一站上下人的时候统统要求把全车人赶下车再重新上
: 车一样。
: 我操,服了. 哥们,我说过这样的话,我说如果是我面试老中,除非他是极品我一定让
: 他过关。看到你的帖子我犹豫了。。。

l*********e
发帖数: 261
74
Agree!

【在 p*****d 的大作中提到】
: 看看这个图,cpu访问的是va
: h_ttp://en.wikipedia.org/wiki/File:MMU_principle.png

f******o
发帖数: 1505
75
本来不想再趟这浑水了,说的跟本是两码事
但是看到你这句话我再浪费几秒钟生命好了
TLB 和virtual memory management 是两回事?translation look-aside buffer,
translation 难道不是把 virtual address translate 到 pysical? 这个buffer的
存在是 virtual
memory management 的核心功能之一啊,你能说是两回事?

【在 l*********e 的大作中提到】
: TLB 和virtual memory management 是两回事。 context swtich要invalidate task
: 的 TLB entries.

f******o
发帖数: 1505
76
对啊。
"the CPU accesses main memory"
这不就结了。
你可以说 CPU 使用 virtual address 来 look up, 但是CPU 怎么可能访问 virtual
address。不存在的东西怎么访问。

【在 s***e 的大作中提到】
: Computer Science APP 2nd Edition
: pp 777
: With virtual addressing, the CPU accesses main memory by generating a
: virtual address, which is converted to the apropriate physical address
: before being sent to the memory.
: ......
: pp 778
: Dedicated hardware on the CPU chip called the memory management unit (MMU)
: translates virtual addresses on the fly, using a look-up table stored in
: main memory whose contents are managed by the operating system.

d******o
发帖数: 2489
77
我个人认为不管楼主怎么回答都会被fail的。
另外楼上几个,没必要为这题目吵的脸红脖子粗。

【在 c****m 的大作中提到】
: 第一个你说的没有问题,老印明显就是想fail你让他自己人进去。欲加之罪何患无辞
s****g
发帖数: 257
78
作为一个写过OS kernel的专家, 我宣布在这里
你说的相对最靠谱。
其实这方面不熟悉也没关系, 但有人大呼小叫并误导
人家就不好了。

【在 p*****d 的大作中提到】
: 楼主估计是没做过这方面的东西。
: 维护TLB是MMU的事情,从cpu里访问的都是virtual的,mmu负责把
: va通过TLB转成pa
: 你说的也不全对,TLB的维护在context switch的过程中是发生的,
: 只不过不是在跑os 的核里,而是在mmu里做

l*****o
发帖数: 473
79

毫无疑问,TLB的flush是造成慢的一个原因,因为从此以后,每个内存访问都需要重新
进行页表查找。

【在 p*****d 的大作中提到】
: 楼主估计是没做过这方面的东西。
: 维护TLB是MMU的事情,从cpu里访问的都是virtual的,mmu负责把
: va通过TLB转成pa
: 你说的也不全对,TLB的维护在context switch的过程中是发生的,
: 只不过不是在跑os 的核里,而是在mmu里做

x****k
发帖数: 2932
80
技术贴,mark之
相关主题
好多人转f1继续工作那是怎么回事又上了一个学校里的处女 (转载)
还有人不?急求翻译一个词王垠的[40 行代码]: 普通琐男码工们都跪安吧! (转载)
曾经的愿望都实现了么?job opportunity
进入SanFrancisco版参与讨论
k*******v
发帖数: 176
81
我是读fineArt的。路过,请问MMU是不是代表妹妹的意思?
z****0
发帖数: 4413
82
现在阿3越来越多,国人再不团结 以后的子女还是被阿3 欺负
y*****d
发帖数: 4451
83
看到吧,楼主自己不懂

【在 p*****d 的大作中提到】
: 楼主估计是没做过这方面的东西。
: 维护TLB是MMU的事情,从cpu里访问的都是virtual的,mmu负责把
: va通过TLB转成pa
: 你说的也不全对,TLB的维护在context switch的过程中是发生的,
: 只不过不是在跑os 的核里,而是在mmu里做

u*u
发帖数: 14949
84
三哥
well done
s******s
发帖数: 63
85
想问问楼主是怎么要到这么详细的feedback的
我每次跟recruiter好说歹说 让给个详细的feedback 从来就没人搭理
就只有很很general的 比如你的背景不是很合适什么的
从来就没有收到详细到每个面试官的feedback
x*******1
发帖数: 28835
86
emc. netapp, nimble 还是 oracle?
f*********s
发帖数: 125
87
妹妹幼,小妹妹的意思。

【在 k*******v 的大作中提到】
: 我是读fineArt的。路过,请问MMU是不是代表妹妹的意思?
w*******e
发帖数: 395
88
难道做FS就这几家?VMware不算啊?
nimble不算知名公司吧

【在 x*******1 的大作中提到】
: emc. netapp, nimble 还是 oracle?
c*******1
发帖数: 589
89
lz有做storage和fs的经验么?
Vmware做的storage不一定有G多吧。
nimble还不知名?

【在 w*******e 的大作中提到】
: 难道做FS就这几家?VMware不算啊?
: nimble不算知名公司吧

1 (共1页)
进入SanFrancisco版参与讨论
相关主题
[JOBS] Senior Media Software Engineer关于ID丢失
opening: senior software engineer for device driver and linux kernel【JOBS广告】04.01 -- 04.30
软件行业工资比较有谁了解外洲车换加州牌照的过程?
湾区(Palo Alto)大公司招人啦!程序猿攻城狮快来啊(C/C++, S (转载)好多人转f1继续工作那是怎么回事
阿三职场生存秘籍 (ZZ)还有人不?急求翻译一个词
又看到阿三在costco退东西。。。。是半个西瓜曾经的愿望都实现了么?
为什么阿三在好莱坞混的这么差? (转载)又上了一个学校里的处女 (转载)
讨论阿三 ------职场经验(精髓请转!) (转载)王垠的[40 行代码]: 普通琐男码工们都跪安吧! (转载)
相关话题的讨论汇总
话题: cpu话题: tlb话题: virtual话题: kernel话题: 阿三