FUNDAMENTOS PARA DISTRIBUCION EN LINUX
Enviado por ANGELFIRE_MUSIC • 5 de Octubre de 2013 • 10.527 Palabras (43 Páginas) • 242 Visitas
CONTENIDO
INTRODUCCION 4
OBJETIVOS 5
OBJETIVO GENERAL 5
OBJETIVOS ESPECIFICOS 5
UBUNTU - LINUX 6
1. Gestión de Procesos 7
2. Gestión de Memoria 13
3. Gestión Dispositivos de Entrada/Salida 16
4. REQUERIMIENTOS PARA LA CREACION DE UNA 19
DISTRIBUCION DE LINUX 19
4.1 Partición dedicada 19
4.2 Particiones Adicionales 20
4.3 Creación de Ficheros en la Partición 20
4.4 Paquetes y Parches 21
4.5 Configuración del Entorno 25
4.6 Ejecución de Bancos de Pruebas 25
4.7 Construcción de un Sistema Temporal 26
4.8 Compilación 26
5. INSTALACIÓN DEL SOFTWARE DEL SISTEMA BASE 27
6. PREPARACIÓN DE SISTEMAS DE ARCHIVOS VIRTUALES DEL KERNEL 27
6.1. La creación de nodos iniciales del dispositivo 28
6.2. Montar sistemas de archivos virtuales del kernel 28
7. GESTIÓN DE PAQUETES 28
7.1. Técnicas de gestión de paquetes 28
8. ENCABEZADOS API 31
8.1. Instalación de Linux API encabezados 31
9. CONCLUSIONES 47
10. BIBLIOGRAFIA 48
INTRODUCCION
Hasta este punto el concepto de “Sistema Operativo” había sido visto para nosotros como un tabú, algo que no queríamos, no podíamos y no necesitamos tocar, a través del desarrollo de las clase teoricos practicas y las diferentes investigaciones, hemos llegado a romper el paradigma y entrarnos en sus bases fundamentales y coincidir la idea que estas bases están abiertas a todos nosotros, que existe una razón de ser en cuanto al funcionamiento de un computador se refiere. Un esquema o plataforma como los hes Linux, elcual su código es abierto y libre brinda la posibilidad de explorar, experimentar y crear un sistema operativo creados de acuerdo a nuestras perspectivas, sin depender de grandes expertos en el tema de creación o invención de un sistema operativo. Recurriremos a mecanismos y herramientas que hoy en día facilitan la construcción y la definición de muchos sistemas operativos. El sistema se construirá utilizando una distribución Linux ya instalado (como Ubuntu Debian, Mandriva, Red Hat, o SUSE). Este sistema Linux existente será utilizado como punto de partida para proporcionar programas necesarios, incluyendo un compilador, enlazador, y su modelo, para construir el nuevo sistema.
OBJETIVOS
Con esta investigación se pretende buscar cómo crear una nueva partición nativa Linux y el sistema de archivos. Este es el lugar donde el nuevo sistema será compilado e instalado. Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su instalación que es parte de los objetivos de esta investigación.
OBJETIVO GENERAL
Experimentar el proceso de creación de un versión de sistemas operativo creado por nosotros (distribución). Como alternativa a la instalación de nuestra distribución independiente en cualquier máquina, es posible que desee utilizar un CD de una distribución de tipo comercial.
OBJETIVOS ESPECIFICOS
El contenido del trabajo de investigación explica qué paquetes y parches deben ser descargados para construir el sistema y cómo guardarlos en el nuevo sistema de archivos. Se analiza la configuración de un entorno de trabajo adecuado, la instalación de una serie de paquetes que formarán el entorno básico de desarrollo (o toolchain) que se utiliza para construir el sistema real. De igual manera se hace referencia a la gestion de paquetes que son necesarios para resolver dependencias circulares, abarcando el proceso de compiladores. Posteriormente nos enfocaremos en cómo construir un primer paso de la cadena de herramientas, incluyendo Binutils y GCC . El siguiente paso es construir Glibc, la librería C. Glibc será compilado por los programas de las herramientas construidas en la primera sesión del desarrollo del sistema. Seguidamente se construirá un segundo paso de la cadena de herramientas. En este instante el toolchain estará vinculado dinámicamente con la Glibc construido inmediatamente antes. Los paquetes restantes son construidos con esta segunda fase de las herramientas. Cuando se han cumplido esta serie de pasos, el proceso de instalación del sistema a crear ya no dependerá de la distribución de host, con la excepción del núcleo en ejecución.
UBUNTU - LINUX
Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente enfocado a ordenadores de escritorio aunque también proporciona soporte para servidores.
Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad en la restricción de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth.
El nombre de la distribución proviene del concepto zulú y xhosa de ubuntu, que significa “humanidad hacia otros” o “yo soy porque nosotros somos”. Ubuntu es un movimiento sudafricano encabezado por el obispo Desmond Tutu, quien ganó el Premio Nobel de la Paz en 1984 por sus luchas en contra del Apartheid en Sudáfrica. El sudafricano Mark Shuttleworth, mecenas del proyecto, se encontraba muy familiarizado con la corriente. Tras ver similitudes entre los ideales de los proyectos GNU, Debian y en general con el movimiento del software libre, decidió aprovechar la ocasión para difundir los ideales de Ubuntu. El eslogan de Ubuntu – “Linux para seres humanos” (en inglés “Linux for Human Beings”) – resume una de sus metas principales: hacer de Linux un sistema operativo más accesible y fácil de usar.
1. Gestión de Procesos
Linux es un sistema multiproceso. Para que Linux pueda gestionar los procesos en el sistema, cada proceso se representa por una estructura de datos task_struct . El vector task es una lista de punteros a cada estructura task_struct en el sistema. Esto quiere decir que el máximo número de procesos en el sistema está limitado por el tamaño del vector task; por defecto tiene 512 entradas. A medida que se crean procesos, se crean nuevas estructuras task_struct a partir de la memoria del sistema y se añaden al vector task. Para encontrar fácilmente el proceso en ejecución, hay un puntero (current) que apunta a este proceso. Linux soporta procesos de tiempo
...