UNIVERSIDAD TECNOLÓGICA NACIONAL
FACULTAD REGIONAL CÓRDOBA
Ingeniería en Sistemas de Información
Cátedra de Sistemas Operativos
TRABAJO PRÁCTICO N°2
Docentes:
● Ing. Cecilia Sanchez Juriol
● Ing. Sandra Allende
● Ignacio Martinoli
Tema a desarrollar: Procesos en Windows y Linux
Integrantes:
● Chiong Daana - 404263
● Gonzalez Agustina - 90198
● Abregu Joaquin - 402742
● Amuedo Román - 85736
Comisión: 2K2
Año lectivo: 2024
ÍNDICE
Enunciado.................................................................................................................................... 3
Introducción................................................................................................................................. 4
Desarrollo..................................................................................................................................... 5
Actividades para Windows......................................................................................................... 5
Usando el administrador de tareas..........................................................................................5
Usando el Explorador de Procesos de Sysinternals..............................................................10
Actividades para Linux............................................................................................................. 13
Conclusión................................................................................................................................. 14
Enunciado
El laboratorio de sistemas es un laboratorio preparado para el dictado
de materias de la carrera ingeniería en Sistemas. Para brindar un buen
servicio y soporte a todas las cátedras se cuentan con servidores con
Windows y Linux para funciones específicas. Cada cierto periodo se
realizan tareas mantenimiento y se monitorean ciertos recursos de
servidores y diferentes procesos críticos.
Introducción
En este trabajo práctico, nos adentraremos en la administración de
sistemas operativos tanto en Windows como en Linux, con el objetivo
de profundizar el manejo de procesos y recursos en entorno de
laboratorio de sistemas. A lo largo de las actividades propuestas, nos
enfocaremos en el uso de herramientas como el Administrador de
Tareas, Sysinternals en Windows y comandos de terminal en Linux,
que nos permitirán monitorear, analizar y controlar el rendimiento de
los sistemas antes diversas carga de trabajo.
Desarrollo
Actividades para Windows
Usando el administrador de tareas
1. a)
b)
Para optimizar el rendimiento y observar el comportamiento del CPU,
configuramos el proceso "[Link]" para que se ejecute
únicamente en el núcleo CPU 0.
Ventajas de afinidad de procesos
● Optimizar el rendimiento y la eficiencia: Asignar procesos a
diferentes núcleos permite una mayor optimización del
rendimiento y la eficiencia del sistema. Esto posibilita la
ejecución simultánea de varios procesos en núcleos distintos,
distribuyendo la carga de trabajo y mejorando el tiempo general
del sistema.
● Reducir errores de caché: Al asignar los procesos a núcleos
específicos, se reduce la competencia por las líneas de caché
entre diferentes procesos. Los datos utilizados por un proceso
permanecen en el mismo núcleo, disminuyendo los errores de
caché y mejorando la eficiencia del acceso a los datos.
● Mejorar la escalabilidad: Permite que el sistema se adapte mejor
a un mayor número de núcleos al distribuir los procesos de
manera más eficiente entre ellos
Desventajas de afinidad de procesos
● Riesgo de falla en el núcleo asignado: Si el núcleo asignado
experimenta un problema técnico o falla, el proceso no podrá
continuar su ejecución. En contraste, si el proceso no estuviera
restringido a un solo núcleo, el sistema operativo podría
reasignarlo automáticamente a otro núcleo disponible,
asegurando así la continuidad de la ejecución sin interrupciones.
● Subutilización de núcleos: Si no se gestiona adecuadamente,
puede llevar a la subutilización de algunos núcleos. Algunos
pueden quedar inactivos mientras que otros están
sobrecargados, lo que puede reducir la eficiencia general del
sistema.
c) Pasos para suspender CPUBurn
Para suspender “CPUBurn”, utilizamos el Monitor de Recursos, que se
encuentra en la pestaña “Rendimiento” del Administrador de Tareas.
Luego, buscamos el proceso en la lista de procesos, y al hacer clic
derecho sobre él, seleccionamos la opción “Suspender”.
d) Pasos para finalizar CPUBurn
Para finalizar el proceso “CPUBurn” a través de la pestaña “Detalles”,
buscamos el nombre del proceso, hacemos click derecho sobre él, y
seleccionamos “Finalizar tarea”.
e) Al suspender un proceso, pausamos temporalmente su ejecución. El
proceso permanece en memoria, pero no utiliza recursos del CPU
mientras esté suspendido. Durante la suspensión, el tiempo de
ejecución se detiene en el momento exacto en que se suspende (esto
es visible en la interfaz de “cpuburn”, donde el tiempo se cuenta y se
muestra cada 10 segundos). Una vez que reanudamos el proceso, el
contador continúa desde donde se había detenido.
En cambio, al finalizar un proceso, lo detenemos de manera
permanente. El proceso se elimina de la memoria y todos los recursos
asociados son liberados. Al finalizarlo, el sistema cierra
automáticamente la ventana asociada a “cpuburn”, y no se puede
volver a reanudar.
La diferencia entre estas dos acciones es que un proceso suspendido
se puede reanudar, mientras que un proceso finalizado no se puede
recuperar y debe ser reiniciado desde cero si se necesita ejecutar
nuevamente. Otra diferencia a destacar es que suspender implica
liberar recursos del CPU pero retener el estado del proceso en
memoria, mientras que finalizar libera tanto CPU como memoria.
2.
La diferencia es que el programa es “[Link]”, que se utiliza para
abrir archivos de texto, mientras que los procesos son cada instancia
individual de “[Link]” que se ve en el Administrador de Tareas.
Aunque todos ejecutan el mismo programa, cada uno se considera un
proceso diferente.
Usando el Explorador de Procesos de Sysinternals
3.
En la imágen, observamos que el proceso de “VirtualBox” fue
suspendido. Esto se realiza haciendo clic derecho sobre el proceso y
seleccionando la opción “Suspend”. Cuando se suspende el proceso, la
máquina virtual se congela y deja de responder temporalmente.
Usando Handle de Sysinternals
4.
5. Cuando ejecutamos el comando .\[Link]
“C:\windowa\system32” en la consola, se ejecuta la herramienta
Handle para revisar y mostrar todos los archivos y recursos que
están en uso en la carpeta C:\windows\system32. El resultado es
una lista que indica qué procesos tienen archivos abiertos en esa
carpeta. Esto ayuda a entender qué se está utilizando esos
archivos, por si necesitamos saber por qué no se puede
modificarlos o borrarlos.
Actividades para Linux
6. En una terminal ejecutamos el comando “top” y en otra
buscamos el PID del proceso top que se está ejecutando:
Al encontrar el PID, utilizamos el comando “kill -SIGINT 4231”. Pasado
el tiempo para volver a reanudar top necesitamos volver a ejecutar
otro, ya que con la señal “SIGINIT” indica al proceso que termine su
ejecución de manera ordenada. Al volver a ejecutarlo obtenemos un
nuevo PID 4283.
7. Llegada las 23 horas para finalizar la ejecución del comando top
utilizamos “kill -9 4283”, ya que finaliza la ejecución de forma
inmediata del proceso, sin permitir que realice ninguna limpieza
o cierre ordenado.
Conclusión
En este trabajo práctico, hemos explorado diversas herramientas para
el manejo de procesos y recursos en sistemas operativos, como
Windows y Linux.
A través de las actividades realizadas, hemos aprendido a utilizar el
Administrador de Tares, Sysinternals y el comando “top”.
En Windows, hemos visto como la afinidad de procesos puede ser una
herramienta útil para mejorar la eficiencia, al asignar procesos a
núcleos específicos. Hemos evaluado tanto sus ventajas, como la
optimización del rendimiento y la reducción de errores de caché;
como sus desventajas, incluyendo el riesgo de fallas en el núcleo
asignado y la posible subutilización de otros núcleos. Además, hemos
aprendido a distinguir entre suspender y finalizar procesos,
comprendiendo cómo impacta en la continuidad del trabajo.
Por otro lado, en Linux, la aplicación del comando “top”, y la gestión
de señales de interrupción y finalización, han demostrado ser útiles
para controlar la ejecución de procesos de manera efectiva.
En conclusión, este trabajo práctico ha sido fundamental para
comprender y dominar estas técnicas de administración de procesos,
contribuyendo a mantener un entorno de laboratorio bien gestionado
y eficiente.