0% encontró este documento útil (0 votos)
31 vistas16 páginas

Monitor de Rendimiento

Definición de Rendimiento Evaluar el Rendimiento de una computadora

Cargado por

maireinita
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas16 páginas

Monitor de Rendimiento

Definición de Rendimiento Evaluar el Rendimiento de una computadora

Cargado por

maireinita
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Monitor de

Rendimiento
En Lenguaje
Assembler
Ejecución
Primero, ejecutamos el archivo Python Luego, ejecutamos el archivo
‘[Link]’, para captar datos del uso assembler ‘[Link]’ que
de CPU, Memoria, Velocidad de Disco, tenemos programados. Cuya
Velocidad de red; los almacenan en el función es leer el archivo de
archivo ‘cpu_data.txt’. El programa se documento ‘cpu_data.txt’ para
mantiene en ejecución, y cada 3 capturar los datos del uso de
segundos almacena los datos al rendimiento de CPU, Memoria,
archivo indicado, cabe destacar que Velocidad de Disco, Velocidad de
los datos se sobrescriben al archivo de red. Y mostrar en la pantalla los
documento ‘cpu_data.txt’. valores captados.
Codigo en Python
Importación de bibliotecas

psutil: Es una biblioteca utilizada para acceder a información sobre el


sistema operativo y procesos en ejecución. Permite obtener métricas
como el uso de CPU, memoria, velocidad de disco y red.

time: Esta biblioteca se utiliza para introducir pausas en la ejecución del


programa, en este caso, para reducir la carga en el sistema y evitar
consumir demasiados recursos mientras se recogen las métricas.
Definicion de
funciones
Obtener Uso de CPU

Esta función utiliza psutil.cpu_percent(interval=1) para obtener el porcentaje


de uso de la CPU durante un intervalo de 1 segundo. Devuelve este valor
como el resultado.
Obtener uso de
Memoria

Aquí, psutil.virtual_memory() se usa para obtener información detallada


sobre el uso de memoria virtual. La función devuelve el porcentaje de
memoria utilizada.
Obtener Velocidad de Disco

Esta función suma los bytes leídos y escritos desde la última cuenta
registrada por psutil.disk_io_counters(). El resultado representa la cantidad
total de datos transferidos a través del disco.

Obtener Velocidad de
Red

Similar a la función de disco, esta función suma los bytes enviados y


recibidos desde la última cuenta registrada por psutil.net_io_counters(),
dando como resultado la cantidad total de datos transferidos a través de la
red.
Bucle principal
Inicialización: Antes del bucle, se inicializan variables para almacenar la
velocidad de disco y red desde la última medición.

Bucle Infinito: Dentro del bucle, se realizan las siguientes acciones:


• Se obtienen las métricas actuales de uso de CPU y memoria.
• Se calculan las velocidades de disco y red actualizando los valores con
las diferencias entre las mediciones actuales y las anteriores, y luego
convirtiendo los resultados a KB/s.
• Se guarda un registro de todas las métricas en un archivo de texto,
sobrescribiendo el contenido existente en cada iteración.
• Finalmente, el programa espera 3 segundos antes de repetir el proceso.
Bucle
Principal
Directorio de guardado

El archivo cpu_data.txt se encuentra en el directorio especificado y


contiene una línea con las métricas recopiladas en cada iteración del
bucle, separadas por comas. Cada línea representa un punto en el
tiempo con el uso de CPU, memoria, velocidad de disco y velocidad
de red.
Codigo en lenguaje assembler
.MODEL
SMALL

Esta línea define el modelo de segmentación del programa como "pequeño"


(SMALL). Esto significa que todos los segmentos de código, datos y pila estarán
contenidos dentro de la primera 64KB de memoria.

.STACK 100h

Reserva 256 bytes para el stack, ubicado a 100h (256 en hexadecimal) desde el inicio
de la memoria. El stack es una estructura de datos que sigue el principio LIFO (Last In,
First Out) y se utiliza para almacenar temporales y para pasar parámetros entre
subrutinas.
.DATA

Aquí se declaran todas las variables globales y constantes utilizadas por el


programa:
• filename: Nombre del archivo a abrir.
• buffer: Un búfer de 256 bytes para almacenar los datos leídos del archivo.
• Las etiquetas (cpu_label, mem_label, disk_label, net_label) son cadenas que se
imprimirán junto con los valores correspondientes.
• newline: Contiene los caracteres de nueva línea para saltar líneas en la salida.
.CODE .STARTUP

Indica el inicio de la
Es el punto de
sección de código
entrada del
ejecutable del
programa.
programa.
Abrir el
archivo
Utiliza la interrupción int 21h con ah = 3Dh
para abrir el archivo especificado en filename.
Si hay un error, salta a la etiqueta error_open.
Leer el archivo Cerrar el
archivo

Con ah = 3Fh, lee hasta 255 Cierra el archivo abierto con ah


bytes del archivo abierto en = 3Eh. Si hay un error, salta a
buffer. Si hay un error, salta error_close.
a error_read.
Procesar y mostrar los
Leedatos
el contenido del buffer e imprime cada carácter
hasta encontrar una coma o un nulo, utilizando
print_value. Después de imprimir cada valor, llama a
print_newline para imprimir una nueva línea.
Terminar el programa

Finaliza el programa llamando a


int 21h con ah = 4Ch.

Funciones auxiliares

Definiciones de las funciones auxiliares


print_value y print_newline, así como el
manejador de errores.
Demostración del
Proyecto
¡Gracias por
ver!

También podría gustarte