Differences

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

Link to this comparison view

so:laboratoare:laborator-10 [2021/02/28 09:14]
teodor_stefan.dutu [Windows] Utilizare Git
so:laboratoare:laborator-10 [2022/05/10 17:40] (current)
teodor_stefan.dutu [Zero-copy I/O] Replace broken link.
Line 1: Line 1:
 ====== Laborator 10 - Operații IO avansate - Windows ====== ====== Laborator 10 - Operații IO avansate - Windows ======
  
-==== Materiale ajutătoare ==== 
  
-  *[[http://​elf.cs.pub.ro/​so/​res/​laboratoare/​lab10-slides.pdf | lab10-slides.pdf]] ​ 
-  *[[http://​elf.cs.pub.ro/​so/​res/​laboratoare/​lab10-refcard.pdf | lab10-refcard.pdf]] 
  
 ==== Nice to read ==== ==== Nice to read ====
Line 345: Line 342:
 {{ so:​laboratoare-2013:​zero_copy.gif | }} {{ so:​laboratoare-2013:​zero_copy.gif | }}
  
-Mai multe detalii, inclusiv explicarea mai pe larg a contextului,​ puteți găsi [[https://​developer.ibm.com/​technologies/​java/​articles/​j-zerocopy/​ | aici]].+Mai multe detalii, inclusiv explicarea mai pe larg a contextului,​ puteți găsi [[https://​developer.ibm.com/​articles/​j-zerocopy/​ | aici]]. **Atentie:​** articolul folosește greșit termenul //context switch//. De fapt, este vorba de o //schimbare de privilegiu//,​ deoarece se face o trecere din user mode în kernel mode.
 ==== TransmitFile ==== ==== TransmitFile ====
  
Line 381: Line 378:
 O funcție similară este funcția ''​[[http://​msdn.microsoft.com/​en-us/​library/​ms740566%28v=vs.85%29.aspx |TransmitPackets]]''​ care transmite date stocate în memorie pe un socket folosind cache-ul intern al sistemului de operare. Datele sunt reprezentate de o structură ''​TRANSMIT_PACKETS_ELEMENT''​. O funcție similară este funcția ''​[[http://​msdn.microsoft.com/​en-us/​library/​ms740566%28v=vs.85%29.aspx |TransmitPackets]]''​ care transmite date stocate în memorie pe un socket folosind cache-ul intern al sistemului de operare. Datele sunt reprezentate de o structură ''​TRANSMIT_PACKETS_ELEMENT''​.
  
-====== Exerciții ​de laborator ​====== +====== Exerciții ======
- +
-===== Windows ===== +
- +
-<note important>​Înainte de a folosi o structură specifică Async I/O Win32 API, asigurați-vă că ați zero-izat-o.</​note>​+
  
 <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.
 +</​note>​
 +
 +===== Windows =====
 +
 +<note important>​
 +Înainte de a folosi o structură specifică Async I/O Win32 API, asigurați-vă că ați zero-izat-o.
 </​note>​ </​note>​
  
Line 456: Line 460:
  
 Compilați și rulați programul. ​ Compilați și rulați programul. ​
-===== Soluții ===== 
  
-[[http://​elf.cs.pub.ro/​so/​res/​laboratoare/​lab10-sol.zip | Soluţii laborator 10]] 
so/laboratoare/laborator-10.1614496459.txt.gz · Last modified: 2021/02/28 09:14 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