system-calls

system-calls

文章 1 浏览 79

如何以编程方式确定“写入”是否被写入?系统调用在特定文件上是原子的吗?

在某些情况下,编码器不能依赖原子的系统调用,例如,如果文件位于 NFS 文件系统上。 (参见 NFS 概述、常见问题解答和 HOWTO 文档)。但大多数数据库…

愛放△進行李 2024-12-07 21:52:07 7 0

静态链接可执行文件的启动代码会发出如此多的系统调用?

我正在尝试静态编译一个最小程序并检查发出的系统调用: $ cat hello.c #include int main (void) { write(1, "Hello world!", 12); return 0; } $ gc…

栖竹 2024-12-07 17:58:30 8 0

v2.6.39.4 中的文件entry.S 在哪里?

我正在研究linux中的系统调用,源代码版本为2.6.39.4。 书上说系统调用是在entry.S中实现的,位于arch/i386/kernel/entry.S, 但我在 v2.6.39.4 中找…

撑一把青伞 2024-12-07 08:02:22 4 0

系统调用挂钩时出现问题

我使用以下模块代码来挂钩系统调用(代码归功于其他人,例如 Linux内核:系统调用挂钩示例)。 #include #include #include #include #include #inclu…

笑忘罢 2024-12-06 16:14:14 6 0

Linux 内核源代码中系统调用/陷阱的实现

我目前正在学习操作系统如何使用陷阱来促进 Linux 内核中的系统调用。我在 traps.c 中找到了陷阱表,并在entry.S 中找到了许多陷阱的实现。 然而,我…

落在眉间の轻吻 2024-12-04 22:44:20 6 0

C 指针 void * 缓冲区问题

很抱歉用 C 的东西打扰了大家。 write() 需要 void * buff。我需要通过提供所需的数据从 main() 调用此函数。 但是当我打印时它会抛出错误。朋友们帮…

离不开的别离 2024-12-04 11:32:53 5 0

函数 execve 的实现(unistd.h)

如何查看函数 execve 的实现(在 x86_64 Linux 下),它位于 unistd 库中? 我想要这个是因为我想知道如何使用汇编程序调用外部程序,而不调用 execve…

套路撩心 2024-12-04 02:22:34 9 0

在缓慢的系统调用中处理 SIGINT

我对 Python 很陌生,所以如果这个问题非常基本,请原谅我。 我试图在使用选择模块从套接字接受数据时处理键盘中断。因此,我有一个 select.select() …

<逆流佳人身旁 2024-12-03 19:22:36 8 0

额外的 memset() 导致系统调用 open() 失败

我按照教程 /dev 中创建了一个节点title="Look at Example 4-1.chardev.c">这里 (chardev.c),我尝试访问使用以下命令创建的 /dev/chardev 中的设备代…

马蹄踏│碎落叶 2024-12-03 01:53:31 5 0

使用 gdb 进入 swapcontext()

我正在做一个进行unix系统调用的项目。具体来说,我的项目严重依赖对 getcontext()、makecontext()、swapcontext() 和 setcontext() 的调用。我尝试使…

清欢 2024-12-02 18:34:12 6 0

Frenzapp如何获取其他应用程序的版本?

有谁知道 Frenzapp 如何获取其他已安装应用程序的版本? 他们可能使用 sysctl 枚举正在运行的进程,为每个进程返回 kinfo_proc 结构。查看 kinfo_proc…

不必了 2024-12-02 12:18:14 2 0

gettimeofday 系统调用如何工作?

gettimeofday 是一个 x86-86 的系统调用,根据此页面 (只需在框中搜索gettimeofday): int gettimeofday(struct timeval *tv, struct timezone *tz)…

烟─花易冷 2024-12-02 10:17:21 6 0

如果两个不同的进程同时对同一文件调用写入系统调用,会发生什么情况

操作系统是否正确处理它? 或者我必须调用flock()?…

云仙小弟 2024-12-02 00:42:23 6 0

如何在汇编中将 RAX 中的值写入 STDOUT?

我可以使用 syscall 进行 write 将内存中的一些数据打印到 STDOUT: ssize_t write(int fd, const void *buf, size_t count); 也就是说: movq $1, %r…

旧时光的容颜 2024-12-01 02:21:05 3 0

使用绝对内存地址初始化指针

我正在我正在处理的自定义操作系统项目中实现 put(在屏幕上打印字符串)系统调用。字符串的绝对内存地址由代表 esi 寄存器的 unsigned int 变量给出…

寄人书 2024-11-30 13:22:58 4 0
更多

推荐作者

十二

文章 0 评论 0

飞烟轻若梦

文章 0 评论 0

OPleyuhuo

文章 0 评论 0

wxb0109

文章 0 评论 0

旧城空念

文章 0 评论 0

-小熊_

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文