用户态 和 内核态的切换代价有多大

2019-11-14 23:29:47 +08:00
 ruandao

我目前 知道,寄存器的内容要保存 还有呢?

能大概估计多少 us 吗?

相比 https://gist.github.com/jboner/2841832

2337 次点击
所在节点    问与答
3 条回复
WordTian
2019-11-15 00:17:51 +08:00
系统调用的切换流程:
上下文保存到内核栈
使用中断,进行系统调用
恢复内核栈的信息到上下文

实际时间取决于机器性能吧
tt67wq
2019-11-15 09:04:46 +08:00
所以,代价是什么呢?噶尔丹?
lewinlan
2019-11-15 12:31:06 +08:00
看你是为啥要切换了,普通的 systemcall 就是一个陷阱指令,代价大约就只是存取寄存器。
注意也要考虑缓存问题,即时空局限性问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/619708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX