小编Jon*_*don的帖子

Linux sbrk() 作为汇编中的系统调用

因此,作为一项挑战,为了提高性能,我正在用汇编语言编写一个简单的服务器。我知道的唯一方法是通过系统调用。(通过 int 0x80)显然,我将需要比在汇编或加载时分配的内存更多的内存,所以我阅读并决定我想使用 sbrk(),主要是因为我不理解 mmap() :p

无论如何,Linux不为sbrk()提供中断,只为brk()提供中断。

那么...如何找到当前程序中断以使用brk()?我考虑过使用 getrlimit(),但我不知道如何获取资源(我猜的进程 ID)来传递给 getrlimit()。或者我应该找到其他方法来实现 sbrk() ?

linux assembly system-calls sbrk

5
推荐指数
1
解决办法
4797
查看次数

Linux中的异步套接字-通过以下方式轮询与回调

在决定在我的简单服务器(linux)中实现异步套接字时,我遇到了一个问题。我打算不断地poll(),并在调用之间进行一些清理和缓存。现在看来这很浪费,所以我做了更多的挖掘工作,找到了一种可能在I / O上实现一些回调的方法。

如果我使用O_NONBLOCK创建了套接字,请使用SIOCSPGRP ioctl()在I / O上发送SIGIO,并使用sigaction()在I / O期间定义回调函数,是否会导致性能下降,更重要的是,它将起作用吗? 。

另外,我可以为不同的插座定义不同的功能吗?

sockets linux asynchronous ioctl callback

5
推荐指数
1
解决办法
5604
查看次数

标签 统计

linux ×2

assembly ×1

asynchronous ×1

callback ×1

ioctl ×1

sbrk ×1

sockets ×1

system-calls ×1