01.12.2012 Views

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capitolul 4. Procesele<br />

Alături de fişiere, procesele sunt cele mai importante lucruri <strong>în</strong>tr-un sistem UNIX/<strong>Linux</strong>. În acest<br />

capitol, vom prezenta <strong>în</strong>deaproape aceste procese. Vom studia mai multe lucruri despre:<br />

� Procesarea multi-utilizatori şi multi-sarcini<br />

� Tipuri de procese<br />

� Contro<strong>la</strong>rea proceselor cu semnale diferite<br />

� Atributele proceselor<br />

� Ciclul de viaţă al unui proces<br />

� Pornirea şi oprirea sistemului<br />

� SUID şi SGID<br />

� Viteza sistemului şi răspunsul<br />

� Procese programate<br />

� Sistemul cron Vixie<br />

� Cum să obţineţi cele mai bune performanţe de <strong>la</strong> sistemul dumneavoastră<br />

4.1. Anatomia proceselor<br />

4.1.1. Multi-utilizatori şi multi-sarcini (multi-user şi multi-tasking)<br />

Pentru că acum v-aţi obişnuit cu mediul de lucru şi sunteţi capabili să comunicaţi cât de cât cu<br />

sistemul, a venit vremea să studiem mai <strong>în</strong> detaliu procesele pe care le putem porni. Nu toate comenzile<br />

pornesc un singur proces. Anumite comenzi iniţiază o serie de procese, cum este mozil<strong>la</strong>; altele, precum ls,<br />

sunt executate ca o singură comandă.<br />

Mai mult, <strong>Linux</strong>-ul este bazat pe UNIX, <strong>în</strong> care comportamentul obişnuit este ace<strong>la</strong> prin care mai<br />

mulţi utilizatori <strong>la</strong>nsează comenzi diferite, <strong>în</strong> ace<strong>la</strong>şi timp, pe ace<strong>la</strong>şi sistem. Devine evident faptul că a trebuit<br />

să fie luate măsuri pentru ca procesorul (CPU) să poată gestiona toate procesele şi să fie asigurată o cale<br />

prin care utilizatorii să dispună de aceste procese. În anumite cazuri, procesele trebuie să ruleze chiar şi<br />

atunci când utilizatorul care le-a iniţiat se deautentifică. De asemenea, utilizatorii au nevoie de mijloace prin<br />

care să reactiveze procesele <strong>în</strong>trerupte.<br />

Vom explica structura proceselor din <strong>Linux</strong> <strong>în</strong> secţiunile următoare.<br />

4.1.2. Tipuri de procese<br />

4.1.2.1. Procese interactive<br />

Procesele interactive sunt iniţializate şi contro<strong>la</strong>te printr-o sesiune terminal. Cu alte cuvinte, trebuie<br />

ca cineva să fie conectat <strong>la</strong> sistem pentru a porni aceste procese; ele nu pot porni automat ca parte a<br />

funcţiilor sistemului. Aceste procese pot ru<strong>la</strong> <strong>în</strong> prim-p<strong>la</strong>n, ocupând terminalul care a pornit programul şi nu<br />

puteţi porni alte procese atât timp cât procesele existente <strong>în</strong> prim-p<strong>la</strong>n rulează. Alternativ, ele pot ru<strong>la</strong> <strong>în</strong><br />

fundal, astfel <strong>în</strong>cât conso<strong>la</strong> <strong>în</strong> care aţi pornit programul poate accepta comenzi noi <strong>în</strong> timp ce programul este<br />

<strong>în</strong> desfăşurare. Până acum, ne-am concentrat <strong>în</strong> principal pe programele care rulează <strong>în</strong> prim-p<strong>la</strong>n – timpul<br />

necesar pentru execuţia lor a fost prea scurt pentru a fi observate, dar vizualizarea unui fişier cu ajutorul<br />

comenzii less este un bun exemplu de comandă care ocupă o sesiune a consolei. În acest caz, programul<br />

activat aşteaptă ca dumneavoastră să faceţi ceva. Programul este conectat <strong>la</strong> terminal din momentul <strong>în</strong> care<br />

a fost pornit şi acest terminal este folositor numai dacă introduceţi comenzi pe care programul le poate<br />

<strong>în</strong>ţelege. Alte comenzi vor returna erori sau sistemul nu va da nici un răspuns.<br />

Însă <strong>în</strong> cazul <strong>în</strong> care un proces rulează <strong>în</strong> fundal, utilizatorul poate face alte lucruri <strong>în</strong> conso<strong>la</strong> din<br />

care a pornit acel program, chiar dacă programul este <strong>în</strong> desfăşurare.<br />

Conso<strong>la</strong> dispune de o funcţie numită controlul sarcinilor (job control), prin care gestionează cu<br />

uşurinţă mai multe procese. Funcţia conţine un mecanism care comută procesele din prim-p<strong>la</strong>n <strong>în</strong> fundal.<br />

Prin acest sistem, programele pot fi pornite <strong>în</strong> fundal imediat.<br />

66

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

Saved successfully!

Ooh no, something went wrong!