Multitasca: procés de fons i procés de primer pla

Com a sistema operatiu de múltiples tasques, Linux admet l'execució de molts processos, bàsicament, programes o ordres o tasques similars, en segon pla mentre continueu treballant en primer pla.

Processos de primer pla

Un procés en primer pla és qualsevol ordre o tasca que executeu directament i espereu que finalitzi. Alguns processos de primer pla mostren algun tipus de interfície d'usuari que admet la interacció de l'usuari en curs, mentre que altres executen una tasca i "congelen" l'ordinador mentre completa aquesta tasca.

Des del intèrpret d'ordres, un procés de primer pla comença escrivint una ordre a l'indicatiu. Per exemple, per veure una llista simple dels fitxers del directori actiu, escriviu:

$ ls

Veureu la llista de fitxers. Tot i que l'equip està preparant i imprimint aquesta llista, no podeu fer res més des del símbol del sistema.

Procés de fons

A diferència d'un procés de primer pla, l' intèrpret d'ordres no ha d'esperar que finalitzi un procés de fons abans de poder executar més processos. Dintre del límit de la quantitat de memòria disponible, podeu ingressar moltes ordres de fons una darrere l'altra. Per executar una comanda com a procés en segon pla, escriviu l'ordre i afegiu un espai i un nombre i al final de l'ordre. Per exemple:

$ command1 &

Quan emet una ordre amb els ampersand concloents, el shell executarà el treball, però en comptes de fer esperar que finalitzi l'ordre, se us retornarà immediatament al shell i veureu l'indicatiu de l'intèrpret d'ordres (% per a la C Shell, i $ per a la Shell Bourne i el Shell Korn). En aquest punt, podeu introduir una altra ordre per a un procés en segon pla o en segon pla. Els treballs en segon pla s'executen amb una prioritat més baixa als treballs de primer pla.

Veureu un missatge a la pantalla quan acabeu d'executar un procés de fons.

Canvi entre processos

Si un procés en primer pla triga massa temps, atureu-lo prement CTRL + Z. Encara hi ha un treball aturat, però la seva execució està suspesa. Per reprendre la feina, però en segon pla, escriviu bg per enviar el treball aturat a l'execució del fons.

Per reprendre un procés suspès en primer pla, escriviu fg i aquest procés es farà càrrec de la sessió activa.

Per veure una llista de tots els processos suspesos, utilitzeu l'ordre Jobs o utilitzeu l'ordre superior per mostrar una llista de les tasques més intensives per a la CPU, de manera que podeu suspendre o aturar-les per alliberar els recursos del sistema.

Shell vs. GUI

La multitarea funciona de manera diferent en funció de si esteu treballant des del shell o una interfície gràfica d'usuari . Linux del shell suporta només un procés de primer nivell actiu per terminal virtual. Tanmateix, des de la perspectiva pràctica de l'usuari, un entorn de finestra (per exemple, Linux amb un escriptori, no d'un intèrpret d'ordres basat en text) admet diverses finestres actives que serveixen efectivament com a múltiples processos simultanis de primer pla. A la pràctica, Linux darrere d'escena ajusta la prioritat dels processos en una interfície gràfica d'usuari per promoure l'estabilitat del sistema i donar suport al processament de l'usuari final.