设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
内核与驱动开发
›
请问什么是系统调用,什么是库调用?
返回列表
查看:
2794
|
回复:
5
请问什么是系统调用,什么是库调用?
[复制链接]
lenew
lenew
当前离线
积分
25
IP卡
狗仔卡
发表于 2003-11-3 20:35:15
|
显示全部楼层
|
阅读模式
我看有操作系统的书上说系统调用是库调用.我觉得还是应该有区别的.那是不是系统调用是调用LINUX的内核中的函数,而库调用是调用GLIBC中的函数,GLIBC又是调用LINUX内核的?
在普通用户编程中是否两种调用都可使用?
:thank
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
keenor
keenor
当前离线
积分
168
IP卡
狗仔卡
发表于 2003-11-15 08:51:10
|
显示全部楼层
书错了,你对
回复
支持
反对
使用道具
举报
显身卡
wide288
wide288
当前离线
积分
2736
IP卡
狗仔卡
发表于 2003-11-15 15:29:29
|
显示全部楼层
楼主说的不全对。
系统调用是调用 Linux 提供给用户编程的接口函数,这个和内核函数是有区别的。
回复
支持
反对
使用道具
举报
显身卡
skykufo
skykufo
当前离线
积分
3
IP卡
狗仔卡
发表于 2003-11-16 13:24:17
|
显示全部楼层
我是这样认为的:系统调用就是那些从用户空间通过中断门(x86用
int xx,多少我不知道)调用系统提供的内核函数接口(不是所有
内核函数都公开来被用户空间调用)。用c函数格式包装一下就成了
最基本的c库函数。其它的ansi c,posix c库有些根本不用调用系统
调用(如那些数学函数),有些调一个,有些调几个,方便使用。
回复
支持
反对
使用道具
举报
显身卡
chinasddzfox
chinasddzfox
当前离线
积分
1
IP卡
狗仔卡
发表于 2003-11-20 22:52:14
|
显示全部楼层
系统调用(system call)是操作系统在用户与硬件之间架设的一座桥梁,用户通过在编程时调用system call来完成他想要系统执行的任务,其实我们想让OS做得事都是被分解成多个system call来完成任务的.
而库函数,我觉得这里说的可能是用户线程库,主要是微内核采用的一种服务方式,这是我的一点拙见,还请指正.
回复
支持
反对
使用道具
举报
显身卡
frozenbird
frozenbird
当前离线
积分
18
IP卡
狗仔卡
发表于 2003-11-20 23:57:39
|
显示全部楼层
在linux下每个系统调用由两部分组成:
(1):核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运行在核心态。
(2):接口函数:是提供给应用程序的API,以库函数的形式存在于linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表