sys_brk
sys_brk(即调用号为12的brk系统调用)是Linux中一个用于动态内存管理的核心系统调用。它直接操作进程的程序中断点(program break),即堆(heap)的结束地址。通过改变这个中断点的位置,程序可以动态地增加或减少其数据段的大小。...
sys_brk(即调用号为12的brk系统调用)是Linux中一个用于动态内存管理的核心系统调用。它直接操作进程的程序中断点(program break),即堆(heap)的结束地址。通过改变这个中断点的位置,程序可以动态地增加或减少其数据段的大小。...
sys_mprotect(即调用号为10的mprotect系统调用)是Linux内核提供的一个核心功能,它允许程序动态地修改其虚拟地址空间中某个内存区域的访问权限。这在很多场景中都至关重要,如实现JIT编译器、沙箱机制,或者防止某些类型的缓冲区溢出攻...
sys_mmap(调用号为9)和sys_munmap (调用号为11)是 Linux 中功能最强大的内存管理接口之一。二者分别可用于将文件或匿名内存映射到进程的虚拟地址空间以及取消前者所建立的映射,从而实现文件 I/O 的内存语义、堆外大块...
sys_lseek (调用号为8)是 Linux 中一个用于操作文件描述符读写位置的系统调用。它的核心功能是重新定位(移动)一个已打开文件的读写偏移量(offset)。这个偏移量决定了下一次读或写操作将从文件的什么位置开始。通过它,我们可以实现文件的...
sys_poll (即调用号为7的poll系统调用)是 Linux 中一个非常重要的系统调用,用于检测多个文件描述符,看它们是否准备好去进行某种类型的 I/O 操作(比如是否可读、可写等)。它是一种实现 I/O 多路复用的高效方法...
sys_stat (调用号为4)、sys_fstat (调用号为5)和 sys_lstat (调用号为6)是 Linux 系统中的三个基本文件状态查询系统调用,用于获取文件的元信息(如大小、权限、时间戳等)。 这三个系统调用虽然都用于获取文件元信息,...
sys_open(即调用号为2的系统调用)与sys_close(即调用号为3的系统调用)是 Linux 中的两个基本系统调用,用于对文件描述符进行相关操作。 sys_open会将被打开的文件路径转换为文件描述符int fd,该描述符可用于后续的读写操...
sys_write(即调用号为1的write系统调用)是 Linux 中的一个基本系统调用,用于向某一文件描述符中写入数据。它从指定的某一内存区域读取数据,并将其写入到目标,返回值为实际写入的字节数。 sys_write 函数原型 1ssiz...
sys_read(即调用号为0的read系统调用)是 Linux 中的一个基本系统调用,用于从文件描述符中读取数据,并存储在一段指定的内存区域中,返回值为读取到的字节数。 sys_read 函数原型 1ssize_t read(int fd,...
说明: 调用号存放在 %rax 前六个参数依次在 %rdi, %rsi, %rdx, %r10, %r8, %r9 返回值存放在 %rax 错误时返回 -1 并设置 errno 系统调用号 名称 函数原型 说明 0 rea...