Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93499
  • 博文数量: 41
  • 博客积分: 1905
  • 博客等级: 上尉
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-10 20:07
文章分类

全部博文(41)

文章存档

2011年(1)

2010年(18)

2009年(22)

我的朋友

分类: LINUX

2010-05-15 14:37:01

内核函数库与标准C函数库的区别

-----------------------------------------------------------

   与普通用户程序不同,内核代码不能使用标准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中实现的所有字符串操作函数。

阅读(952) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~