28.01.2013 Views

1. Procese Windows; comunicaţii prin pipe şi IPC 2

1. Procese Windows; comunicaţii prin pipe şi IPC 2

1. Procese Windows; comunicaţii prin pipe şi IPC 2

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Procese</strong> <strong>Windows</strong>; <strong>comunicaţii</strong> <strong>prin</strong> <strong>pipe</strong> <strong>şi</strong> <strong>IPC</strong> - 10 -<br />

04/10/2011 12:47 PM .<br />

04/10/2011 12:47 PM ..<br />

04/10/2011 12:47 PM 18,597 a.exe<br />

04/10/2011 12:13 PM 679 capitalizare.cpp<br />

04/10/2011 12:08 PM 18,945 ceva.exe<br />

04/10/2011 12:08 PM 435 compilerun.cpp<br />

04/10/2011 11:40 AM 671 execWin.cpp<br />

04/10/2011 11:19 AM 23 ls.bat<br />

04/10/2011 12:18 PM 656 master.cpp<br />

03/23/2011 07:32 PM 17,874 OS_U<strong>IPC</strong>-H.txt<br />

03/23/2011 01:06 PM 13,081 OS_UPipe-H.txt<br />

03/19/2011 03:51 PM 14,999 OS_UProc-H.txt<br />

04/10/2011 11:58 AM 982 paritate.cpp<br />

04/10/2011 11:58 AM 18,945 paritate.exe<br />

04/10/2011 11:45 AM 320 paritateFiu.cpp<br />

04/10/2011 11:45 AM 17,413 paritateFiu.exe<br />

03/23/2011 12:45 PM 19,781 SO_U<strong>IPC</strong>-H.txt<br />

03/23/2011 01:11 PM 13,805 SO_UPipe-H.txt<br />

03/19/2011 03:40 PM 14,738 SO_UProc-H.txt<br />

03/19/2011 03:40 PM 14,738 SO_WProc-H.txt<br />

18 File(s) 186,682 bytes<br />

2 Dir(s) 239,633,485,824 bytes free<br />

Terminat procesul fiu 4972 creeat de parintele 2320<br />

Daca se comenteaza invers linia care il defineste pe b, efectul este:<br />

D:\Florin\Didactic\20102011\SO\probleme\WProc-H>a<br />

Procesul parinte 6068 va creea un fiu<br />

D:\Florin\Didactic\20102011\SO\probleme\WProc-H>dir *.cpp<br />

Volume in drive D is fmbData<br />

Volume Serial Number is F6C0-1474<br />

Directory of D:\Florin\Didactic\20102011\SO\probleme\WProc-H<br />

04/10/2011 12:13 PM 679 capitalizare.cpp<br />

04/10/2011 12:08 PM 435 compilerun.cpp<br />

04/10/2011 12:51 PM 671 execWin.cpp<br />

04/10/2011 12:18 PM 656 master.cpp<br />

04/10/2011 11:58 AM 982 paritate.cpp<br />

04/10/2011 11:45 AM 320 paritateFiu.cpp<br />

6 File(s) 3,743 bytes<br />

0 Dir(s) 239,633,485,824 bytes free<br />

Terminat procesul fiu 4824 creeat de parintele 6068<br />

<strong>1.</strong>3.3.2. Exemplul 4: Cate perechi de numere nenule au suma numar par?<br />

Problema este trivial de simpla, insa potrivita pentru a exemplifica utilizarea<br />

CreateProcess, WaitForSingleObject si ExitProcess.<br />

Enuntul problemei: Se dau la linia de comanda n perechi de numere intregi. Programul va<br />

crea n procese fii, fiecare primind doua argumente consecutive din linia de comanda.<br />

Oricare dintre fii intoarce codul de retur:<br />

� 0 daca perechea are suma para,<br />

� 1 daca suma este impara,<br />

� 2 daca unul dintre argumente este nul sau nenumeric.<br />

Parintele asteapta terminarea fiilor si va afisa rezultatul. In continuare vom implementa un<br />

program separat pentru procesul fiu. Sursa lui, paritateFiu.cpp este:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!