函数库调用和系统调用的区别

简介: 函数库调用和系统调用的区别。操作系统层面上:系统调用是调用操作系统内核的一部分。系统调用,每个操作系统会存在不同。速度上:系统调用一次需要35微秒。函数库一次调用耗费半微秒。系统调用大概有70个。文件描述符和文件指针的区别将会进行干嘛呢。

函数库调用和系统调用的区别。

操作系统层面上:系统调用是调用操作系统内核的一部分。系统调用,每个操作系统会存在不同。

速度上:系统调用一次需要35微秒。函数库一次调用耗费半微秒。

系统调用大概有70个。


文件描述符和文件指针的区别

将会进行干嘛呢。

文件描述符是一个整型数字。操作系统的系统调用,都需要传递这个值进去。


作者建议,要使用标准的i/o库调用。
这样会出现移植性。



文件指针则是一个内存地址,指向了一个数据结构。结构里面保持哪些内容?
描述符,可以有很多种描述办法。


用途不同,文件描述符是进行系统调用时需要传递的。
文件指针,,是库调用需要的参数。
为什么会这种区别呢。




指针,本质是个指针。



文件描述符的作用是索引?

目录
相关文章
|
5月前
引入系统调用
引入系统调用
39 0
|
1月前
|
Linux C语言
C语言 多进程编程(三)信号处理方式和自定义处理函数
本文详细介绍了Linux系统中进程间通信的关键机制——信号。首先解释了信号作为一种异步通知机制的特点及其主要来源,接着列举了常见的信号类型及其定义。文章进一步探讨了信号的处理流程和Linux中处理信号的方式,包括忽略信号、捕捉信号以及执行默认操作。此外,通过具体示例演示了如何创建子进程并通过信号进行控制。最后,讲解了如何通过`signal`函数自定义信号处理函数,并提供了完整的示例代码,展示了父子进程之间通过信号进行通信的过程。
|
5月前
|
开发工具 C语言
调用外部函数库:加入链接的函数库
【5月更文挑战第14天】调用外部函数库:加入链接的函数库。
39 1
|
5月前
|
Linux Shell 程序员
【进程控制】进程程序替换的原理以及exec函数族
【进程控制】进程程序替换的原理以及exec函数族
|
11月前
|
API 开发工具
【Pintos】实现自定义 UserProg 系统调用 | 添加 syscall-nr 系统调用号 | 编写新的参数调用宏
【Pintos】实现自定义 UserProg 系统调用 | 添加 syscall-nr 系统调用号 | 编写新的参数调用宏
109 0
|
5月前
|
缓存 Linux 编译器
C/C++ 函数调用以及Linux中系统调用 开销介绍:介绍C/C函数调用以及Linux中系统调用的开销情况
C/C++ 函数调用以及Linux中系统调用 开销介绍:介绍C/C函数调用以及Linux中系统调用的开销情况
68 0
|
5月前
|
安全 Java 程序员
“系统调用”究竟是不是个函数?
- **系统调用**和普通**函数**有何区别? - 什么是**内核态** 和 **用户态**? - 操作系统如何让CPU切换状态? - 内中断、外中断、软中断、硬中断是什么意思? - 库函数和系统调
|
存储 API Windows
驱动开发:内核中进程与句柄互转
在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,`EProcess`结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转换,可以使用函数如`OpenProcess`和`GetProcessId`。OpenProcess函数接受一个PID作为参数,并返回一个句柄。GetProcessId函数接受一个句柄作为参数,并返回该进程的PID。
|
存储 API
驱动开发:内核文件读写系列函数
在应用层下的文件操作只需要调用微软应用层下的`API`函数及`C库`标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要讲解的文件与目录操作相关函数,多数ARK反内核工具都具有对文件的管理功能,实现对文件或目录的基本操作功能也是非常有必要的。
|
缓存 Linux API
系统编程之文件IO(七)——0,1,2三个文件描述符与库函数和系统调用的区别
系统编程之文件IO(七)——0,1,2三个文件描述符与库函数和系统调用的区别
106 0
系统编程之文件IO(七)——0,1,2三个文件描述符与库函数和系统调用的区别