my880131 发表于 2011-01-03 14:22

abort,sleep,system等函数是在内核空间实现的吗?

本帖最后由 my880131 于 2011-01-03 14:25 编辑

最近看了APUE上关于abort,system,sleep函数的解释,而且给出了这些函数在用户空间的实现方法。
但是,这些函数都没有考虑被外部信号打断而导致函数异常结束的情况。
比如说abort函数,如果在执行abort函数的第一句代码之前,外部就传来一个SIGABRT信号,那么整个进程将
直接结束而不会执行fflush操作。
我感觉如果在用户空间实现这些函数,那么这种情况将永远不可避免。我们一般直接调用的abort等函数是在内核空间实现的吗?

zhouwei5872 发表于 2011-02-11 13:26

他们都是系统的api,说白了就是一个软中断

amarant 发表于 2011-02-11 13:44

系统调用

kangear 发表于 2013-01-15 22:19

学习了,但是还是不那么清楚。。。。

crazyhadoop 发表于 2013-01-16 13:11

回复 4# kangear


    apue 多翻几遍看一下如何?

kangear 发表于 2013-01-16 13:36

回复 5# crazyhadoop

明白!

   

kangear 发表于 2013-01-16 14:37

回复 5# crazyhadoop
那个我明白了,您能看看这个吗?我研究一上午了都。http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4064086&extra=


   
页: [1]
查看完整版本: abort,sleep,system等函数是在内核空间实现的吗?