Un fichier est mis en correspondance avec le système de l'appel:Quels octets du fichier restent mappés?
mmap(65536, 32768, READ, FLAGS, fd, 0)
pages sont 8 Ko, donc 4 pages d'une valeur du fichier ont été mis en correspondance (32768/8k = 4 pages). Ensuite, l'appel suivant est effectué:
munmap(65536, 8192)
Qui supprime la partie spécifiée de la mappe de mémoire. Quels octets du fichier restent mappés? La clé de réponse indique que les pages 2 et 3 restent, donc seuls les octets 16384 à 32767 restent; Cependant, je ne suis pas sûr que ce soit juste. Puisque l'argument len
(deuxième argument) de la commande munmap
est de 8192 octets, la page 0 doit-elle être supprimée, laissant les octets 8192 à 32767?
Votre logique me semble juste. Leur réponse serait correcte si la taille de 'munmap' était' 8193'. – Barmar
@duskwuff Selon http://pubs.opengroup.org/onlinepubs/009695399/functions/munmap.html, 'addr' doit être un multiple de la taille de la page, mais il ne dit rien sur' len'. – Barmar
@Barmar Mon erreur. Mal lire la documentation. – duskwuff