TGViewer
Kali Linux Kali Linux @linuxkalii · 55.4K subscribers
Post #2194 7K
⚡️ Linux умеет передавать страницы памяти ядру почти без копирования

Есть малоизвестный системный вызов vmsplice().

Он позволяет отобразить пользовательские страницы памяти прямо в pipe:


struct iovec iov = {
.iov_base = buf,
.iov_len = len
};

vmsplice(pipefd[1], &iov, 1, SPLICE_F_GIFT);


Самая интересная часть — SPLICE_F_GIFT.

Этим флагом userspace фактически говорит ядру: эти страницы памяти можно считать переданными тебе.

Это используется в zero-copy/low-copy сценариях, где хочется минимизировать лишние копирования между userspace и kernel space.

Но есть нюанс: после такой передачи нельзя относиться к этим страницам как к обычной памяти и спокойно менять их содержимое.

Очень низкоуровневая штука, но отличный пример того, насколько далеко Linux позволяет зайти в оптимизации I/O.
  • 🔥 16
  • 😁 5
  • ❤ 3
  • 🥰 1
More from @linuxkalii
  1. Sep 20, 2026Один разработчик начал с треугольника - через пять лет Linux получил полноценную графику н…
  2. Sep 18, 2026⚡️ SpecterOps открыла большой набор готовых навыков и агентов для информационной безопасно…
  3. Sep 16, 2026Denuvo пошла по следу voices38 - известного хакера, который с начала года обходил защиту в…
  4. Sep 16, 2026✔️ OpenAI читает переписки пользователей с ChatGPT Издание 404 Media выяснило, что OpenAI…
  5. Sep 15, 2026🐧 Linux: быстро проверить открытые порты и сетевые соединения Старый, но всё ещё полезный…
  6. Sep 14, 2026⚡️ Linux Совет: управляй разделами диска прямо из терминала Посмотреть все диски и разделы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →