当前位置:首页 > 学习资源 > 讲师博文 > 系统调用和库函数调用

系统调用和库函数调用 时间:2023-09-09      来源:华清远见

一、系统调用:

系统调用是用户进程(也就是应用程序)与内核交互的接口。系统调用是由操作系统内核提供的一组函数,它们允许用户进程请求操作系统内核提供的服务和资源,如文件操作、网络通信、进程控制等。
系统调用可以分为多种类型,常见的包括文件系统调用、进程控制调用、网络通信调用等。不同的系统调用提供了不同的服务和资源,比如读取文件、写入文件、创建进程、关闭进程、建立网络连接等等。

系统调用按功能进行分类:

1、设备管理: 完成设备的请求/释放/启动等功能

2、文件管理: 完成文件的读/写/创建/删除等功能

3、进程控制: 完成进程的创建/撤销/阻塞/唤醒等功能

4、进程通信: 完成进程之间的消息传递/信号传递等功能

5、内存管理: 完成内存的分配/回收等功能

二、库函数调用:

库函数 :就是是把函数放到库里,供别人使用的一种方式。
通过把一些常用到的函数编完放到一个文件里,供不同的人进行调用。一般放在.lib文件中。库函数调用则是面向应用开发的,库函数可分为两类,一类是C语言标准规定的库函数,一类是编译器特定的库函数。(由于版权原因,库函数的源代码一般是不可见的,但在头文件中你可以看到它对外的接口)。

三、系统调用和库函数调用的区别:

  • 库函数是语言或应用程序的一部分,而系统调用是内核提供给应用程序的接口,属于系统的一部分;
  • 库函数在用户地址空间执行,系统调用是在内核地址空间执行,库函数运行时间属于用户时间,系统调用属于系统时间,库函数开销较小,系统调用开销较大;
  • 库函数是有缓冲的,系统调用是无缓冲的;
  • 系统调用依赖于平台,库函数并不依赖。

上一篇:关于Java是编译型还是解释型语言

下一篇:嵌入式系统四大地址:虚拟地址,逻辑地址,线性地址,物理地址

戳我查看嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部