Differences

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

Link to this comparison view

sde2:teme:tema_fr_3_rust [2022/04/25 22:43]
alexandru.radovici
sde2:teme:tema_fr_3_rust [2023/05/14 20:30] (current)
alexandru.radovici
Line 1: Line 1:
-====== Tema 3 Rusty Loader ​======+====== Tema 4 Rustyloader ​====== 
 + 
 +===== Informatii ===== 
 + 
 +<note important>​ 
 +Date limite: ** Le 30 mai, 23h59 ** \\ 
 +Note: ** 2 points ** de la note \\ 
 +Lien: [[https://​classroom.github.com/​a/​5CBIdgHi|Devoir 4]] \\ 
 +Télécharger en retard: **2 points / jour** (maximum 4 jours)\\ 
 +</​note>​ 
  
 ===== Obiectivele temei ===== ===== Obiectivele temei =====
Line 25: Line 35:
  
   * Își va inițializa structurile interne.   * Își va inițializa structurile interne.
 +  * Va afisa pe stderr (2) lista de segmente ale fisierului executabil
 +  * Va afisa pe stderr (2) //base address// pentru fisierul executabil (adresa de memorie minima la care se incarca segmente)
 +  * Va afisa pe stderr (2) //entry point address//
   * Va parsa fișierul binar - pentru a face asta aveți la dispozitie biblioteca [[https://​docs.rs/​object/​latest/​object/​|object]].   * Va parsa fișierul binar - pentru a face asta aveți la dispozitie biblioteca [[https://​docs.rs/​object/​latest/​object/​|object]].
   * Va rula prima instrucțiune a executabilului (//entry point-ul//​).   * Va rula prima instrucțiune a executabilului (//entry point-ul//​).
Line 35: Line 48:
   * Pagina trebuie mapată **fix** la adresa indicată în cadrul segmentului.   * Pagina trebuie mapată **fix** la adresa indicată în cadrul segmentului.
  
 +
 +==== Formatul afisarii ====
 +<​code>​
 +Segments
 +#       ​address ​        ​size ​   offset ​ length ​ flags
 +0       ​0x8048000 ​      ​1012 ​   0x0     ​1012 ​   r-x
 +1       ​0x804a000 ​      ​8192 ​   0x1000 ​ 8192    rw-
 +Entry point 8048120
 +Base address 8048000
 +</​code>​
 +
 +<​note>​
 +Alinierea campurilor se face cu TAB (\t). Daca alinierea nu este buna, adaugati doua caratere TAB.
 +</​note>​
  
 ===== Biblioteca object ===== ===== Biblioteca object =====
Line 70: Line 97:
  
   *Cursuri   *Cursuri
-    *[[:​cursuri:​07]] +    *[[sde2::​cursuri:​07]] 
-    *[[https://​ocw.cs.pub.ro/​courses/​sde2/cursuri/08]]+    *[[sde2:cursuri:08]]
   *Laboratoare   *Laboratoare
-    *[[https://​ocw.cs.pub.ro/​courses/​sde2/laboratoare/05_new]] +    *[[sde2:laboratoare:05_new]] 
-    *[[https://​ocw.cs.pub.ro/​courses/​sde2/laboratoare/08_new]]+    *[[sde2:laboratoare:08_new]]
   *Operating System Concepts -- Chapter 8 -- Main Memory   *Operating System Concepts -- Chapter 8 -- Main Memory
   *Operating System Concepts -- Chapter 9 -- Virtual Memory   *Operating System Concepts -- Chapter 9 -- Virtual Memory
sde2/teme/tema_fr_3_rust.1650915822.txt.gz · Last modified: 2022/04/25 22:43 by alexandru.radovici
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