程序使用系统调用来从操作系统的内核请求服务。
这个问题主要是在没有db或类似的帮助程序的情况下,如何在汇编中处理任意长字符串的路径名。我已经看到了几个这样的示例,它显示:...
我正在尝试在Linux中进行自我修改的代码。我以为可以,但是没有。 section .data section .text section全局_start _start:mov eax,125; mprotect系统调用号mov ebx,_start ...
Linux系统调用:PTRACE_O_TRACECLONE导致无限期挂起
我有一个二进制文件,我需要从中截取特定的系统调用-在这种情况下为unlinkat-并且使其不执行任何操作。我有以下代码对单个进程有效;但是,使用...
Syscall常量syscall.ENONET在Go中未定义
我试图通过运行go运行以下bar.go脚本包main import(“ fmt”“ syscall”)func main(){fmt.Printf(“%d \ n”,uintptr(syscall.ENONET))}}运行bar.go并得到这个...
是否有可能将syscall中的以下功能转换为windows.h中的功能?如果是这样,有信息的人可以帮助我,但我在Google上找不到任何东西。静态内联int __setns(int ...
我是unix系统的新手。我正在学习在UNIX中添加系统调用,但是找不到有用的资源来学习它。谁能帮我在unix中添加“ lsof”命令吗?
我为一个学校项目编写了程序集,但我被困在一个点上,我需要重写asm中的Read,所以我明白了,但是我需要设置errno变量,如果出现以下情况,我的read可以返回-1错误并设置...
我很好奇从实现的角度来看单个NPTL线程如何退出。我对glibc-2.30的实现了解的是:NPTL线程建立在Linux上的轻量级进程之上,...
为什么应用程序不能直接访问硬件设备?为什么我们需要切换到内核空间才能执行此操作?
我想知道为什么当我们要访问硬件设备时为什么需要切换到内核空间。我了解有时候,对于诸如内存分配之类的特定操作,我们需要在...
GCC使用glibc 2.30-8警告有关gettid()syscall包装器的信息>
手册页和SO post#1 / SO post#2都表明gettid()是在glibc 2.30中实现的。根据ldd --version,我认为我正在使用GLIBC 2.30-8,但gcc仍然抱怨-警告:隐式...
BUG:在syscall中访问自定义结构时无法处理内核分页请求
使用具有4.4.21内核的Linux,我需要实现一个系统调用,该系统调用的参数之间包含一个自定义结构的指针。这些是要编辑的文件://在linux-4.4.21 / arch / x86 / entry / ...
在xv6中创建新的系统调用,该调用返回有关所有正在运行的进程的打开文件的数据
开始学习xv6。我正在尝试添加一个新的系统调用,该调用将为所有正在运行的进程打印打开文件的列表。它必须打印每个进程的pid,其文件描述符号...
我根据本教程编写了一个简单的syscall,并在其中使用syscall引导到新内核,但是当我编译测试并执行它时,会导致分段错误(内核转储)。我的...
我正在按照本教程中的说明,在自定义Linux内核上实现系统调用。我的问题是:为什么在实现新系统时我们必须编译新的自定义内核...
为什么在实现新的系统调用时为什么必须使用Internet上的另一个内核源?
我正在尝试向我的操作系统添加系统调用,当我阅读在线教程时,它总是从从Internet下载和提取内核源代码开始。例如:$ wget https:// cdn ....
我正在使用strace来研究进程的选择系统调用,并且我试图弄清楚'left'是什么意思。在从strace日志中提取的调试行下面找到。 select(13,[6 7 8 11 ...
[有人可以建议我如何使用系统调用对具有特定扩展名的文件进行递归搜索吗?我应该使用opendir(),但我不太了解它的工作原理以及如何递归使用...。] >
我一直在尝试在NASM中使用stat来获取文件大小。但是,st_size返回0。有人可以解释为什么会发生这种情况吗?这是我的代码:global _main extern _printf section .bss stat resb ...
我目前正在测试xv6并实施了一个新的syscall。据我所知,xv6中的所有系统调用都返回一个int。这是必需的,为什么?因为我想返回一个C结构。这是...