Differences

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

Link to this comparison view

sde2:laboratoare:07_rust [2023/04/20 19:26]
cristiana.andrei created
sde2:laboratoare:07_rust [2023/04/25 08:12] (current)
cristiana.andrei [Bibliographie]
Line 6: Line 6:
   * Inspection de la disposition de la mémoire de processus (pmap)   * Inspection de la disposition de la mémoire de processus (pmap)
   * Mappage de fichiers et de pages vides en mémoire   * Mappage de fichiers et de pages vides en mémoire
 +
 +===== Assignment =====
 +<note warning>
 +Vous devez **accepter** le assignment d'ici et travailler avec ce repository: [[https://​classroom.github.com/​a/​w8JfjnXL|Lab7]]
 +</​note>​
  
 ===== Gestion de la mémoire ===== ===== Gestion de la mémoire =====
Line 42: Line 47:
 <code c> <code c>
 static mut a: u32 = 3; static mut a: u32 = 3;
-let b: char = '​a';​ 
 </​code>​ </​code>​
  
Line 51: Line 55:
 <code c> <code c>
 static mut a: u32 = 0; static mut a: u32 = 0;
-let b: char; 
 </​code>​ </​code>​
  
Line 64: Line 67:
 </​code>​ </​code>​
  
-et __contenu__. Toutes les variables globales déclarées avec le mot-clé ''​ const ''​ seront ​placées ​dans les ''​ données ''. Les variables locales déclarées ​comme "​const" ​seront placées sur la pile, donc dans une zone mémoire non marquée comme // en lecture seule // et peuvent être modifiées par un pointeur sur elles. ​Un cas particulier est représenté par les variables locales constantes déclarées avec le mot-clé '' ​statique ​''​ qui seront mises dans le ''​ .data '':​+et __contenu__. Toutes les variables globales déclarées avec le mot-clé ''​ const ''​ seront ​sont alignées ​dans leur lieu d'utilisation. Les variables locales déclarées seront placées sur la pile, Un cas particulier est représenté par les variables locales constantes déclarées avec le mot-clé '' ​static ​''​ qui seront mises dans le ''​ .data '':​
 <code c> <code c>
 static mut a: u32 = 0;         /* dans .rodata */ static mut a: u32 = 0;         /* dans .rodata */
Line 71: Line 74:
 { {
    let a: i32                       /* sur la pile */    let a: i32                       /* sur la pile */
-   const SOME_CONST: u32 = 2;       /* sur la pile */+   let some_const: u32 = 2;       /* sur la pile */
        
    ​static mut p: u32 = 8;    /* dans .data */    ​static mut p: u32 = 8;    /* dans .data */
 +   ​static p: u32 = 8;    /* dans .rodata */
    ...    ...
 </​code>​ </​code>​
Line 306: Line 310:
     * [[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]]
- +===== Exercices ​===== 
-===== Sujets ​===== +  - Exécutez le programme dans ex1. Répondez aux questions posées par le programme.
-  - Clonez le [[https://​github.com/​UPB-FILS-SdE2/​Solutions]] ​ +
-  - Exécutez le programme dans tp7/ex1. Répondez aux questions posées par le programme.+
   - Résolvez les lignes TODO (dans l'​ordre) à partir de ex1.   - Résolvez les lignes TODO (dans l'​ordre) à partir de ex1.
   - Résolvez les lignes TODO (dans l'​ordre) de ex2.   - Résolvez les lignes TODO (dans l'​ordre) de ex2.
   - Résolvez les lignes TODO (dans l'​ordre) de ex3.   - Résolvez les lignes TODO (dans l'​ordre) de ex3.
- 
-===== Solutions ===== 
-[[https://​github.com/​UPB-FILS-SdE2/​Solutions/​tree/​main/​tp7|Solutions]] 
  
   ​   ​
sde2/laboratoare/07_rust.1682008008.txt.gz · Last modified: 2023/04/20 19:26 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