Differences

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

Link to this comparison view

programare:teme_2015:tema4_2015_ca [2015/12/07 15:43]
radu_silviu.visan
programare:teme_2015:tema4_2015_ca [2015/12/22 22:15] (current)
darius.neatu
Line 5: Line 5:
 **Deadline**:​ 20.12.2015, ora 23:55 **Deadline**:​ 20.12.2015, ora 23:55
  
-**Ultima modificare**: ​7.12.2015+**Ultima modificare**: ​22.12.2015 
 + 
 +**Publicare checker**: 22.12.2015
  
  
Line 22: Line 24:
 ----- -----
  
-Primul sector fizic de pe un hard-disk poartă numele de Master Boot Record (MBR). Acest sectore ​are 512 octeți ​ și conține informații foarte importante despre modul cum este partiționat hard-disk-ul. Dacă acest sector este suprascris sau șters toate informațiile de pe hard-disk se șterg.+Primul sector fizic de pe un hard-disk poartă numele de Master Boot Record (MBR). Acest sector ​are 512 octeți ​ și conține informații foarte importante despre modul cum este partiționat hard-disk-ul. Dacă acest sector este suprascris sau șters toate informațiile de pe hard-disk se șterg.
  
 În cadrul MBR se găsesc informații despre fiecare partiție de pe hard-disk. Aceste informații sunt stocate într-o tabelă de partiții primare care are doar patru intrări. Prin urmare MBR-ul poate reține informații doar pentru 4 partiții primare. Una dintre aceste patru partiții primare va fi marcată ca activă și de pe ea se va încerca pornirea sistemului de operare. În cadrul MBR se găsesc informații despre fiecare partiție de pe hard-disk. Aceste informații sunt stocate într-o tabelă de partiții primare care are doar patru intrări. Prin urmare MBR-ul poate reține informații doar pentru 4 partiții primare. Una dintre aceste patru partiții primare va fi marcată ca activă și de pe ea se va încerca pornirea sistemului de operare.
Line 50: Line 52:
     - o listă cu adresele de început pentru fiecare partiție existentă. În  continuare ne vom referi la o adresă ca fiind o poziție din fișierul binar pe care se lucrează. Prima poziție din fișier este 0x00.     - o listă cu adresele de început pentru fiecare partiție existentă. În  continuare ne vom referi la o adresă ca fiind o poziție din fișierul binar pe care se lucrează. Prima poziție din fișier este 0x00.
   - Partiție \\ O partiție înglobează un sistem de fișiere și directoare, având o dimensiune specificată. \\ Conține în ordine următoarele informații:​   - Partiție \\ O partiție înglobează un sistem de fișiere și directoare, având o dimensiune specificată. \\ Conține în ordine următoarele informații:​
-    - header =  o succesiune de 12 bytes cu următoarea semnificație:​+    - header =  o succesiune de 20 bytes cu următoarea semnificație:​
       - un int reprezentând lungimea numelui partiției       - un int reprezentând lungimea numelui partiției
       - 8 bytes reprezentând numele partiției; prin convenție, numele partiției este de          forma “/​dev/​sd?​”,​ unde ? este un character alfanumeric       - 8 bytes reprezentând numele partiției; prin convenție, numele partiției este de          forma “/​dev/​sd?​”,​ unde ? este un character alfanumeric
Line 79: Line 81:
   * Descrierea unui director ​ = albastru   * Descrierea unui director ​ = albastru
   * Descrierea unui fișier = mov   * Descrierea unui fișier = mov
-  * Indexul de start al liniilor, ​respective ​indicii coloanelor = negru (acesta este doar pentru exemple, fișierele de intrare nu vor conține aceste valori)+  * Indexul de start al liniilor, ​respectiv ​indicii coloanelor = negru (acesta este doar pentru exemple, fișierele de intrare nu vor conține aceste valori)
  
-În exemplu, MBR conține două partiții: prima începe la poziția 0x0C în fișier, iar cea   de-a doua partiție începe la poziția 0x44 (0x semnifică baza 16; 44 în baza 16 inseamnă 68 în baza 10).+În exemplu, MBR conține două partiții: prima începe la poziția 0x0C în fișier, iar cea   de-a doua partiție începe la poziția 0x44 (0x semnifică baza 16; 44 în baza 16 înseamnă 68 în baza 10).
  
 Prima partiție are numele ​ “/​dev/​sda”,​ MAXD = 1, MAXF = 1 și conține: Prima partiție are numele ​ “/​dev/​sda”,​ MAXD = 1, MAXF = 1 și conține:
Line 138: Line 140:
   * CREATE_FILE <​path>​   * CREATE_FILE <​path>​
 Se va crea fișierul specificat prin calea absolută <​path>​. Întrucât un director are alocat un număr fix de sloturi pentru fișiere, unele fiind goale (pline de 0), se va folosi primul slot liber din directorul respectiv pentru a aloca noul fișier. ​ Se va crea fișierul specificat prin calea absolută <​path>​. Întrucât un director are alocat un număr fix de sloturi pentru fișiere, unele fiind goale (pline de 0), se va folosi primul slot liber din directorul respectiv pentru a aloca noul fișier. ​
-  * RENAME_FILE <​path>​+  * RENAME_FILE <path> <newName>
 Se va redenumi fișierul specificat prin calea absolută <​path>​. Se va redenumi fișierul specificat prin calea absolută <​path>​.
   * DELETE_FILE <​path>​   * DELETE_FILE <​path>​
Line 144: Line 146:
   * CREATE_DIR <​path>​   * CREATE_DIR <​path>​
 Se va crea directorul specificat prin calea absolută <​path>​. Întrucât o partiție are alocat un număr fix de sloturi pentru directoare, unele fiind goale (pline de 0), se va folosi primul slot liber din partiția respectivă pentru a aloca noul director. Se va crea directorul specificat prin calea absolută <​path>​. Întrucât o partiție are alocat un număr fix de sloturi pentru directoare, unele fiind goale (pline de 0), se va folosi primul slot liber din partiția respectivă pentru a aloca noul director.
-  * RENAME_DIR <​path>​+  * RENAME_DIR <path> <newName>
 Se va redenumi directorul specificat prin calea absolută <​path>​. Se va redenumi directorul specificat prin calea absolută <​path>​.
   * DELETE_DIR <​path>​   * DELETE_DIR <​path>​
Line 197: Line 199:
   * Arhiva va fi trimisă atât pe vmchecker cât și pe moodle.   * Arhiva va fi trimisă atât pe vmchecker cât și pe moodle.
   * O temă care nu compilează nu va fi punctată.   * O temă care nu compilează nu va fi punctată.
 +  * O temă care compilează dar care NU trece nici un test pe vmchecker nu va fi punctată.
  
  
Line 208: Line 211:
 === Testare === === Testare ===
 ------ ------
- +Arhiva de testare se gaseste [[http://​ocw.cs.pub.ro/​courses/​_media/​programare/​teme_2015/​mbr-checker.zip|aici]].
-  TODO +
programare/teme_2015/tema4_2015_ca.1449495805.txt.gz · Last modified: 2015/12/07 15:43 by radu_silviu.visan
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