Eventos de Logueo Obligatorio
Existen eventos que ocurren en cada proceso desarrollado que son relevantes para la verificación de su correcto funcionamiento. Es por eso que, más abajo, se definen una serie de eventos de logueo obligatorios.
Planificador
Comienzo y fin de ejecución de procesos, indicando al menos: PID asignado y nombre del archivo “mCod”.
Conexión y desconexión de CPUs.
Ejecución del algoritmo de planificación, indicando el proceso “mProc” seleccionado para ejecutar y el contenido ordenado de todas las colas de planificación.
Ráfaga de CPU completada, indicando el proceso mProc y todos los mensajes de la CPU.
CPU
Todos los hilos compartirán el mismo archivo log, prefijando en cada evento el número de cpu que está realizando el logueo
Instancia de CPU creada/conectada al Administrador de Memoria, indicando el identificador de hilo CPU (id)
Contexto de ejecución recibido, indicando todos sus datos, y el quantum de ejecución.
Instrucción ejecutada, indicando PID, el valor de sus parámetros (si hubiese) y el resultado de la instrucción.
Ejecución de ráfaga concluída, indicando PID.
Administrador de Memoria
Proceso mProc creado, indicando PID y cantidad de páginas asignadas
Solicitud de escritura/lectura recibida, indicando PID y N° de página
TLB hit/miss, indicando N° de página ingresado, N° de marco resultante, y en caso de miss resultado del algoritmo de reemplazo (si aplica)
Acceso a memoria realizado, indicando PID, N° de página y N° de marco
Acceso a swap (fallo de página), indicando PID, resultado del algoritmo de sustitución de páginas, estado inicial y final de las colas y punteros correspondientes (si aplica)
Señal recibida/tratamiento de señal terminado, indicando tipo y acción a ejecutar.
Administrador de Swap
Proceso mProc asignado, indicando PID, N° de byte inicial, y tamaño en bytes
Proceso mProc liberado, indicando PID, N° de byte inicial, y tamaño en bytes liberado
Proceso mProc rechazado por falta de espacio
Compactación iniciada/finalizada por fragmentación externa
Escritura/lectura solicitada, indicando PID, N° de byte inicial, tamaño y contenido
En general, no se debería imprimir por pantalla ninguno de estos eventos, sino que para ello debe usarse el archivo de log. Se reservará la impresión por pantalla para indicar terminaciones anormales, escribiendo los detalles en el archivo de log. Para poder seguir las entradas que va logueando un proceso del Sistema Operativo, se recomienda usar el comando: tail -f <archivo de log>
, que va imprimiendo nuevas líneas conforme va creciendo dicho archivo. Por ejemplo:
Cada vez que un proceso del Sistema Operativo inicie su ejecución, deberá imprimir en el log una línea especial indicando que comenzó la ejecución del mismo. Además, es posible ampliar la cantidad de eventos a loguear por encima de los mínimos especificados arriba, siempre que contribuya a entender el funcionamiento del programa y el mismo siga siendo legible y fácil de seguir. Se recomienda utilizar la funcionalidad de Logging de la Commons Library que facilita la generación y escritura de archivos de log.
Last updated