Differences

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

Link to this comparison view

so:cursuri:curs-04 [2016/03/15 23:05]
razvan.deaconescu [Curs 04 - Planificarea execuției]
so:cursuri:curs-04 [2019/03/09 16:06] (current)
razvan.deaconescu
Line 1: Line 1:
 ====== Curs 04 - Planificarea execuției. IPC ====== ====== Curs 04 - Planificarea execuției. IPC ======
- 
-<​html>​ 
-  <iframe src="​http://​prezi.com/​embed/​7hdjlraoycrn/?​bgcolor=ffffff&​amp;​lock_to_path=0&​amp;​autoplay=no&​amp;​autohide_ctrls=0&​amp;​features=undefined&​amp;​disabled_features=undefined"​ width="​550"​ height="​400"​ frameBorder="​0"></​iframe>​ 
-</​html>​ 
  
   * [[http://​prezi.com/​7hdjlraoycrn/​so-curs-4/?​kw=view-7hdjlraoycrn&​rc=ref-31844697|Curs 04 - Planificarea execuției (vizualizare Prezi)]]   * [[http://​prezi.com/​7hdjlraoycrn/​so-curs-4/?​kw=view-7hdjlraoycrn&​rc=ref-31844697|Curs 04 - Planificarea execuției (vizualizare Prezi)]]
   * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-04.pdf|Curs 04 - Planificarea execuției (PDF)]]   * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-04.pdf|Curs 04 - Planificarea execuției (PDF)]]
 +  * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-04_IPC.pdf|Curs 04 - Comunicarea interprocese (PDF)]]
  
-<​html>​ +  * [[https://​docs.google.com/​document/d/1s9mWubSu19r4aCThxlDx7MW7uFu3o2v9tSHuvhnfbME/edit?usp=sharing|Notițe de curs]]
-  <​center>​ +
-    <iframe src="​http://​docs.google.com/​viewer?​url=http:​//elf.cs.pub.ro/so/​res/​cursuri/​SO_Curs-04_IPC.pdf&​embedded=true" width="​600"​ height="​480"​ style="​border:​ none;">​ +
-    </​iframe>​ +
-  </​center>​ +
-</​html>​+
  
-  * [[http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-04_IPC.pdf|Curs 04 - Comunicarea interprocese (PDF)]] 
  
   * Suport curs   * Suport curs
Line 30: Line 21:
     * Windows System Programming ​     * Windows System Programming ​
      * Capitolul 11 - Interprocess Communication      * Capitolul 11 - Interprocess Communication
 +
 +<​html>​
 +  <​center>​
 +    <iframe src="​https://​prezi.com/​embed/​7hdjlraoycrn/?​bgcolor=ffffff&​amp;​lock_to_path=0&​amp;​autoplay=no&​amp;​autohide_ctrls=0&​amp;​features=undefined&​amp;​disabled_features=undefined"​ width="​550"​ height="​400"​ frameBorder="​0"></​iframe>​
 +  </​center>​
 +</​html>​
 +
 +<​html>​
 +  <​center>​
 +    <iframe src="​https://​docs.google.com/​viewer?​url=http://​elf.cs.pub.ro/​so/​res/​cursuri/​SO_Curs-04_IPC.pdf&​embedded=true"​ width="​600"​ height="​480"​ style="​border:​ none;">​
 +    </​iframe>​
 +  </​center>​
 +</​html>​
 +
 ===== Demo-uri ===== ===== Demo-uri =====
  
Line 65: Line 70:
 Întrucât nu se mai lucrează cu terminalul aferent ieșirii standard, nu se execută multe operații blocante și nu se tranferă date generate de comandă în fișier. Rezultă direct un număr și mai mic de schimbări de context (atât voluntare cât și nevoluntare) și o durată de execuție mai mică a procesului. Întrucât nu se mai lucrează cu terminalul aferent ieșirii standard, nu se execută multe operații blocante și nu se tranferă date generate de comandă în fișier. Rezultă direct un număr și mai mic de schimbări de context (atât voluntare cât și nevoluntare) și o durată de execuție mai mică a procesului.
  
-==== Alterare ​prioritate proces ====+==== Modificare ​prioritate proces ====
  
 Dorim să analizăm impactul configurării priorității statice (nice) a sistemului. Pentru aceasta vom porni același proces cu diverse valori pentru nice și vom observa durata de rulare. Dorim să analizăm impactul configurării priorității statice (nice) a sistemului. Pentru aceasta vom porni același proces cu diverse valori pentru nice și vom observa durata de rulare.
Line 83: Line 88:
   * 2 procese vor fi subprioritare (''​nice = 19''​).   * 2 procese vor fi subprioritare (''​nice = 19''​).
  
-Pentru fiecare proces, este reținut output-ul într-un fișier. Pentru a afla timpul ​fiecărui proces în fișierul rezultat, folosim comanda:<​code bash>+Pentru fiecare proces, este reținut output-ul într-un fișier. Pentru a afla timpul fiecărui proces în fișierul rezultat, folosim comanda:<​code bash>
 grep -H '​Elapsed'​ pri* grep -H '​Elapsed'​ pri*
 </​code>​ </​code>​
Line 117: Line 122:
  
 Durata apelului ''​sched_yield''​ este timpul de așteptare al procesului (//waiting time//), timp care se dorește să fie cât mai mic. Durata apelului ''​sched_yield''​ este timpul de așteptare al procesului (//waiting time//), timp care se dorește să fie cât mai mic.
 +
 +==== Folosire pipe-uri ====
 +
 +Dorim să creăm un exemplu simplu de folosire a pipe-urilor anonime pentru comunicare între procese înrudite.
 +
 +Intrăm în directorul ''​pipe/''​ din arhiva cu demo-uri a cursului și parcurgem fișierul ''​pipe.c''​.
so/cursuri/curs-04.1458075946.txt.gz · Last modified: 2016/03/15 23:05 by razvan.deaconescu
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