Expand description
Wrappers de la famille mem — mappings, protection, memfd, etc.
Cf. docs/specs/layer-0/family-mem.md.
Structs§
- Mapping
- Mapping mémoire RAII.
- Mmap
Region - Mapping mmap partageable et compatible io_uring : ses pages restent
valides tant qu’une opération io_uring en vol (
madvise/futex_*) y référence de la mémoire. Compté par référence —munmapau dernier drop (la région et toutes les gardes de vivacité d’ops en vol). - Mmap
Region Liveness - Garde de vivacité retenue par le slot S1 d’une opération io_uring en vol qui
référence la région. Maintient les pages mappées sans donner d’accès :
tant qu’une garde existe,
munmapne peut pas se produire.
Functions§
- madvise
- Informe le kernel sur le pattern d’accès attendu à une plage mémoire.
- memfd_
create - Crée un fichier mémoire anonyme (memfd).
- memfd_
secret - Crée un fichier mémoire secret non accessible au kernel.
- mlock
- Verrouille une plage mémoire en RAM (empêche le swap).
- mlock2
- Verrouille une plage mémoire avec contrôle du moment du verrouillage.
- mlockall
- Verrouille toutes les pages du processus en RAM.
- mmap_
anonymous - Crée un mapping mémoire anonyme (sans fichier sous-jacent).
- mmap_
file - Crée un mapping de fichier.
- mmap_
fixed ⚠ - Mappe à une adresse spécifique.
- mprotect
- Modifie les permissions d’une plage mémoire mappée.
- mremap
- Redimensionne (et éventuellement déplace) un mapping existant.
- msync
- Force la synchronisation d’un mapping
MAP_SHAREDvers le fichier. - munlock
- Déverrouille une plage mémoire précédemment verrouillée.
- munlockall
- Déverrouille toutes les pages du processus.
- munmap
- Dé-mappe explicitement un mapping et récupère une éventuelle erreur.
- munmap_
raw ⚠ - Libère un mapping par (adresse, longueur) brutes (
munmap(2)) — descellement additif ADR-085 pour la face libc, qui gère la vie du mapping par(addr, len)(comme le Cvoid *mmap/int munmap(void *, size_t)), et non par l’objet RAIIMapping. La couche 1 [air-memory] l’expose à la libc via sonAirMemoryManager. - process_
vm_ readv - Lit la mémoire d’un autre processus sans
ptrace. - process_
vm_ writev - Écrit dans la mémoire d’un autre processus sans
ptrace.