Multitasking: Procesul de bază și procesul primar

Fiind un sistem de operare multitasking, Linux suporta executia multor procese - in esenta, programe sau comenzi sau alte sarcini similare - in fundal in timp ce continuati sa lucrati in prim-plan.

Procesele primare

Un proces în prim-plan este orice comandă sau sarcină pe care o executați direct și așteptați să fie finalizată. Unele procese din prim plan prezintă un tip de interfață de utilizator care acceptă interacțiunea continuă cu utilizatorul, în timp ce alții execută o sarcină și "îngheață" computerul în timp ce încheie acea sarcină.

Din shell, un proces în prim plan începe prin tastarea unei comenzi la prompt. De exemplu, pentru a vedea o listă simplă a fișierelor din directorul activ, tastați:

$ ls

Veți vedea lista fișierelor. În timp ce computerul se pregătește și tipărește acea listă, nu mai puteți face nimic din promptul de comandă.

Procesul de bază

Spre deosebire de un proces în prim plan, shell - ul nu trebuie să aștepte ca un proces de fundal să se termine înainte de a putea rula mai multe procese. În limita cantității de memorie disponibilă, puteți introduce mai multe comenzi de fundal unul după altul. Pentru a executa o comandă ca proces de fundal, tastați comanda și adăugați un spațiu și un ampersand la sfârșitul comenzii. De exemplu:

$ command1 &

Când emiteți o comandă cu ampersandul de încheiere, shell-ul va executa lucrarea, dar în loc să vă aștepte terminarea comenzii, veți reveni imediat la shell și veți vedea promptul shell (% pentru C Shell și $ pentru Bourne Shell și Korn Shell). În acest moment, puteți introduce o altă comandă pentru procesul de fundal sau de fond. Lucrările de fundal se execută cu o prioritate mai redusă la lucrările din prim plan.

Veți vedea un mesaj pe ecran atunci când procesul de fundal este terminat să fie difuzat.

Comutarea între procese

Dacă un proces în prim-plan ia prea mult timp, opriți-l apăsând CTRL + Z. O operație oprită mai există, dar execuția acesteia este suspendată. Pentru a relua lucrarea, dar în fundal, tastați bg pentru a trimite lucrarea întreruptă la execuția de fundal.

Pentru a relua procesul suspendat în prim-plan, tastați fg și procesul va prelua sesiunea activă.

Pentru a vedea o listă a tuturor proceselor suspendate, utilizați comanda pentru lucrări sau utilizați comanda de sus pentru a afișa o listă a celor mai multe sarcini intensive ale procesorului, astfel încât să le puteți suspenda sau opri pentru a elibera resursele de sistem.

Shell vs. GUI

Funcția multitasking funcționează diferit, în funcție de faptul dacă lucrați din shell sau dintr-o interfață grafică de utilizator . Linux din shell suportă doar un singur proces activ în prim plan pe terminalul virtual. Cu toate acestea, din perspectiva practică a utilizatorului, un mediu fereastră (de exemplu, Linux cu un desktop, nu dintr-un shell pe bază de text) acceptă mai multe ferestre active care servesc în mod eficient ca procese multiple primare simultane. În practică, Linux în spatele scenei ajustează prioritatea proceselor într-o interfață grafică pentru a promova stabilitatea sistemului și pentru a sprijini procesarea utilizatorilor finali.