




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Conocer el mecanismo de identificación de un proceso Aprender el sistema de almacenamiento de un proceso en GNU/Linux
Tipo: Guías, Proyectos, Investigaciones
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





Conocer el mecanismo de identificación de un proceso Aprender el sistema de almacenamiento de un proceso en GNU/Linux
2. Unidad 4. Gestión de procesos en GNU/Linux
Antes de ver la gestión de procesos en GNU/Linux recordemos algunos conceptos.
BCP (Bloque de control de procesos): Los bloques de control de procesos son estructuras de información asociadas a los procesos. Tablas de procesos: Estas tablas no son más que el conjunto de BCP´s por cada proceso en el sistema.
Por tanto, GNU/Linux posee una estructura de directorios que veremos en la Unidad 6 en la cual se encuentra una carpeta o directorio fundamental para hablar de gestión de procesos en Linux.
2.1.Directorio de procesos (/proc/)
Dentro de los sistemas operativos Gnu/Linux , la manipulación de la información concerniente a configuraciones, dispositivos, aplicaciones y usuarios es definida mediante el manejo de ficheros ubicados dentro de directorios específicos los cuales hacen parte o constituyen la estructura de todo sistema de archivo para un sistema operativo Gnu/Linux. Por lo cual las distintas distribuciones disponen de directorios para categorizar cada información, la siguiente tabla menciona y describe algunos directorios:
TABLA 1
/dev Directorio para dispositivos de hardware /home Directorio para usuarios del sistema
/etc Directorio para el manejo de configuraciones
/opt Directorio por defecto para instalación de paquetes
/bin Directorio ficheros binarios del sistema operativo
Entre otros.
Ahora, así como existen distintos directorios para la manipulación de información para dispositivos y usuarios, aparece el directorio /proc cuyo objetivo concierne a mantener la información de cada uno de los procesos generado por el propio sistema operativo y usuarios del sistema. Sin embargo es necesario dejar claro que el directorio /proc se categoría como un directorio virtual, a razón de que la información que este almacena únicamente se mantiene o existe cuando el sistema operativo se encuentra en ejecución.
ILUSTRACIÓN 1 - EXTRAIDO DE HTTP://BLOG.DESDELINUX.NET/ESTRUCTURA-DE-DIRECTORIOS-EN-LINUX/
/proc/ (procesos): Contiene principalmente archivos de texto, sistema de archivos virtuales que documentan al núcleo y el estado de los procesos en archivos de texto (por ejemplo, uptime, network). (Perseo, 2012)
El kernel de Linux tienes dos funciones primarias: controlar el acceso a los dispositivos físicos del ordenador y establecer cuándo y cómo los procesos van a interactuar con estos dispositivos. El directorio /proc/ (también llamado el sistema de archivos proc ) contiene una jerarquía de archivos especiales que representan el estado actual del kernel permitiendo a las aplicaciones y usuarios mirar detenidamente en la vista del kernel del sistema. (Linuxtopia, s.f.)
TABLA 2
dr-xr-xr-x 0 0 12/09/09 01:29:00 1 dr-xr-xr-x 0 0 12/09/09 01:29:00 1158 dr-xr-xr-x 0 0 12/09/09 01:29:00 1160 dr-xr-xr-x 0 0 12/09/09 01:29:00 1175 dr-xr-xr-x 0 0 12/09/09 01:29:00 1179
El directorio /proc refleja claramente el concepto de Tabla de Procesos. Como sabemos las tablas de procesos guardan información sobre los procesos que se encuentran en el sistema operativo, eso mismo hace el directorio /proc , se encarga de guardar información pertinente al proceso que se encuentra en el sistema.
Un ejemplo sobre esta información lo podemos hacer con la Tabla 2 :
Parent Process: Todo proceso es creado por otro proceso, el proceso padre (parent process). El primer proceso iniciado por el kernel cuando el sistema arranca es el programa init. Este proceso tiene el PID 1 y es el padre de todos los procesos del sistema.
Parent Process ID (PPID): El PID del proceso que inició el proceso hijo.
Enviroment: Cada proceso mantiene una lista de variables y sus correspondientes valores. El conjunto de estas variables recibe el nombre de process enviroment. Normalmente el entorno de un proceso hijo se hereda del proceso padre a menos de que se indique de otra forma.
Current Working Directory: Cada proceso tiene asociado un directorio por defecto, donde el proceso leerá/escribirá archivos, a menos que se le especifique explícitamente lo contrario.
Nice Number: Permite al usuario modificar la prioridad de ejecución de un proceso. (Lara)
Los sistemas operativos Gnu/Linux gestionan sus procesos basados en el uso de los llamados archivos virtuales. Ahora, ¿Qué es un Archivo Virtual?
Para entender esto es necesario saber que es un archivo, un archivo se define como una secuencia de bits que ocupan un lugar dentro de un medio de almacenamiento fijo cuyo tamaño aumenta en relación a la información que este incluya, por ejemplo un archivo de plano aumenta su tamaño en relación a la cantidad de caracteres que ha este se le incluyan, sin embargo cuando nos referimos a archivos virtuales hablamos de archivos que almacena información de forma volátil y no ocupan un espacio fijo en disco, es decir que este tipo de archivo es almacenado en memoria RAM y no en un espacio de almacenamiento fijo.
En Linux, todo se guarda en archivos. La mayoría de usuarios están familiarizados con los dos primeros tipos de archivos, de texto y binarios. Sin embargo, el directorio /proc/ contiene otro tipo de archivos llamado archivo virtual. Por esta razón, es que a menudo se hace referencia a /proc/ como un sistema de archivos virtual.
Estos archivos virtuales poseen cualidades únicas. En primer lugar, la mayoría de ellos tienen un tamaño de 0 bytes. Sin embargo, cuando se visualiza el archivo, éste puede contener una gran cantidad de información. Además, la mayoría de configuraciones del tiempo y las fechas reflejan el tiempo y fecha real, lo que es un indicativo de que están siendo constantemente modificados. (Linuxtopia, s.f.)
2.2. Comando ps
El sistema operativo GNU/Linux como cualquier otro sistema operativo se encarga de gestionar los procesos a su manera por medio de los algoritmos de planificación vistos anteriormente. Este sistema operativo le permite al usuario mostrar la lista de procesos que se encuentran ejecutándose en el sistema y algunas características de estos:
Hora de inicio
Uso de memoria Estado de ejecución Propietario Entre otros
Y la forma en la cual el usuario puede realizar esta función es por medio del comando ps. La sintaxis usada para ejecutar este comando es la siguiente:
Dicha sintaxis muestra el listado de los procesos y sus características según la opción que se le pase al comando. ¿Qué tipo de opciones posee este comando?
TABLA 3 - INFORMACIÓN EXTRAÍDA DE (LARA)
- a
Muestra los procesos creados por cualquier usuario y asociados a un terminal.
- l
Formato largo. Muestra la prioridad, el PID del proceso padre entre otras informaciones.
- u Formato de^ usuario. Incluye el usuario propietario del proceso y la hora de inicio. - U Usr Lista los procesos creados por el usuario “usr”. - x
Muestra los procesos que no están asociados a ningún terminal del usuario. Útil para ver los “demonios” (programas residentes) no iniciados desde el terminal.
Usa los caracteres de línea para dibujar el árbol. La representación del árbol es más clara, pero no funciona al redireccionar la salida.
- h Remarca la jerarquía del proceso actual (normalmen terminal). No funciona al redireccionar la salida.te el - n (^) nombre. Esta opción fuerza a ordenar los procesos por suPor defecto los procesos con mismo padre se ordenan por el PID. - p Incluye el PID de los procesos en el árbol.
Proceso INIT
En Linux todos los procesos que son creados o existen en el sistema tienen un proceso padre, pero todos los procesos tienen un procesos padre que es el “padre de todo” o mejor dicho, el primer proceso que se ejecuta y existe en el sistema.
“Init” es el primer proceso que crea el Kernel Linux cuando inicia el sistema (boot) y por defecto todos los procesos que existen en el sistema terminan siendo directa o indirectamente hijos de init. Esto es un proceso que posee un PID igual a 1 (Uno) por ser el primer proceso y este no puede ser matado (kill), excepto cuando se apaga el sistema. (Marini, 2013)
Administración de Procesos en Linux
https://youtu.be/9o68e5YtbVs
Gestión de Procesos y Archivos
https://youtu.be/GSvlKLZRwBU
Gestión de Procesos
https://youtu.be/ltd45TAAIEs
Los comandos ps, grep y kill de Linux
http://youtu.be/VSjEFKWSr-
Comandos kill y pstree
http://youtu.be/DP5lDFl2WFA
Lara, E. (s.f.). Obtenido de http://elara.site.ac.upc.edu/documentacion/LINUX%20- %20UD7%20-%20Gestion%20de%20Procesos.pdf
Linuxtopia. (s.f.). Obtenido de linuxtopia.org: http://www.linuxtopia.org/online_books/espaniol/centos_linux_guides/centos_linux _reference_guide/ch-proc.html
Marini, E. (2013). Linuxito.com. Obtenido de http://www.linuxito.com/docs/procesos- linuxito.pdf
Perseo. (27 de 3 de 2012). blog.desdelinux.net. Obtenido de http://blog.desdelinux.net/estructura-de-directorios-en-linux/