Skip to content
Syscall BSD#203

svc · unix #203

mlock

Verrouille une plage de mémoire virtuelle en RAM physique pour empêcher la pagination.

Prototype

int mlock(caddr_ut addr, size_ut len);

Retour: int

Arguments

NameTypeDirDescription
addrcaddr_ut-
lensize_ut-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard203
xnu-1699.24.8macOS 10.7 Lion203
xnu-2050.18.24macOS 10.8 Mountain Lion203
xnu-2422.115.4macOS 10.9 Mavericks203
xnu-2782.40.9macOS 10.10 Yosemite203
xnu-3247.1.106macOS 10.11 El Capitan203
xnu-3789.1.32macOS 10.12 Sierra203
xnu-4570.1.46macOS 10.13 High Sierra203
xnu-4903.221.2macOS 10.14 Mojave203
xnu-6153.11.26macOS 10.15 Catalina203
xnu-7195.50.7.100.1macOS 11.0 Big Sur203
xnu-8019.41.5macOS 12.0 Monterey203
xnu-8792.41.9macOS 13.0 Ventura203
xnu-10002.1.13macOS 14.0 Sonoma203
xnu-11215.1.10macOS 15.0 Sequoia203
xnu-11417.101.15macOS 15.4 Sequoia203
xnu-12377.1.9macOS 26.0 Tahoe203
xnu-10002.41.9203
xnu-10002.61.3203
xnu-10002.81.5203
xnu-10063.101.15203
xnu-10063.121.3203
xnu-10063.141.1203
xnu-11215.41.3203
xnu-11215.61.5203
xnu-11215.81.4203
xnu-11417.121.6203
xnu-11417.140.69203
xnu-12377.101.15203
xnu-12377.41.6203
xnu-12377.61.12203
xnu-12377.81.4203
xnu-1486.2.11203
xnu-1504.15.3203
xnu-1504.3.12203
xnu-1504.7.4203
xnu-1504.9.17203
xnu-1504.9.26203
xnu-1504.9.37203
xnu-1699.22.73203
xnu-1699.22.81203
xnu-1699.24.23203
xnu-1699.26.8203
xnu-1699.32.7203
xnu-2050.22.13203
xnu-2050.24.15203
xnu-2050.48.11203
xnu-2050.7.9203
xnu-2050.9.2203
xnu-2422.1.72203
xnu-2422.100.13203
xnu-2422.110.17203
xnu-2422.90.20203
xnu-2782.1.97203
xnu-2782.10.72203
xnu-2782.20.48203
xnu-2782.30.5203
xnu-3247.10.11203
xnu-3248.20.55203
xnu-3248.30.4203
xnu-3248.40.184203
xnu-3248.50.21203
xnu-3248.60.10203
xnu-3789.21.4203
xnu-3789.31.2203
xnu-3789.41.3203
xnu-3789.51.2203
xnu-3789.60.24203
xnu-3789.70.16203
xnu-4570.20.62203
xnu-4570.31.3203
xnu-4570.41.2203
xnu-4570.51.1203
xnu-4570.61.1203
xnu-4570.71.2203
xnu-4903.231.4203
xnu-4903.241.1203
xnu-4903.270.47203
xnu-6153.101.6203
xnu-6153.121.1203
xnu-6153.141.1203
xnu-6153.41.3203
xnu-6153.61.1203
xnu-6153.81.5203
xnu-7195.101.1203
xnu-7195.121.3203
xnu-7195.141.2203
xnu-7195.60.75203
xnu-7195.81.3203
xnu-8019.61.5203
xnu-8019.80.24203
xnu-8020.101.4203
xnu-8020.121.3203
xnu-8020.140.41203
xnu-8792.61.2203
xnu-8792.81.2203
xnu-8796.101.5203
xnu-8796.121.2203
xnu-8796.141.3203

Exemples

C — pin a key buffer

if (mlock(key, sizeof key) != 0) {
    perror("mlock");
}

Notes

mlock(2) appelle vm_map_wire() sur le vm_map de la tâche. Le caller doit posséder les pages et la somme verrouillée est plafonnée par vm.global_user_wire_limit (par tâche et global). Utilisé par les bibliothèques crypto (CommonCrypto, CoreCrypto) pour garder le matériel de clé hors swap, et par le code audio temps réel pour éviter le jitter.

API associées

munlockmlockallmmapmadvisevm_wire