差异b / w系统调用&用户在linux或任何操作系统中调用

时间:2013-03-11 14:33:24

标签: linux operating-system

我正在寻找答案很多天,但没有一个解决了我的问题。有什么区别黑白系统电话&用户调用,我想计算用户CPU时间&用于c中printf()函数的内核CPU时间。用户cpu时间是CPU执行用户例程所花费的时间。内核cpu时间是cpu执行内核例程所花费的时间。我的问题是调用printf()的一些地方,最后调用系统调用来打印显示的字符。我的意思是在例程printf()中说哪个部分属于用户&哪个部分属于内核。简单赋值语句a = b是否涉及系统调用?

1 个答案:

答案 0 :(得分:1)

C中的简单a=b语句不涉及系统调用;这完全在用户空间中执行。

printf()中,大多数代码在用户空间中执行(例如,提供的参数的格式化)。仅用于将最终格式化文本写入stdout是调用的write系统调用。您可以使用strace工具查看此信息,该工具显示应用程序进行的所有系统调用。