This shows you the differences between two versions of the page.
so:laboratoare:laborator-10 [2021/03/04 21:38] teodor_stefan.dutu [Windows] Precizare git pull |
so:laboratoare:laborator-10 [2022/05/10 17:40] (current) teodor_stefan.dutu [Zero-copy I/O] Replace broken link. |
||
---|---|---|---|
Line 342: | 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 378: | 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> | ||
Line 395: | Line 391: | ||
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 458: | 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]] |