draveness / blog-comments

面向信仰编程
https://draveness.me
140 stars 6 forks source link

为什么系统调用会消耗较多资源 - 面向信仰编程 · /whys-the-design-syscall-overhead #208

Closed draveness closed 2 years ago

draveness commented 4 years ago

https://draveness.me/whys-the-design-syscall-overhead/

zhuxuan1997 commented 4 years ago

感谢博主

industriousonesoft commented 4 years ago

感谢博主,受益匪浅。

chenwaichung commented 4 years ago

感谢博主分享,还有想请教一下博主,您制图使用的是什么工具呢?看起来效果挺好的

draveness commented 4 years ago

@chenwaichung 感谢博主分享,还有想请教一下博主,您制图使用的是什么工具呢?看起来效果挺好的

你可以在 技术文章配图指南 中找到画图的方法和素材。

pullp commented 4 years ago
  1. rt_sigreturn 应该是用于信号处理函数结束后的返回. (但是我在ubuntu 20.04下调试发现从信号处理函数返回的时候用的还是 syscall指令 而不是通过 vdso段)

  2. 我猜测从信号处理函数返回的时候通常是从用户态返回到用户态的. 所以通过 vdso 段实现这个功能的话相比通过 syscall 的实现方法可以避免一个 用户态->内核态->用户态 的开销. 关于安全风险我认为 sigreturn 这个系统调用只是通过从用户态的栈上读取的数据修改寄存器, 并没有涉及到内核中数据的修改. 所以移到 vdso 段应该也没有什么安全风险.

以上只是我关于两个问题的一下看法. 欢迎讨论.

xiaosiyong commented 4 years ago

@draveness

@chenwaichung 感谢博主分享,还有想请教一下博主,您制图使用的是什么工具呢?看起来效果挺好的

你可以在 技术文章配图指南 中找到画图的方法和素材。

哈哈哈 我都替博主感到冤……输出这么好的东西咋就没人多看看呢 几乎每篇文章都有人问图咋画的~

yuchanns commented 4 years ago

首页[为什么 Linux 默认页大小是 4KB]和本文的链接都指向了本文,应该是bug

draveness commented 4 years ago

首页[为什么 Linux 默认页大小是 4KB]和本文的链接都指向了本文,应该是bug

多谢,修好了

huanghe314 commented 4 years ago

感谢博主分享

chenmengzheng commented 4 years ago

感谢博主

huanghe314 commented 4 years ago

非常感谢博主这么好的文章,受益匪浅。
有个问题想确认一下。 对于以下描述:

执行 SAVE_ALL 将寄存器的值存储到内核栈上并调用 do_int80_syscall_32;

我的理解是,这个过程中把寄存器的值存储到内核栈上,是因为要把CPU当前执行的上下文数据暂存到内核栈上,之后等系统调用完成后,再通过内核栈中暂存的数据,恢复到寄存器中,同时把系统调用的返回值写入内核栈中。
不知道我这样理解对吗?

draveness commented 4 years ago

非常感谢博主这么好的文章,受益匪浅。 有个问题想确认一下。 对于以下描述:

执行 SAVE_ALL 将寄存器的值存储到内核栈上并调用 do_int80_syscall_32;

我的理解是,这个过程中把寄存器的值存储到内核栈上,是因为要把CPU当前执行的上下文数据暂存到内核栈上,之后等系统调用完成后,再通过内核栈中暂存的数据,恢复到寄存器中,同时把系统调用的返回值写入内核栈中。 不知道我这样理解对吗?

可以这么理解,主要是怕系统调用的过程中把寄存器里的值覆盖了,这样回到用户态数据就丢失了。

last2win commented 4 years ago

博主可以增加一个双击图片放大的功能吗,文章的图2字挺小的,想放大看。

draveness commented 4 years ago

@zhang0peter 博主可以增加一个双击图片放大的功能吗,文章的图2字挺小的,想放大看。

不能用触控板双指放大么...

last2win commented 4 years ago

@zhang0peter 博主可以增加一个双击图片放大的功能吗,文章的图2字挺小的,想放大看。

不能用触控板双指放大么...

台式机没有触控板。。。

JiHanHuang commented 4 years ago

@zhang0peter

@zhang0peter 博主可以增加一个双击图片放大的功能吗,文章的图2字挺小的,想放大看。

不能用触控板双指放大么...

台式机没有触控板。。。

浏览器可以缩放吧,ctrl加+/-