Instalando programas en Linux con dpkg

Si bien, las distribuciones Linux cada vez hacen más sencilla la instalación de aplicaciones mediante sistemas como el Centro de Software Ubuntu a veces podemos encontrarnos con la necesidad de instalar alguna aplicación que no se encuentra disponible mediante estos sistemas y deberemos recurrir a otros sistemas más «artesanales».

En las distribuciones basadas en Debian, como es el caso de Ubuntu, el gestor de paquetes con el cual podremos instalar esos programas en nuestro ordenador responde al comando dpkg. Si escribís en una ventana de terminal man dpkg obtendréis toda la ayuda referente a este comando. Para ello, primeramente deberemos descargarnos los paquetes .deb que necesitaremos para instalar nuestra aplicación. Algunas aplicaciones requieren de varios paquetes para su correcto funcionamiento, incluso alguno correspondientes a otras aplicaciones, por lo que se hace necesario asegurarse de disponer de todos los paquetes para poder hacer la instalación correctamente. La forma más sencilla y habitual de usar este comando sería como sigue: dpkg -i nombre_paquete.deb (o si tenemos varios paquetes y queremos instalarlos todos de una sola vez dpkg -i *.deb, suponiendo por supuesto que están todos juntos en el mismo directorio). Del resto se ocupa el gestor de paquetes, para ello sigue los siguientes pasos:

  1. Extraer los ficheros de control del nuevo paquete.
  2. Si hay una versión del mismo paquete instalada en nuestro sistema se ejecuta un script de pre-eliminación de ese paquete antiguo.
  3. En caso que existiese el paquete se ejecuta el script de pre-instalación.
  4. Se  desempaquetan los nuevos ficheros y se hace una copia de seguridad de los anteriores por si hay algún fallo durante el proceso.
  5. Si existía otra versión del paquete anterior, se ejecuta el script post-eliminación.
  6. Finalmente se configura el nuevo paquete.

En caso de no haber ningún fallo tendremos los nuevos paquetes correctamente instalados en nuestro sistema y ya tendremos nuestra aplicación instalada.

Memoria, caches y como afectan al rendimiento de nuestro equipo

Cuando uno estudia la carrera de informática (seguramente al igual que pueda suceder en otras carreras), a veces recibe mucha información de la que desconoce cual es su aplicación real. También sucede que muchas veces oímos publicidades o informaciones con cosas que están ahí, pero no sabemos muy bien para que sirven y como nos afectan. Hoy vamos a hablar de algo que para los entendidos de informática es muy conocido, pero que quizás para el resto de usuarios es desconocido por completo o solo saben de su existencia. Vamos a hablar de las memorias y la cache.

Muchas veces cuando a un usuario de ordenador le dices que su ordenador necesita memoria, contestará rápidamente con un «pero si tengo 500GB de memoria». Sin duda ese usuario, desconoce lo que es la memoria de su ordenador, al no saber diferenciarla de lo que sería el almacenamiento de su ordenador (el disco duro). La memoria está ahí, ¿pero para que? Pues bien, la memoria, es la que le permite al ordenador ejecutar todos los programas del ordenador (y aquí hablamos tanto de los que ejecutamos nosotros como los servicios del sistema operativo o programas que se ejecutan sin nuestra intervención). Para que estos funcionen, el sistema operativo necesita cargar sus datos en memoria. Es más, el propio sistema operativo, carga en memoria sus servicios que le permiten funcionar, así pues sin la memoria nuestro ordenador nunca funcionaría.

Dentro de lo que es la memoria, tenemos que diferenciar entre la memoria Cache y la Memoria RAM. La primera, va integrada en la placa base mientras que la segunda (que es también la más conocida, y muy resaltada por fabricantes en sus anuncios) se añade a esta y se puede cambiar o ampliar según necesitemos. Como consecuencia, la memoria Cache es más rápida que la memoria RAM, y cuando decimos, que es más rápida podemos hablar de que esta puede ser entre 10 y 20 veces más rápida. Esto implica que cuando se utiliza la memoria Cache el ordenador funcionaría más rápido que si estamos usando la memoria RAM. Pero la memoria Cache también tiene un handicap, y es que se trata de una memoria de un coste mucho más elevado, por lo que su cantidad suele ser mucho menor en nuestro ordenador. Así pues la memoria Cache se utilizaría para aplicaciones importantes y de uso inmediato, para que puedan ejecutarse lo más rápidamente posible. Dentro de la memoria Cache suelen existir al menos dos niveles de cache, llamados Cache L1 y Cache L2 (algunos ordenadores ya incluyen memoria cache de nivel 3, pero son los menos). La Cache L1 es más rápida que la L2, pero se suele disponer de más cache L2 que es más barata, que de Cache L1 que es más cara.

Pero como ya hemos indicado, las memorias tienen una capacidad limitada, más acusada en el caso de la Cache. Así pues, el sistema iría utilizando la memoria hasta que se use toda. Dicha utilización se suele hacer de forma escalonada intentando utilizar siempre la memoria más rápida, aunque también hay criterios de prioridad que determinan que tipo de memoria se usa. Pero cuando abrimos varios programas nuestro ordenador puede encontrarse con que no dispone de la memoria suficiente para cargar los datos de todos los programas, ¿entonces que hace? En este caso, el sistema operativo debe pasar a usar el disco duro de nuestro ordenador. ¿Para qué? Pues lo que hace, es volcar parte del contenido de la memoria en el disco duro, para dejar espacio para los nuevos datos que necesita. Evidentemente aquí entrarían criterios del diseño del sistema operativo que no vamos a entrar a detallar, pero básicamente lo que hace es pasar datos de memoria que no va a utilizar de forma inmediata (por ejemplo una aplicación en segundo plano) al disco duro y luego carga los datos que necesita en memoria. Una vez usados esos datos, volvería a recuperar los datos que guardó en el disco duro.

Ahora bien, este proceso es excesivamente más lento, porque los discos duros tienen unas velocidades de acceso mucho menores que la memoria (casi 300 veces más lenta). Así pues como se puede ver, el ordenador va haciendo un uso de los recursos de más rápidos a más lentos. Pero cuando nuestro ordenador tiene muy poca memoria (tanto Cache como RAM) nos encontramos ante un importante cuello de botella, porque el ordenador estará continuamente accediendo a nuestro disco duro lo cual supone una perdida de rendimiento considerable.

Así pues, como consejo inicial se puede decir que cuanta más memoria mejor. Es más, para un mejor rendimiento no necesitamos un disco duro con más capacidad, sino más memoria. Luego conviene analizar todos los programas que se están ejecutando en nuestro ordenador y ver que programas consumen más memoria, a veces podemos encontrarnos con que podemos deshabilitar ciertos programas o servicios que no usamos y que están consumiendo mucha memoria. y por último apuntar como podemos ver la memoria que se está consumiendo en nuestro ordenador. Si contamos con windows por una parte, el administrador de tareas cuenta con la pestaña de rendimiento y por otro lado en el panel de control dentro de herramientas administrativas está el visor de recursos, con ambos podremos comprobar si nuestro ordenador está falto de memoria (hemos visto casos, donde solo tras iniciar el ordenador el ordenador ya está con cerca de 0MB de memoria disponible y por ejemplo tras ampliar la memoria 1GB, aproximadamente la mitad de esa memoria ya estaba consumida nada más iniciar windows, con lo cual podemos ver que el ordenador estaba necesitando medio GB más del que tenía y este se estaba usando a través del disco duro lo cual hacía que el sistema sufriese una lentitud exagerada).

Por último, queremos dejar dos listas con los datos de velocidades de acceso de las caches, de la ram y disco duro de dos equipos para que veáis que las diferencias pueden ser realmente grandes.

Equipo 1
Cache L1: 28099 MB/S
Cache L2: 13039 MB/S
RAM: 3364 MB/S
HDD: 111 MB/S

Equipo 2
Cache L1: 20988 MB/S
Cache L2: 9239 MB/S
RAM: 1037 MB/S
Disco duro: 50 MB/S