openKylin论坛

 找回密码

内核系统与用户程序的关系 [复制链接]

1.内核为应用程序提供了两方面的接口。其一是系统调用接口,也即中断调用 int 0x80
2.另一方面是通过内核库函数与内核进行信息交流。
3.内核库函数是基本 C 函数库 libc 的组成部分。
4.许多系统调用是作为基本 C 语言函数库的一部分实现的。
5.系统调用主要是提供给系统软件直接使用或用于库函数的实现。
6.一般用户开发的程序则是通过调用象 libc 等库中的函数来访问内核资源。通过调用这些库中的程序,应用程序代码能够完成各种常用工作,例如,打开和关闭对文件或设备的访问、进行科学计算、出错处理以及访问组和用户标识号 ID 等系统信息。
7.系统调用是内核与外界接口的最高层。
8.在内核中,每个系统调用都有一个序列号(在include/linux/unistd.h 头文件中定义),并常以宏的形式实现。
9.应用程序不应该直接使用系统调用,因为这样的话,程序的移植性就不好了。
10.目前 Linux 标准库 LSB ( Linux Standard Base )和许多其它标准都不允许应用程序直接访问系统调用宏。
11.库函数一般包括 C 语言没有提供的执行高级功能的用户级函数,例如输入 / 输出和字符串处理函数。某些库函数只是系统调用的增强功能版。

楼主
发表于 2013-11-22 12:52:00
回复

使用道具 举报

openKylin

GMT+8, 2024-5-21 05:15 , Processed in 0.016382 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表