Differences

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

Link to this comparison view

so:teme:tema-3 [2022/11/07 23:06]
ionut.mihalache1506 [Resurse de suport]
so:teme:tema-3 [2022/11/08 19:41] (current)
ionut.mihalache1506 [Resurse de suport]
Line 2: Line 2:
  
 <note important>​ <note important>​
-  * <​html><​b>​Deadline</​b></​html>:​ **21.11.2022, ora 23:55**+  * <​html><​b>​Deadline</​b></​html>:​ **24.11.2022, ora 23:55**
 </​note>​ </​note>​
  
Line 143: Line 143:
   * Tema se va rezolva folosind doar funcții POSIX. Se pot folosi de asemenea și funcțiile de citire/​scriere cu formatare (''​scanf''/''​printf''​),​ funcțiile de alocare/​eliberare de memorie (''​malloc''/''​free''​) și funcțiile de lucru cu șiruri de caractere (''​strcat'',​ ''​strdup''​ etc.)   * Tema se va rezolva folosind doar funcții POSIX. Se pot folosi de asemenea și funcțiile de citire/​scriere cu formatare (''​scanf''/''​printf''​),​ funcțiile de alocare/​eliberare de memorie (''​malloc''/''​free''​) și funcțiile de lucru cu șiruri de caractere (''​strcat'',​ ''​strdup''​ etc.)
   * Pentru partea de I/O se vor folosi doar funcții POSIX. De exemplu, funcțiile ''​fopen'',​ ''​fread'',​ ''​fwrite'',​ ''​fclose''​ nu trebuie folosite; în locul acestora folosiți ''​open'',​ ''​read'',​ ''​write'',​ ''​close''​.   * Pentru partea de I/O se vor folosi doar funcții POSIX. De exemplu, funcțiile ''​fopen'',​ ''​fread'',​ ''​fwrite'',​ ''​fclose''​ nu trebuie folosite; în locul acestora folosiți ''​open'',​ ''​read'',​ ''​write'',​ ''​close''​.
 +  * Un exemplu de asociere a unui handler de tratare a unui semnal este prezentat mai jos:
 +
 +<code c>
 +#include <​signal.h>​
 +...
 + 
 +/* SIGUSR2 handler */
 +static void usr2_handler(int signum) {
 +    /* actions that should be taken when the signal signum is received */
 +    ...
 +}
 + 
 +int main(void) {
 +    struct sigaction sa;
 + 
 +    memset(&​sa,​ 0, sizeof(sa));​
 + 
 +    sa.sa_flags ​  = SA_RESETHAND; ​  /* restore handler to previous state */
 +    sa.sa_handler = usr2_handler;​
 +    sigaction(SIGSEGV,​ &sa, NULL);
 + 
 +    return 0;
 +}
 +</​code>​
  
  
Line 159: Line 183:
  
 <note important>​ <note important>​
-Înainte de a [[https://​vmchecker.cs.pub.ro | uploada]] tema, asigurați-vă că implementarea voastră trece testele pe [[http://​ocw.cs.pub.ro/​courses/​so/​info/​mv | mașinile virtuale]]. Dacă apar probleme în rezultatele testelor, acestea se vor reproduce și pe [[https://​vmchecker.cs.pub.ro | vmchecker]].+Înainte de a [[https://​vmchecker.cs.pub.ro | uploada]] tema, asigurați-vă că implementarea voastră trece testele pe [[http://​ocw.cs.pub.ro/​courses/​so/​info/​mv | mașina virtuală de linux]]. Dacă apar probleme în rezultatele testelor, acestea se vor reproduce și pe [[https://​vmchecker.cs.pub.ro | vmchecker]] ​sau pe orice alt mediu de testare solicitat.
 </​note>​ </​note>​
  
Line 166: Line 190:
   * Urmăriți penalizările precizate în cadrul [[http://​ocw.cs.pub.ro/​courses/​so/​teme/​general#​lista_depunctari | listei de depunctări]]   * Urmăriți penalizările precizate în cadrul [[http://​ocw.cs.pub.ro/​courses/​so/​teme/​general#​lista_depunctari | listei de depunctări]]
   * În cazuri excepționale (e.g. tema trece testele, însă implementarea este defectuoasă sau incompletă) se pot aplica depunctări suplimentare celor menționate mai sus.   * În cazuri excepționale (e.g. tema trece testele, însă implementarea este defectuoasă sau incompletă) se pot aplica depunctări suplimentare celor menționate mai sus.
 +  * În general nu vă concentrați pe depunctări,​ nu este scopul nostru să vă dăm note mici, ci doar să vă atenționăm unde lucrurile pot fi făcute mai bine fără a aplica depunctări care să vă afecteze semnificativ nota finală.
  
 ===== Resurse de suport ===== ===== Resurse de suport =====
- +  *Partea de curs și laborator care prezintă partea de gestiune a memoriei și memorie virtuală 
-  *Cursuri (Old but gold) +  ​*Resursele de mai jos sunt mai vechi și nu trebuie consultate în detaliu pentru rezolvarea temei. Anumite concepte pot să vă fie de folos însă părțile de care aveți nevoie din ele nu reprezintă o parte semnificativă din rezolvarea temei 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-05 | Gestiunea memoriei]] +    ​*Cursuri (Old but gold) 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-06 | Memoria virtuală]] +      *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-05 | Gestiunea memoriei]] 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-07 | Securitatea memoriei]] +      *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-06 | Memoria virtuală]] 
-  *Laboratoare (Old but gold) +      *[[http://​ocw.cs.pub.ro/​courses/​so/​cursuri/​curs-07 | Securitatea memoriei]] 
-    *[[https://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-01] | Creare makefile și biblioteci]] +    *Laboratoare (Old but gold) 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-04 | Semnale]] +      *[[https://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-01] | Creare makefile și biblioteci]] 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-05 | Gestiunea memoriei]] +      *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-04 | Semnale]] 
-    *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-06 | Memoria virtuală]] +      *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-05 | Gestiunea memoriei]] 
-  *Operating System Concepts -- Chapter 8 -- Main Memory +      *[[http://​ocw.cs.pub.ro/​courses/​so/​laboratoare/​laborator-06 | Memoria virtuală]] 
-  *Operating System Concepts -- Chapter 9 -- Virtual Memory+    *Operating System Concepts -- Chapter 8 -- Main Memory 
 +    *Operating System Concepts -- Chapter 9 -- Virtual Memory
   *Teste   *Teste
     * [[https://​github.com/​systems-cs-pub-ro/​so/​tree/​2022-2023/​teme/​assignments/​1-loader/​checker-lin | Teste Linux]]     * [[https://​github.com/​systems-cs-pub-ro/​so/​tree/​2022-2023/​teme/​assignments/​1-loader/​checker-lin | Teste Linux]]
so/teme/tema-3.1667855218.txt.gz · Last modified: 2022/11/07 23:06 by ionut.mihalache1506
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