Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Editar 0 1…
Introduccion
LINUX se distribuye bajo la GNU Public License: Ingles, por lo tanto, el código fuente tiene
que estar siempre accesible.
El sistema ha sido diseñado y programado por multitud de programadores alrededor del
mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linux
Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los
noventa.
Día a día, más y más programas / aplicaciones están disponibles para este sistema, y la
calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen
acompañados del código fuente y se distribuyen gratuitamente bajo los términos de licencia
de la GNU Public License.
En los últimos tiempos, ciertas casas de software comercial han empezado a distribuir sus
productos para Linux y la presencia del mismo en empresas aumenta rápidamente por la
excelente relación calidad - precio que se consigue con Linux.
Diseño
Linux es un sistema operativo completo con multitarea y multiusuario (como cualquier otra
versión de UNIX). Esto significa que pueden trabajar varios usuarios simultáneamente en él, y
que cada uno de ellos puede tener varios programas en ejecución.
El sistema Linux es compatible con ciertos estándares de UNIX a nivel de código fuente,
incluyendo el IEEE POSIX.1, Sistema V y BSD. Fue desarrollado buscando la portabilidad de
los fuentes: casi todo el software gratuito desarrollado para UNIX se compila en Linux sin
problemas. Y todo lo que se hace para Linux (código del núcleo, drivers, librerías y programas
de usuario) es de libre distribución.
En Linux también se implementa el control de trabajos POSIX (que se usa en los shells csh y
bash), las pseudoterminales (dispositivos pty), y teclados nacionales mediante manejadores
de teclado cargables dinámicamente. Además, soporta consolas virtuales, lo que permite
tener más de una sesión abierta en la consola de texto y conmutar entre ellas fácilmente. A
los usuarios del programa "screen" les resultará familiar esto.
El núcleo es capaz de emular por su cuenta las instrucciones del coprocesador 387, con lo
que en cualquier 386 con coprocesador o sin él se podrán ejecutar aplicaciones que lo
requieran.
Linux soporta diversos sistemas de ficheros para guardar los datos. Algunos de ellos, como el
ext2fs, han sido desarrollados específicamente para Linux. Otros sistemas de ficheros, como
el Minix-1 o el de Xenix también están soportados. Y con el de MS-DOS se podrán acceder
desde Linux a los disquetes y particiones en discos duros formateados con MS-DOS.
Además, también soporta el ISO-9660, que es el estándar seguido en el formato de los CD-
ROMs. Hablaremos más
Linux implementa todo lo necesario para trabajar en red con TCP/IP. Desde manejadores
para las tarjetas de red más populares hasta SLIP/PPP, que permiten acceder a una red
TCP/IP por el puerto serie. También se implementan PLIP (para comunicarse por el puerto de
la impresora) y NFS (para acceso remoto a ficheros). Y también se han portado los clientes de
TCP/IP, como FTP, telnet, NNTP y SMTP. Hablaremos más acerca de esto en el capítulo 5.
El núcleo de Linux ha sido desarrollado para utilizar las características del modo protegido de
los microprocesadores 80386 y 80486. En concreto, hace uso de la gestión de memoria
avanzada del modo protegido y otras características avanzadas.
Cualquiera que conozca la programación del 386 en el modo protegido sabrá que este modo
fue diseñado para su uso en UNIX (o tal vez Multics). Linux hace uso de esta funcionalidad
precisamente.
El núcleo soporta ejecutables con paginación por demanda. Esto significa que sólo los
segmentos del programa que se necesitan se cargan en memoria desde el disco. Las páginas
de los ejecutables son compartidas mediante la técnica copy-on-write, contribuyendo todo ello
a reducir la cantidad de memoria requerida para las aplicaciones.
Con el fin de incrementar la memoria disponible, Linux implementa la paginación con el disco:
Puede tener hasta 256 megabytes de espacio de intercambio o "swap" en el disco duro.
Cuando el sistema necesita más memoria, expulsará páginas inactivas al disco, permitiendo
la ejecución de programas más grandes o aumentando el número de usuarios que puede
atender a la vez. Sin embargo, el espacio de intercambio no puede suplir totalmente a la
memoria RAM, ya que el primero es mucho más lento que ésta.
La memoria dedicada a los programas y a la cache de disco está unificada. Por ello, si en
cierto momento hay mucha memoria libre, el tamaño de la cache de disco aumentará
acelerando así los accesos.
Los ejecutables hacen uso de las librerías de enlace dinámico. Esto significa que los
ejecutables comparten el código común de las librerías en un único fichero, como sucede en
SunOS. Así, los ejecutables serán más cortos a la hora de guardarlos en el disco, incluyendo
aquellos que hagan uso de muchas funciones de librería. También pueden enlazarse
estáticamente cuando se deseen ejecutables que no requieran la presencia de las librerías
dinámicas en el sistema. El enlace dinámico se hace en tiempo de ejecución, con lo que el
programador puede cambiar las librerías sin necesidad de recopilación de los ejecutables.
Para facilitar la depuración de los programas, el núcleo de Linux puede generar volcados de la
imagen de memoria de los programas (ficheros core). Entre esto y la posibilidad de compilar
ejecutables con soporte de depuración, el programador podrá averiguar la causa de los fallos
de su programa.
Las funciones principales de este sistema operativo son:
Sistema multitarea En Linux es posible ejecutar varios programas a la vez sin necesidad de
tener que parar la ejecución de cada aplicación.
Sistema multiusuario Varios usuarios pueden acceder a las aplicaciones y recursos del
sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios
programas a la vez (multitarea).
Shell programables Un Shell conecta las ordenes de un usuario con el Kernel de Linux (el
núcleo del sistema), y al ser programables se puede modificar para adaptarlo a tus
necesidades. Por ejemplo, es muy útil para realizar procesos en segundo plano.
Independencia de dispositivos Linux admite cualquier tipo de dispositivo (módems,
impresoras) gracias a que cada una vez instalado uno nuevo, se añade al Kernel el enlace o
controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux
posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos.
Comunicaciones Linux es el sistema más flexible para poder conectarse a cualquier
ordenador del mundo. Internet se creó y desarrollo dentro del mundo de Unix, y por lo tanto
Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas
prácticamente idénticos. Con Linux podrá montar un servidor en su propia casa sin tener que
pagar las enormes cantidades de dinero que piden otros sistemas.
Programación
user-1525753