Skip to content

A CLI built from scratch with some nice features

License

Notifications You must be signed in to change notification settings

iledesma08/ishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exploración, optimización y seguridad

Introducción

En el refugio, donde cada byte cuenta, la gestión avanzada de memoria y la eficiencia de los sistemas son esenciales para la supervivencia. Este proyecto te desafía a mejorar el asignador de memoria creado previamente, integrándolo con nuevas funciones de verificación y optimización. Además, explorarás el filesystem en busca de datos esenciales y tendrás que usar herramientas de debugging para descifrar un código oculto en una librería. Por suerte, no tendrás que empezar de cero; parte del código ya ha sido desarrollado por dos programadores previos, algo perezosos, pero eso no es problema para ti, ¿verdad?


Objetivos del proyecto

  1. Optimización y seguridad en la gestión de memoria: Ampliar y optimizar la biblioteca de gestión de memoria para reducir la fragmentación y aumentar la eficiencia.
  2. Manejo de filesystems: Implementar una funcionalidad de exploración de directorios en busca de archivos de configuración importantes para el sistema.
  3. Integración de métricas de memoria en el sistema de monitoreo: Exponer métricas del uso de memoria optimizada en el sistema de monitoreo desarrollado previamente y visualizarlas en Grafana.
  4. Alcanzar al menos un 5% de cobertura de testing: Escribir pruebas que cubran al menos el 5% del código, asegurando la calidad y fiabilidad del proyecto.
  5. Mejorar el pipeline de CI/CD: Implementar GitHub Actions para la integración continua y el checkeo (cppcheck) del código.

Actividades

1. Optimización del asignador de memoria existente

A partir del código base proporcionado, implementa mejoras en la gestión de memoria:

  • Compactación de bloques libres: Mejora la función fusion para realizar una compactación automática en cada llamada a free, minimizando la fragmentación.
  • Verificación de consistencia del heap: Extiende check_heap() para detectar inconsistencias en el uso de memoria, como bloques libres adyacentes no fusionados o bloques asignados con tamaños inválidos.
  • Análisis de memoria: Implementa una función memory_usage() que reporte el tamaño total de bloques asignados y la cantidad de memoria libre.
  • Registro detallado de eventos: Agrega un registro de operaciones que incluya cada llamada a malloc, calloc, free, y realloc, permitiendo auditar el uso de memoria.

2. Mejora de políticas de asignación de memoria

Amplía la funcionalidad de selección de políticas de asignación de bloques:

  • Worst Fit: Implementa una opción de asignación de memoria usando el algoritmo Worst Fit. Esta política se selecciona mediante set_method(2), y find_block() debe identificar el bloque más grande disponible que satisfaga la solicitud de tamaño.
  • Evaluación de eficiencia: Implementa un test que mida la eficiencia de las políticas (First Fit, Best Fit, Worst Fit) en términos de fragmentación y velocidad de asignación.

3. Exploración del filesystem y búsqueda de configuraciones

Desarrolla una función que navegue en el sistema de archivos en busca de configuraciones críticas:

  • Listar directorios y buscar archivos específicos: Implementa un comando en la shell personalizada para listar archivos de configuración en un directorio específico.
  • Búsqueda recursiva en directorios: Realiza una búsqueda en subdirectorios para encontrar archivos con un formato específico (por ejemplo, .config o .json).
  • Lectura y extracción de datos de configuración: Extrae datos de archivos encontrados y muestra su contenido en la shell, simulando cómo el sistema lee configuraciones importantes.
Ejemplo de salida de la función de exploración de filesystem
Explorando el directorio: /ruta/al/directorio en busca de archivos '.config'
Archivo de configuración encontrado: /ruta/al/directorio/config1.config
Contenido de /ruta/al/directorio/config1.config:
# Configuración importante
clave=valor

Archivo de configuración encontrado: /ruta/al/directorio/subdir/config3.config
Contenido de /ruta/al/directorio/subdir/config3.config:
# Otra configuración
opcion=si

4. Exposición de métricas de uso de memoria y monitoreo en Grafana

Amplía el sistema de monitoreo para que capture y reporte métricas avanzadas de uso de memoria:

  • Tasa de fragmentación: Calcula y expón un valor de fragmentación de memoria.
  • Uso de políticas de asignación: Registra la frecuencia de cada política de asignación (First Fit, Best Fit, Worst Fit) y reporta cuál es la más eficiente.
  • Integración en Grafana: Configura un nuevo panel en Grafana para visualizar el uso de memoria optimizado, permitiendo observar cómo las mejoras afectan el rendimiento.
Psss... abre aquí sólo si aceptas un desafío

5. El Misterio

Nuestros exploradores encontraron un antiguo pendrive en una sala de servidores abandonada. Los líderes del refugio creen que su contenido es de vital importancia para la supervivencia de todos, pero el acceso está cifrado. En su interior, encontraron solo un pendrive que tiene un archivo de texto, secret.txt, que contiene un mensaje codificado. Se sospecha que el mensaje contiene información crítica, pero nadie ha logrado descifrarlo.

secret.txt
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
0++7FV3uWrZwmyErumd1DuKXnBynP5bz1g93fIAd2fD7L/7Xx0/dofrse/96/WftqBy67a6cefrn
WObrgM7PDu6++/Pq2QD/H7xF/UVLnG+7RfncW5SvukV5xS3KO+C/eInzMeE59+RIH0gdH85ciMfb
evp644NDjcmheDwn7o764i2JZKKtY3AokYz6rN19vYloY1N3InVt6Svx5rHGeGtHb2N3x+ZETmtf
X05PY3d3X3NOW2Io0TuSMziU7E705nR3NDWrBvtUTI7T67ZY44SKUCHBXQbfn/0f0SM3pzdnng+G
H+34Aio3lj6ea//0sSj9XTmGhed/lX7AOtPC85njj42p7Z05KV7ILJ9mnc/WHz/OOp/Nz7/KOr8y
m/Dp96zMyVmgt+7KOr886/yqrPMrcm4vt5fby+3l9nJ7ub3cXm4vt5f/sxbXzD/d5dq74iM17O54
b2jZZ5+6Zj6864O565/RX4dLnxV/E9b355tgDx0Lrt0ff/UZLMVfRscIev/xU+H4TXSMoP4f3xOO
N8Nx66G59+3XP4XetX/FZbTh/zS0Bl5vSL/+C5/96v78rajcB+ktlN8klKeTaCP9d9fsP7ve/09G
1/t/Wu7K/YrrO/8+tBoecG/6AXd99qvW+/Nt8/f/l/vz/udWPQ2Xc4blMdeM/j8gR941+/uhe1x7
9Q/D+T9UQS3/0AKrrwiPya2Dexfc/8dRuBiDe4BYonc3w9k/rIEzrln7P8N3UPej5331D7/5d+HU
H1x74f/88a++av839KB/NO+1/5vrlGv/mtn7gJSv3rFq9ivCmTeFz/wfw78Sbsz99P5X70Lnmz+F
43+GY/xbs/+6e9WM/d9y4fTMnzaNvIYufO2DdNstaK3by+3l9nJ7ub3cXm4vt5fby+3l9nJ7ub3c
XpZeHmiKmSOr6yPVzorqctPqeGS1NeJ/yLO6vH51rSlYXrvuIUdNRd1qc0Wk2mwy162uqCgvN/2P
I+bVUWfMXB4zPxiqe/ChDbaYeWNlbWy9uSLsiIVWb1jd8C+74nWrw+b/cf7BUPxBR3nUHK2pecji
qDXbyk0x878c37jKY0d9r7nrl2tRXzbqo7v4nz/7zATbX8EWRRie+ufPPtuarufq9DZ3czgnd2xV
7vp7Vt51KDfVD74B/lem7825b5XjvnVl9989etfWHOOjWhlZJM7cb4P//VAu00eZk763Fv4XwLuE
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
QqMNI8j/BwktuYC+cAEA

Para añadir a la confusión, en la pared de la sala de servidores había una inscripción críptica que decía:

Si a %0.3pi sumas 0.10 y multiplicas por 100, la verdad se revelará.

La única ayuda que podemos ofrecerte es este documento que encontramos en los servidores

Los desarrolladores que trabajaron en esos servidores, no eran muy... avispados y su código puede que tenga errores. Por favor, ten cuidado, y paciencia para arreglar los errores que puedas encontrar.


Preguntas para el informe

  1. ¿Cuáles son las ventajas y desventajas de las políticas de asignación de memoria First Fit, Best Fit y Worst Fit en términos de eficiencia y fragmentación?
  2. ¿Cómo ayuda la compactación de bloques libres a reducir la fragmentación en un sistema de memoria? Describe el proceso implementado.
  3. Describe el funcionamiento y la utilidad de las funciones mmap y munmap en la gestión de memoria avanzada. ¿Cuándo es más conveniente usarlas en lugar de sbrk?
  4. ¿Por qué es importante monitorear la tasa de fragmentación de memoria en un sistema con recursos limitados?
  5. ¿Qué herramientas de debugging y análisis dinámico aprendiste a utilizar en este proyecto?

Evaluación

La evaluación se basará en:

  • Funcionalidad: Cumplimiento de todos los requisitos especificados.
  • Calidad del Código: Legibilidad, organización y adherencia a buenas prácticas.
  • Integración: Correcta interacción entre la shell y el programa de monitoreo.
  • Uso de Herramientas: Implementación efectiva de CMake.
  • Testing: Cobertura de pruebas y calidad de los tests.
  • Documentación: Calidad y claridad de la documentación generada.
  • Creatividad: Valoración de funcionalidades adicionales o mejoras implementadas.
  • Informe: Calidad y claridad de las respuestas a las preguntas planteadas.
  • Misterio: Descifrado del código oculto y explicación de la solución.
  • Entrega: Cumplimiento de los plazos y la estructura de entrega.
  • CI/CD: Uso de GitHub Actions para la integración continua.

Consideraciones Finales

Este proyecto profundiza en la gestión y optimización de memoria en un entorno crítico. La integración de técnicas avanzadas de debugging y exploración de filesystem permitirá al refugio mejorar su sistema operativo personalizado, maximizando la eficiencia y resiliencia de sus recursos limitados. La competencia en la administración de memoria y análisis de sistemas es esencial para mantener la infraestructura del refugio en óptimas condiciones.

¡Buena suerte, guardián de los recursos del refugio!

About

A CLI built from scratch with some nice features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published