• No results found

CHAPTER 5. DATA COLLECTION AND ANALYSIS

5.3 Survey Constructs and Items Data Analysis

Según la investigación de Carlos Torres y Elena Ballano, en cuanto a la evaluación de memoria RAM: “Existen políticas descritas en lo que se refiere a la gestión de la memoria: unas se apoyan en las funciones que les ofrecen los procesadores para controlar las direcciones de memoria mientras que otras aplican sus propios algoritmos” [50]. El sistema de gestión de Linux hace uso de las ventajas de la segmentación y de los circuitos de los procesadores para traducir direcciones [51]. Además gestiona niveles de memoria principal y secundaria estos son: paginación, por demanda y por expulsión [50]. Una porción de memoria RAM está permanentemente asignada al núcleo, la cual es utilizada para almacenar el código y estructuras de datos estáticas del mismo. La parte restante de memoria RAM se denomina memoria dinámica, y ésta es asignada sólo cuando es estrictamente necesaria y liberada tan pronto como sea posible. Para aumentar la eficiencia se ha definido un mecanismo en el cual las páginas (espacio contiguo de direcciones de tamaño fijo que tiene una dirección base y atributos) son agrupadas en marcos (espacio de la memoria principal) de tamaño fijo. Para reemplazar páginas, se utiliza el algoritmo del reloj, en el cual tienen asignada una variable de

60

edad. Cuando es necesario sustituir una página, la que no ha sido referenciada en bastante tiempo es la mejor candidata a ser reemplazada [51].

Cuando un proceso se ejecuta en Windows, el sistema establece un espacio de direcciones virtuales propio de 32 bits, que permite habilitar un espacio de hasta 4 gigabytes de memoria. Éste está formado por la suma de la memoria RAM instalada, más la memoria virtual asignada. No todos los procesos caben en esta memoria a la vez, debido a que existen muchos de ellos o su tamaño es demasiado grande. Cuando esto sucede, Windows alterna la permanencia de éstos en memoria, sacando unos y poniendo otros para que todos puedan ejecutarse. Utiliza la memoria virtual asignada a cada proceso para guardar los datos cada vez que se saca de la memoria RAM, a éste intercambio entre memoria física y memoria virtual se le conoce como swapping [50]. Mientras que en Linux el swapping se da cuando “expulsa” un proceso (swap

out) copiando su imagen a una área de intercambio, de acuerdo

a diversos criterios como prioridad o preferencia y cuando existe espacio en la memoria principal, se intercambian los procesos a la misma copiando la información desde el área de intercambio

61

Debido a la gestión diferente de la memoria RAM por parte de cada sistema operativo, se seleccionaron programas de medición compatibles. Para el caso de Linux, tuvimos dos ambientes en los que trabajan los programas de medición, líneas de comandos e interfaz gráfica. En el ambiente de líneas de comandos se usó el programa sar, el cual es una de las herramientas que recoge, muestra y guarda la información de la actividad del sistema ya sea esta de CPU, memoria, discos, interrupciones, interfaces de red, tablas del núcleo, entre otras [52]. Se puede especificar parámetros para seleccionar que información acerca del sistema se desea mostrar. En el caso de requerir un informe de memoria usada que conste de cinco muestras; tomada cada dos segundos, sería requerido el comando que se muestra en la Figura 4.1.

Figura 4.1 Comando para medir consumo de memoria RAM con la herramienta sar

Para la ejecución de esta herramienta se implementó un script personalizado, al mismo que lo denominamos ram.sh, para estandarizar parámetros y automatizar la obtención de resultados, el mismo puede verse en el Anexo C.

62

En el ambiente gráfico en los entornos Linux se utilizó el programa hardinfo, que permite obtener información sobre el sistema operativo, generar informes en formato HTML o texto plano de la utilización de hardware, y ejecutar ciertas pruebas

benchmark [53].

Figura 4.2 Captura de hardinfo del consumo de memoria RAM

Como podemos apreciar en la Figura 4.2, existen en la parte izquierda tres secciones principales: computer, devices y benchmark. En computer podemos encontrar detalladamente información básica del sistema como es: la versión del núcleo, sistema de archivo utilizado, usuarios del sistema entre otras características; en devices encontramos la descripción del hardware como es: tipo de procesador, memoria RAM,

63

dispositivos PCI, entre otros; finalmente en benchmark se puede ejecutar cierta pruebas como CPU blowfish, CPU

cryptohash, CPU fibonacci, entre otras. Nosotros nos

centraremos en la sección de memoria RAM de devices, la misma que nos permite ver de forma dinámica la memoria consumida por el sistema.

Igualmente que en el caso del comando sar, se implementó un script personalizado denominado ramGUI.sh, para realizar la captura de imágenes de forma automática. En el cual se añadió el paquete ImageMagick, que permite crear, editar, componer, convertir o capturar imágenes [54]. El código del mismo se puede encontrar en el Anexo C.

Como mencionamos anteriormente existen herramientas de medición propias de cada sistema; en el caso de Windows se utilizó el Administrador de tareas, el cual nos permite ver los programas, procesos y servicios que está ejecutando el sistema. Además de supervisar el rendimiento del equipo a nivel de memoria y capacidad de procesador, ver el estado de la red y qué usuarios están conectados a la PC [49].

64

Figura 4.3 Captura del Administrador de tareas de Windows.

En la Figura 4.3, en la sección inferior observamos el número procesos en ejecución, el porcentaje usado del procesador, y el porcentaje de memoria utilizada; en la sección superior encontramos varias pestañas: aplicaciones, procesos, servicios, rendimiento, funciones de red y usuarios. Siendo la de mayor interés para nuestro estudio la de Rendimiento; la cual muestra dos gráficos en tiempo real (una representa el uso del procesador y la otra la memoria en uso) junto con varios detalles como el tiempo que el sistema ha estado funcionando y la cantidad de memoria virtual disponible.

65