Un proceso define una instancia de un programa en ejecución y su entorno. Al igual que con los archivos, aquí sólo mencionamos las diferencias más importantes entre GNU/Linux y Windows® (por favor, consulte Capítulo 6, Control de procesos para más información).
La diferencia más
importante está directamente relacionada al concepto de
usuario: cada proceso se ejecuta con los
derechos del usuario que lo inició. Internamente, el sistema
identifica a los procesos con un número único, que se
denomina el PID
(Process ID, ID del Proceso). A
partir de este PID, el sistema sabe quien (es decir, que usuario)
ha lanzado el proceso y cierta otra información, y el sistema sólo debe verificar la validez
del proceso. Tomemos nuestro ejemplo del archivo
un_archivo
. El usuario
peter sólo podrá abrir este archivo en modo de
sólo lectura, pero no en el modo de
lectura-escritura, ya que los permisos asociados al
archivo lo prohiben. Una vez más, root
es la excepción a
esta regla.
Gracias a esto,
GNU/Linux es virtualmente inmune a los virus. Un
virus necesita infectar archivos ejecutables para poder operar.
Como usuario regular, Usted no tiene derecho de escritura sobre los archivos vulnerables del sistema, razón por la cual el
riesgo se reduce notablemente. En general, los virus son muy raros en el mundo de UNIX®. Solo hay unos pocos virus conocidos para Linux, y son
completamente inofensivos cuando los ejecuta un usuario no
privilegiado. Sólo un usuario puede dañar un sistema activando
estos virus: root
.
Sin embargo, y curiosamente, existe software antivirus para GNU/Linux, pero ¡mayormente para los archivos de DOS/Windows®! ¿Por qué hay programas antivirus corriendo en GNU/Linux, los cuales se enfocan en DOS/Windows®? Cada vez más seguido, Usted verá sistemas GNU/Linux actuando como servidores de archivos para las máquinas Windows® con la ayuda del paquete de software Samba (consulte Compartiendo archivos e impresoras en la Guía de Administración del Servidor).
Linux hace que
sea fácil controlar a los procesos. Una forma de controlarlos es
por medio de “señales”, las cuales permiten que Usted
suspenda o termine un proceso enviando la señal correspondiente al
mismo. Sin embargo, está limitado a enviar señales a sus propios
procesos. A excepción de root
, Linux y los
sistemas basados en UNIX® no permiten que
Usted envíe señales a procesos que inició otro usuario. En Capítulo 6, Control de procesos aprenderá como obtener el PID
de un proceso y enviarle señales.