Procesele și firele de execuție în sistemele de operare (OS) au fost întotdeauna unele dintre subiectele mele preferate în informatică. Ele vă permit să înțelegeți, într-un mod mult mai profund, modul în care sistemul de operare gestionează programele în diferitele lor etape de execuție, abordează problemele legate de memorie și asigură securitatea izolată până la nivelul nucleului. Este pur și simplu al naibii de interesant!
Ideea de bază
Un proces este pur și simplu un program în execuție. Un program are strict un proces asociat cu el. În cazuri foarte rare este posibil ca acest lucru să nu fie întotdeauna adevărat (Google Chrome ca exemplu), dar acest lucru este adevărat în majoritatea timpului.
Care proces are diferite componente care îi permit să își îndeplinească sarcinile prevăzute. În special, stiva și heap-ul sunt folosite pentru alocarea variabilelor locale și, respectiv, a memoriei dinamice.
Există mai multe componente, dar este suficient să spunem că fiecare proces are nevoie de aceste componente pentru a funcționa ca program.
Monitorizarea proceselor din sistem
La un moment dat pot exista câteva sute sau mai puțin de procese care rulează. Uneori este util să vedeți informații detaliate despre acestea, mai ales dacă calculatorul dumneavoastră funcționează lent: deoarece anumite procese pot acapara memoria calculatorului sau procesorul. A fi capabil să le localizezi și ulterior să le distrugi este într-adevăr foarte util și poate fi realizat destul de ușor.
Dacă utilizați Windows, puteți deschide Task Manager și faceți clic pe fila Processes pentru a vedea aceste informații. Dacă rulați Linux sau o mașină bazată pe Unix, puteți rula o serie de comenzi diferite:
ps aux // this will display a list of processestop // detailed information about all processes, threads, memory hoggers and network packets