Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:laboratoare:08_rust [2023/05/01 13:50]
cristiana.andrei
sde2:laboratoare:08_rust [2023/05/02 08:07] (current)
cristiana.andrei [Mappage de fichiers]
Line 9: Line 9:
 ===== Assignment ===== ===== Assignment =====
 <note warning> <note warning>
-Vous devez **accepter** le assignment d'ici et travailler avec ce repository: [[https://​classroom.github.com/​a/​w8JfjnXL|Lab7]]+Vous devez **accepter** le assignment d'ici et travailler avec ce repository: [[https://​classroom.github.com/​a/​zxBTft-O|Lab8]]
 </​note>​ </​note>​
  
Line 54: Line 54:
   Il est à noter que l'​utilisation de ''​ MAP_SHARED ''​ permet le partage de mémoire entre des processus qui ne sont pas liés. Dans ce cas, le contenu du fichier devient le contenu initial de la mémoire partagée et toutes les modifications apportées par les processus dans cette zone sont ensuite copiées dans le fichier, garantissant ainsi la persistance dans le système de fichiers.   Il est à noter que l'​utilisation de ''​ MAP_SHARED ''​ permet le partage de mémoire entre des processus qui ne sont pas liés. Dans ce cas, le contenu du fichier devient le contenu initial de la mémoire partagée et toutes les modifications apportées par les processus dans cette zone sont ensuite copiées dans le fichier, garantissant ainsi la persistance dans le système de fichiers.
  
 +=== shm_open ===
 +[[https://​man7.org/​linux/​man-pages/​man3/​shm_open.3.html|shm_open()]] crée et ouvre un nouveau POSIX ou ouvre un POSIX existant objet de mémoire partagée. Un objet de mémoire partagée POSIX est en vigueur un handle qui peut être utilisé par des processus non liés à mmap() même région de mémoire partagée. La fonction ''​shm_unlink()''​ effectue l'​opération inverse, en supprimant un objet précédemment créé par shm_open().
  
 +<code c>
 +pub fn shm_open<​P>​(name:​ &P, flag: OFlag, mode: Mode) -> Result<​RawFd>​
 +</​code>​
 +
 +En cas de réussite, shm_open() renvoie un nouveau **descripteur de fichier** se référant à l'​objet de mémoire partagée. Ce descripteur de fichier est garanti d'​être le descripteur de fichier avec le numéro le plus bas non précédemment ouvert dans le cadre du processus.
 +
 + The file descriptor is normally used in subsequent calls to [[https://​docs.rs/​nix/​latest/​nix/​unistd/​fn.ftruncate.html|ftruncate()]] (for a newly created object) and ''​mmap()''​. ​ After a call to ''​mmap()''​ the file descriptor may be closed without affecting the memory mapping.
 ===== Bibliographie ===== ===== Bibliographie =====
   * Fonctions de mappage de la mémoire ​   * Fonctions de mappage de la mémoire ​
Line 63: Line 72:
     * [[https://​docs.rs/​nix/​latest/​nix/​sys/​mman/​struct.ProtFlags.html|ProtFlags]]     * [[https://​docs.rs/​nix/​latest/​nix/​sys/​mman/​struct.ProtFlags.html|ProtFlags]]
     * [[https://​docs.rs/​nix/​latest/​nix/​sys/​mman/​struct.MapFlags.html|MapFlags]]     * [[https://​docs.rs/​nix/​latest/​nix/​sys/​mman/​struct.MapFlags.html|MapFlags]]
 +  * Autre fonctions utiles
 +    * [[https://​docs.rs/​nix/​latest/​nix/​unistd/​fn.ftruncate.html|ftruncate]]
 +    * [[https://​docs.rs/​nix/​latest/​nix/​sys/​mman/​fn.shm_open.html|shm_open() en Rust]]
 ===== Exercices ===== ===== Exercices =====
   - Résolvez les lignes TODO (dans l'​ordre) à partir de ex1.   - Résolvez les lignes TODO (dans l'​ordre) à partir de ex1.
sde2/laboratoare/08_rust.1682938249.txt.gz · Last modified: 2023/05/01 13:50 by cristiana.andrei
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0