Differences

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

Link to this comparison view

so:laboratoare:laborator-05 [2021/02/28 09:25]
teodor_stefan.dutu [Materiale ajutătoare] Eliminare slide-uri
so:laboratoare:laborator-05 [2022/03/02 09:32] (current)
teodor_stefan.dutu [Exercițiul 0 - GSOC]
Line 329: Line 329:
  DIE (mat == NULL, "​HeapAlloc"​);​  DIE (mat == NULL, "​HeapAlloc"​);​
      
- for (i = 0; i < n; i++) {+ for (i = 0; i < m; i++) {
  mat[i] = HeapAlloc(processHeap,​ 0, n * sizeof(**mat));​  mat[i] = HeapAlloc(processHeap,​ 0, n * sizeof(**mat));​
  if (mat[i] == NULL) {  if (mat[i] == NULL) {
Line 853: Line 853:
  
 ====== Exerciții ====== ====== Exerciții ======
- 
- 
-===== Linux ===== 
  
 <note important>​ <note important>​
 În cadrul laboratoarelor vom folosi repository-ul de git al materiei SO - https://​github.com/​systems-cs-pub-ro/​so. Va trebui sa clonați repository-ul pe masinile virtuale folosind comanda: ''​git clone https://​github.com/​systems-cs-pub-ro/​so''​. Dacă doriți să descărcați repositoryul în altă locație, folosiți comanda ''​git clone https://​github.com/​systems-cs-pub-ro/​so ${target}''​. În cadrul laboratoarelor vom folosi repository-ul de git al materiei SO - https://​github.com/​systems-cs-pub-ro/​so. Va trebui sa clonați repository-ul pe masinile virtuale folosind comanda: ''​git clone https://​github.com/​systems-cs-pub-ro/​so''​. Dacă doriți să descărcați repositoryul în altă locație, folosiți comanda ''​git clone https://​github.com/​systems-cs-pub-ro/​so ${target}''​.
  
-Pentru a actualiza repository-ul,​ folosiți comanda ''​git pull origin master''​ din interiorul directorului în care se află repository-ul. Recomandarea este să îl actualizați cât mai frecvent, înainte să începeți lucrul, pentru a vă asigura că aveți versiunea cea mai recentă.+Pentru a actualiza repository-ul,​ folosiți comanda ''​git pull origin master''​ din interiorul directorului în care se află repository-ul. Recomandarea este să îl actualizați cât mai frecvent, înainte să începeți lucrul, pentru a vă asigura că aveți versiunea cea mai recentă. ​În cazul în care gitul detectează conflicte la nivelul vreunui fişier, folosiți următoarele comenzi pentru a vă păstra modificările:​ 
 +<​code>​ 
 +git stash 
 +git pull origin master 
 +git stash pop 
 +</​code>​
  
 Pentru mai multe informații despre folosirea utilitarului git, urmați ghidul de la https://​gitimmersion.com. Pentru mai multe informații despre folosirea utilitarului git, urmați ghidul de la https://​gitimmersion.com.
Line 867: Line 869:
 <note tip>​Pentru a vă ajuta la implementarea exercițiilor din laborator, în directorul ''​utils''​ din arhivă există un fișier ''​utils.h''​ cu funcții utile. <note tip>​Pentru a vă ajuta la implementarea exercițiilor din laborator, în directorul ''​utils''​ din arhivă există un fișier ''​utils.h''​ cu funcții utile.
 </​note>​ </​note>​
 +
 +==== Exercițiul 0 - GSOC ====
 +
 +Google Summer of Code este un program de vară în care studenții
 +(indiferent de anul de studiu) sunt implicați în proiecte Open Source
 +pentru a își dezvolta skill-urile de programare, fiind răsplătiți cu o
 +bursă a cărei valoare [[https://​developers.google.com/​open-source/​gsoc/​help/​student-stipends|depinde de țară]]
 +([[https://​developers.google.com/​open-source/​gsoc|pagină principală GSOC]]).
 +
 +UPB se află în top ca număr de studenți acceptați; în fiecare an fiind
 +undeva la aprox. 30-40 de studenți acceptați.
 +Vă încurajăm să aplicați!
 +
 +===== Linux =====
 +
 ==== Exercițiul 1 - Zone de stocare a variabilelor ==== ==== Exercițiul 1 - Zone de stocare a variabilelor ====
  
 Intrați în directorul ''​1-counter''​ și implementați funcția ''​inc()''​ care întoarce de fiecare dată un întreg reprezentând numărul de apeluri până în momentul respectiv al funcției ''​inc''​ (**nu** aveți voie să folosiți variabile globale). Intrați în directorul ''​1-counter''​ și implementați funcția ''​inc()''​ care întoarce de fiecare dată un întreg reprezentând numărul de apeluri până în momentul respectiv al funcției ''​inc''​ (**nu** aveți voie să folosiți variabile globale).
- 
  
 ==== Exercițiul 2 - Spațiul de adresă al unui proces ==== ==== Exercițiul 2 - Spațiul de adresă al unui proces ====
Line 1045: Line 1061:
 <note tip>​Pentru rularea programului de test, nu uitați să exportați ''​LD_LIBRARY_PATH''​ (revedeți secțiunea de [[so:​laboratoare-2013:​laborator-01#​biblioteci in linux | biblioteci partajate din laboratorul 1]])</​note>​ <note tip>​Pentru rularea programului de test, nu uitați să exportați ''​LD_LIBRARY_PATH''​ (revedeți secțiunea de [[so:​laboratoare-2013:​laborator-01#​biblioteci in linux | biblioteci partajate din laboratorul 1]])</​note>​
  
-===== Soluții ===== 
- 
-[[http://​elf.cs.pub.ro/​so/​res/​laboratoare/​lab05-sol.zip | lab05-sol.zip]] 
  
 ===== Resurse utile ===== ===== Resurse utile =====
so/laboratoare/laborator-05.1614497113.txt.gz · Last modified: 2021/02/28 09:25 by teodor_stefan.dutu
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