Tutorial


Haciendo un poco de limpieza en mi disco he encontrado un material de un curso de introducción a Linux que hice en 2007 (si, ya sé que es muy antiguo) basado en la distribución Mandriva. Aunque la parte de la instalación ya se haya quedado algo obsoleta, la verdad es que creo que el resto de temas, que intenté hacer un poco más independiente de la distribución, pueden ser interesantes.

Así que he pensado en colgarlo aquí, quizá le pueda servir como lectura curiosa a alguien o simplemente para ver como han evolucionado las distribuciones en estos años. Puede que echéis en falta el tema 4: no lo hay! El tema 4 era el dedicado al escritorio y era práctico, así que no hay “temario” como tal de esa parte.

Anuncios

Traducido del original de M.Tim Jones (mtj@mtjones.com) y que se pueden encontrar en el servicio de documentación técnica de IBM.

Una visita guiada desde el Registro Maestro de Arranque (Master Boot Record) hasta la primera aplicación en el espacio de usuario

31 May 2006

El proceso de arranque de un sistema Linux® consiste de un número de fases. Pero tanto si estás arrancando un escritorio estándar x86 como si tu objetivo es el altamente empotrado PowerPC®, mucho del flujo es sorprendentemente similar. Este artículo explora el proceso de arranque de Linux desde su fase de lanzamiento hasta el inicio del primer espacio de usuario de una aplicación. Por el camino, veremos otros diversos temas relacionados con el arranque tales como cargadores de arranque, descompresión del núcleo, el disco RAM inicial, y otros elementos del arranque Linux.

En los viejos tiempos, el proceso de arranque de una computadora significaba alimentar una cinta de papel que contenía el programa de arranque o manualmente cargar un programa de arranque usando el panel frontal de interruptores de direcciones/datos/control. Los equipos actuales vienen equipados con utilidades que simplifican el proceso de arranque, pero que no lo hacen necesariamente simple.

Empecemos con una vista de alto nivel de un arranque Linux de manera que tengamos una vista amplia. Despues revisaremos que sucede en cada uno de los pasos individuales. Las referencias a las fuentes durante el proceso ayudarán a navegar el árbol del núcleo e investigar en profundidad.

(más…)

Tras la decepción inicial, y a pesar de que no todo se puede considerar tiempo perdido ya que algo he aprendido sobre el OpenFirmware y como arranca el Mac, he creido que era necesario no desistir y tratar de conseguir el objetivo: tener una distribución de Ubuntu instalada en un USB para reutilizar mi portátil y darle una segunda vida (pero sin eliminar de momento la instalación de OSX)

Buscando, buscando, encuentro un foro donde indican que, en lugar de volcar la imagen en la primera partición se haga directamente en el dispositivo, es decir:

sudo dd if=fichero-imagen.iso of=/dev/disk2      
     # en lugar de /dev/disk2s1

Una vez termina, vuelvo a probar y LA COSA CAMBIA!!! Empieza a cargar algo, la pantalla se vacia y un par de segundos después vuelvo a la consola de OpenFirmware pero con el siguiente mensaje:

Can’t OPEN: cd:\install\yaboot

Algo es algo, parece que he dado un paso adelante… sólo falta llegar al yaboot 🙂

(más…)

He tratado de instalarme nuevos navegadores en mi iBook G4 (si, ya sé que es toda una reliquia, pero me funciona perfectamente para lo que lo necesito, o al menos hasta hace poco así era) para probar algunas de las novedades de HTML5 y CSS3, pero todo ha sido en valde… No puedo actualizar Opera (necesito OSX 10.5), no puedo actualizar Firefox (ahora tengo la 3.6.15, me pide también OSX 10.5 para pasar a la siguiente), no puedo actualizar Safari (sigo con la 4.1 y el impedimento es el mismo), no puedo por supuesto instalarme un InternetExplorer (por razones evidentes) y no puedo instalarme ninguna versión de Chrome (también necesita la 10.5)

Tampoco he podido en algunas ocasiones instalar otra aplicaciones de escritorio por el mismo motivo, aunque en realidad es porque en la versión 10.5 se incluye el JavaVM 1.6 (que no está disponible oficialmente para Tiger)

Sin embargo, y viendo que el problema era la versión de Java pensé que tal vez había una esperanza… y buscando, buscando encontré un port de Java para Tiger (soylatte), que incluso se puede compilar (porque la que ofrece el desarrollador es para intel). Y si! Se puede instalar y tengo el ejecutable de java, pero no el Framework (al menos no organizado al “estilo MacOS”) y por tanto las aplicaciones se siguen quejando de lo mismo (aunque en la consola me diga: java version “1.6.0_03-p3”)

Ya casi me había rendido cuando se me ocurrió…. ¿¿¿ Y si me descargo un ubuntu en un pendrive y arranco desde el usb??? debería ser posible… pues manos a la obra!!

(más…)

[Traducido del artículo original de M.Tim Jones del 30 de octubre de 2007 para IBM]

Una revisión por capas basada en la estructura

Cuando se trata de sistemas de ficheros, Linux® es la navaja suiza de los sistemas operativos. Linux soporta un gran número de sistemas de ficheros, desde sistemas con diario (journaling) a clustering o criptográficos. Linux es una maravillosa plataforma para usar sistemas de ficheros estándar o los más exóticos, e incluso para el desarrollo de sistemas de ficheros. Este artículo explora el sistema de ficheros virtual (VFS por sus siglas en inglés) —algunas veces llamado el sistema de ficheros conmutador (switch) — en el kernel de Linux y después revisa algunas de las principales  estructuras que mantienen los sistemas de ficheros unidos.

Leer el resto del artículo…

   Bueno, con este título seguramente no queda muy claro de que va esto, pero seguro que estás de acuerdo conmigo en lo bonito que es compartir, es algo que de pequeñitos nos enseñan que es mucho mejor que ser egoista y querer las cosas sólo para uno mismo. Y esa idea la hemos llevado al mundo interconectado de hoy en dia donde un ordenador no tiene sentido por si solo, si no tienes acceso al mundo exterior o a recursos compartidos con los demás, de que sirve. Pues de eso va todo esto, de como compartir teniendo en cuenta que todos somos diferentes pero no por ello deben tener unos preferencia sobre los otros.
   No estoy filosofando sobre la naturaleza humana aunque lo pueda parecer, sino sobre los diferentes sistemas operativos y protocolos de compartición de ficheros que existen hoy en dia y de como cada uno tiene sus propias preferencias por uno u otro protocolo a la hora de definir lo que es un recurso compartido (curiosamente cada uno considera que la forma “natural” de compartir es el protocolo propio de su plataforma). Lo ideal sería que, independientemente del sistema operativo que usemos, podamos tener acceso a los recursos de forma totalmente transparente y que luego se presenten en cada sitio adaptados a las condiciones especiales de cada uno. Ésta es la idea detrás del protocolo HTTP, pensado e ideado para compartir información en forma de documentos de texto facilmente accesibles desde cualquier navegador sobre cualquier plataforma: un documento en particular debería poder accederse y obtener el mismo resultado independientemente de la presentación final, pero en esencia el contenido será siempre el mismo.
   Si esto es algo natural para los documentos, ¿porqué no lo es para los ficheros?

Seguir leyendo…

Empiezo con éste una serie de artículos, traducidos de los originales de M.Tim Jones (mtj@mtjones.com) y que se pueden encontrar en el servicio de documentación técnica de IBM. Algunos de ellos ya tienen algunos meses de antigüedad, lamentablemente los he descubierto recientemente a partir del último publicado, pero los voy a ir traduciendo en el orden cronológico de publicación intentando traducir uno cada semana.

Puesto que muchas veces la designación técnica de algunos elementos y algoritmos descritos en estos artículos suele ser la inglesa, sin que exista una traducción válida, adjuntaré a cada traducción literal que haga de estos conceptos el nombre original en inglés.

Y una vez expuestos estos dos puntos, empiezo con el cuerpo del artículo original.

 

Anatomía del asignador de losas (slab allocator) de Linux

[artículo original]

Un buen rendimiento del sistema operativo depende en parte de la habilidad del propio sistema para gestionar eficientemente los recursos. En los viejos tiempos, los gestores de pila (heap memory managers) eran la norma, pero el rendimiento se veia afectado por la fragmentación y la necesidad de reasignar memoria. Hoy, el núcleo de Linux® usa un método que fue originado en Solaris pero que ha sido usado en sistemas empotrados durante algún tiempo ya, asignando memoria como objetos basándose en su tamaño. Éste artículo explora las ideas tras el asignador de losas (slab allocator) y examina sus interfaces y sus usos.

Leer el resto del artículo…

Página siguiente »