C/C++函数库调用与系统调用的区别有哪些
发表于:2024-10-26 作者:千家信息网编辑
千家信息网最后更新 2024年10月26日,这篇文章主要介绍了C/C++函数库调用与系统调用的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。函数库调用是语言或应用程序的
千家信息网最后更新 2024年10月26日C/C++函数库调用与系统调用的区别有哪些
这篇文章主要介绍了C/C++函数库调用与系统调用的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。
系统调用是在操作系统内核发现的一个"trap"或中断后进行的。
函数库调用vs.系统调用
函数库调用 | 系统调用 |
---|---|
在所有的ANSI C编译器版本中,C函数库是相同的 | 各个操作系统的系统调用是不同的 |
它调用函数库中的一个程序 | 它调用系统内核的服务 |
与用户程序相联系 | 是操作系统的一个进入点 |
在用户地址空间执行 | 在内核地址空间执行 |
它的运行时间属于"用户"时间 | 它的运行时间属于"系统"时间 |
属于过程调用,开销较小 | 需要在切换到内核上下文环境然后切换回来,开销较大 |
在C函数库libc中有大约300个程序 | 在UNIx中有大约90个系统调用(MS-DOS中少一些) |
记录于UNIX OS手册的第三节 | 记录于UNIX OS手册的第二节 |
典型的C函数库调用:system,fprintf,malloc | 典型的系统调用:chidr,fork,write,brk |
库函数调用通常比行内展开的代码慢,因为它需要付出函数调用的开销。但系统调用比库函数调用还要慢很多,因为它需要把上下文环境切换到内核模式。在SPARC工作站上,对一个库函数调用进行记时,结果大约是半微秒。系统调用所需要的时间大约是库函数调用的70倍(35微秒)。纯粹从性能上考虑,你应该尽可能地减少系统调用的数量。但是,许多C函数库中的程序通过系统调用来实现功能。
感谢你能够认真阅读完这篇文章,希望小编分享的"C/C++函数库调用与系统调用的区别有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
系统
函数
内核
时间
程序
操作系统
篇文章
开销
用户
切换
上下
上下文
典型
地址
手册
环境
空间
运行
不同
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一般的孩子适合学互联网科技
2014三级网络技术
xiuno数据库
广西东盟民族文化数据库
湖南工控服务器散热器虚拟主机
赤峰定制软件开发
韩国 法律 数据库
广州服务器电源生产厂
大兴区节能软件开发服务技术规范
2020网络安全周法治日
黄浦区推广软件开发供应商机构
不进系统怎么查看戴尔服务器配置
点那里可打开移动数据库
软件开发主要有哪些问题
网络安全相关的产业前景
广州拼创互联网科技有限公司
电话网络技术开发概况
擎天软件数据库
怎样卸载数据库
定时检测数据库会延期吗
广联达软件开发用的什么语言
asp删除一条数据库记录
河南郑州网络技术公司招聘
奉化软件开发
服务器主机安全吗
怎样卸载数据库
mcgs的实时数据库介绍
网络安全通知存在隐患
民兵网络安全教育
dns服务器未响应 xp