intro(2) System Calls Manual intro(2) NUME intro - introducere la apelurile de sistem DESCRIERE Seciunea 2 a manualului descrie apelurile de sistem Linux. Un apel de sistem este un punct de intrare in nucleul Linux. De obicei, apelurile de sistem nu sunt invocate direct: in schimb, majoritatea apelurilor de sistem au funcii de invaluire corespunzatoare din biblioteca C care executa paii necesari (de exemplu, trecerea in modul nucleu) pentru a invoca apelul de sistem. Astfel, efectuarea unui apel de sistem arata la fel ca i invocarea unei funcii normale de biblioteca. In multe cazuri, funcia de invaluire a bibliotecii C nu face nimic mai mult decat: o copierea argumentelor i a numarului unic de apel de sistem in registrele in care nucleul le ateapta; o trecerea in modul nucleu, moment in care nucleul face adevarata munca a apelului de sistem; o definirea errno in cazul in care apelul de sistem returneaza un numar de eroare atunci cand nucleul readuce CPU in modul utilizator. Cu toate acestea, in unele cazuri, o funcie de invaluire poate face mai mult decat atat, de exemplu, poate efectua o preprocesare a argumentelor inainte de a trece in modul nucleu sau o postprocesare a valorilor returnate de apelul de sistem. In acest caz, paginile de manual din seciunea 2 incearca, in general, sa noteze detaliile atat ale interfeei API a bibliotecii C (de obicei GNU), cat i ale apelului de sistem brut. Cel mai frecvent, DESCRIEREA principala se va concentra pe interfaa bibliotecii C, iar diferenele pentru apelul de sistem sunt tratate in seciunea NOTE. Pentru o lista a apelurilor de sistem Linux, consultai syscalls(2). VALOAREA RETURNATA In caz de eroare, majoritatea apelurilor de sistem returneaza un numar de eroare negativ (adica valoarea negata a uneia dintre constantele descrise in errno(3)). Funcia de invaluire a bibliotecii C ascunde acest detaliu apelantului: atunci cand un apel de sistem returneaza o valoare negativa, funcia de invaluire copiaza valoarea absoluta in variabila errno i returneaza -1 ca valoare de intoarcere a funciei de invaluire. Valoarea returnata de un apel de sistem reuit depinde de apelul respectiv. Multe apeluri de sistem returneaza 0 in caz de succes, dar unele pot returna valori diferite de zero in urma unui apel reuit. Detaliile sunt descrise in paginile de manual individuale. In unele cazuri, programatorul trebuie sa defineasca o macro de testare a caracteristicilor pentru a obine declaraia unui apel de sistem din fiierul antet specificat in seciunea SYNOPSIS din pagina de manual. (In cazul in care este necesar, aceste macrocomenzi de testare a caracteristicilor trebuie sa fie definite inainte de a include fiiere de antet any). In astfel de cazuri, macrocomanda necesara este descrisa in pagina de manual. Pentru informaii suplimentare despre macrocomenzile de testare a caracteristicilor, consultai feature_test_macros(7). STANDARDE Anumii termeni i anumite abrevieri sunt utilizate pentru a indica variantele i standardele UNIX la care sunt conforme apelurile din aceasta seciune. A se vedea standards(7). NOTE Apelarea directa In cele mai multe cazuri, nu este necesar sa se apeleze direct la un apel de sistem, dar exista momente in care biblioteca Standard C nu implementeaza o funcie de invaluire utila pentru a face acest lucru. In acest caz, programatorul trebuie sa invoce manual apelul de sistem folosind syscall(2). Din punct de vedere istoric, acest lucru era posibil i prin utilizarea uneia dintre macrocomenzile _syscall descrise in _syscall(2). Autori i termenii drepturilor de autor Uitai-va in antetul paginii sursa a manualului pentru a afla autorul (autorii) i condiiile de drepturi de autor. Reinei ca acestea pot fi diferite de la o pagina la alta! CONSULTAI I _syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7), time(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 intro(2)