与普通用户程序不同,内核代码不能使用标准C函数库及其他一些函数库。主要原因是由于完整的C函数库很大。因此在内核源代码中有专门一个lib/目录提供内核需要用到的一些函数。内核函数库用于为内核初始化程序init/main.c运行在用户态的进程(进程0、1)提供调用支持。它与普通静态库的实现方法完全一样。读者可从中了解一般libc函数库的基本组成原理。在lib/目录党国有12个C语言文件,除了一个由Tytso编制的 malloc.c程序较长以外,其他的程序很短,有的只有一二行代码,实现了一些系统调用的接口函数。
这些文件中主要包括退出函数_exit()、关闭文件函数close(fd)、复制文件描述符函数dup()、文件打开函数open()、写文件函数write()、执行程序函数execve()、内存分配函数malloc()、等待子进程状态函数wait()、创建会话系统调用 setsid()以及在include/string.h中实现的所有字符串操作函数。
内核函数库与标准C函数库的区别
原创
©著作权归作者所有:来自51CTO博客作者小叶残风的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【C语言加油站】详细解读字符函数与字符串函数
【C语言加油站】字符函数与字符串函数详细介绍字符函数与字符串函数的相关知识点……
C语言 字符串 字符函数 字符串函数 -
【C语言加油站】qsort函数的模拟实现
【C语言加油站】qsort函数的模拟实现本文详细介绍了使用冒泡排序的逻辑模拟实现可以排序任意类型数组的qsort函数……
C语言 qsort排序函数 冒泡排序 回调函数 void*指针 -
C语言库函数
C语言函数库查询:[url]http://www.8594.net/Dev_Doc/txt_doc/CLib/[/url]
C语言 程序 设计 休闲 库函数 -
[C语言] strtok库函数
strtok
strtok strerror -
[C语言] qsort库函数
qsort库函数
qsort