Principales Características de los Sistemas Linux
·
Funciona en modo protegido 386.
·
Protección de la memoria entre procesos, de manera
que uno de ellos no pueda colgar el sistema.
·
Carga de ejecutables por demanda: Linux sólo lee
del disco aquellas partes de un programa que están siendo usadas actualmente.
·
Política de copia en escritura para la comparición
de páginas entre ejecutables: esto significa que varios procesos pueden usar la
misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa
memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de
copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso
de memoria.
·
La memoria se gestiona como un recurso unificado para
los programas de usuario y para el caché de disco, de tal forma que toda la
memoria libre puede ser usada para caché y ésta puede a su vez ser reducida
cuando se ejecuten grandes programas.
·
Soporte para muchos teclados nacionales o adaptados
y es bastante fácil añadir nuevos dinámicamente.
Funciones
Linux es un Sistema Operativo tipo Unix diseñado
para aprovechar al máximo las capacidades de las computadoras PC basadas en el
microprocesador i386 y posteriores. Es un SO con capacidades de
multiprocesamiento, multitarea y multiusuario. Sin embargo, a diferencia de
otros sistemas Unix para PC, usted no tiene que pagar cuantiosas licencias por
el uso de Linux.
Al apegarse a las normas POSIX mantiene un máximo de
compatibilidad con otras variantes de los sistemas operativos UNIX.
Multiusuario: Permite que más de una sola
persona pueda trabajar en la misma versión de la misma aplicación de manera
simultánea, desde las mismas terminales, o en terminales separadas.
Multitarea: Describe la habilidad de ejecutar, aparentemente al
mismo tiempo, numerosos programas sin obstaculizar la ejecución de cada aplicación.
Esto se conoce como multitarea preferente, porque cada programa tiene
garantizada la posibilidad de correr.
Redes y
Telecomunicaciones:La superioridad de Linux sobre otros sistemas
operativos es evidente en sus utilerías para redes y comunicaciones. Ningún
otro sistema operativo incluye capacidades para red tan estrechamente
acopladas. Linux soporta las siguientes interfaces de red: ethernet, fddi,
token ring, arcnet, X.25, ISDN, líneas seriales síncronas y asíncronas.
- Internet :Con Linux
usted puede conectarse a Internet y al vasto mundo de información que esta red
abarca. Correo Electrónico, Listas de Correo, Grupos de Interés, Búsqueda y
Transferencia de Archivos, Gopher, WAIS, y por supuesto, World Wide Web.
- Interconectividad: Puede
conectar Linux a una red local, y convertirlo en servidor para MS-DOS, Windows,
Windows para Trabajo en Grupo (WfW), Windows 95 y Macintosh por un costo muy
por debajo de otros sistemas comerciales.
- Programación :Linux
cuenta con un conjunto poderoso de herramientas para el desarrollo de
programas: C, C++, ObjectiveC, Pascal, Fortran, BASIC, CLISP, SmallTalk, Ada,
Perl, así como depuradores y bibliotecas compartidas de enlace dinámico (DLL).
- Portabilidad: Linux fue
diseñado teniendo en cuenta la portabilidad de las aplicaciones. Es compatible
con diversos estándares Unix, tales como System V, BSD y los estándares
internacionales IEEE POSIX.1 e IEEE POSIX.2, facilitando el desarrollo de
aplicaciones para múltiples plataformas.
- Ambiente
Gráfico: Proporciona la capacidad de ejecutar aplicaciones
gráficas mediante una red heterogénea al incorporar la revisión 6 del estándar
X11 del MIT, conocido también simplemente como X-Window. Con el hardware
adecuado, las Estaciones de Trabajo Linux son una alternativa de bajo costo a
las Estaciones de Trabajo de alto rendimiento.
Poder RISC : Si su
organización necesita verdadero poder de cómputo Linux corre en computadoras
basadas en microprocesadores RISC como Alpha AXP, Sparc, PowerPC y MIPS. Ningún
otro sistema operativo soporta una gama tan amplia de plataformas.
- Poderosas herramientas de desarrollo
Linux es una plataforma ideal para el desarrollo de
aplicaciones y la experimentación de nuevos lenguajes. Como parte de la
instalación encontramos diversos compiladores incluidos C, C++, Fortran,
Pascal, LISP, Ada, Basic y Smalltalk. Muchos de los compiladores de Linux,
herramientas, debugers y editores son de la Free Software Foundation (Fundación
para el Software Libre).
Linux se ha distinguido por su estabilidad de operación,
se han conocido y comentado muchos casos de equipo trabajando por más de un año
sin tener que apagar o reiniciarlo.
Los equipos Linux también se han distinguido por su
extraordinaria velocidad. El sistema operativo administra eficientemente los
recursos como memoria, poder de CPU y espacio en disco.
Linux usa extensivamente las librerías dinámicas
compartidas. Estas librerías utilizan una sección común para todos los
ejecutables, reduciendo el tamaño de la aplicación.
Si más de una copia de una aplicación o programa es
cargado a memoria para ejecución, (para un usuario que realiza varias tareas
similares o por varios usuarios), todas las tareas pueden compartir la misma
área de memoria.
Este proceso de ejecutables compartidos (shared executables)
hace un uso eficiente de memoria RAM.
El kernel de linux soporta demanda de paginación, para
los programas muy extensos significa el que sólo una sección del programa es
cargado a memoria.
Y para optimizar aún más la memoria Linux, usa un sólo
espacio “pool” de memoria, y esto permite el uso de la memoria restante para
poner secciones del disco permitiendo un acceso rápido a programas de uso común
(disk cache).
Espacio de Swap (swap space)
Para soportar de manera simulada grandes cantidades de
memoria para los diversos requerimientos cuando sólo tenemos una cantidad
pequeña de memoria física RAM. Linux soporta espacio de swap, que le permite
escribir secciones de memoria en espacios reservados de disco para extender la
cantidad disponible al usuario.
Diferentes sistemas de archivos (file systems)
Linux soporta varios formatos de sistemas de archivos
para compartir información. El propio sistema de archivos ext3, está diseñado
para hacer un uso óptimo del espacio en el disco duro. Y el reciente ext4
mejora la eficiencia en velocidad e integridad de la información.
Construcción Modularizada o Monolítica
El sistema operativo Linux puede ser compilado con los
drivers en forma de módulos los cuales al ser necesarios pueden ser incluidos y
se acoplan en el corazón del sistema operativo reconociendo el hardware para el
cual fueron diseñados.
Para dar velocidad al sistema operativo se puede compilar
el kernel con todos los drivers necesarios para todo el hardware del equipo en
el cual se cargará y construir un sistema operativo que no necesite incluir
módulos.
Componentes de Linux
El sistema operativo Linux consiste en cuatro componentes
principales: el kernel o núcleo, el shell, los comandos y el sistema de
archivos. Cada componente se describe a continuación.
Kernel o núcleo
El kernel es la parte del sistema operativo que
interactúa directamente con el hardware de la computadora. Ofrece un conjunto
de servicios que aísla a los programas de aplicaciones del tipo de hardware en
el que se está ejecutando. Se le considera el administrador, o el núcleo del
sistema operativo porque administra la memoria, el tiempo de procesamiento,
mantiene el sistema de archivos, maneja las interrupciones y errores, y
controla las entradas y salidas.
Shell
El programa shell lee los comandos alimentados por el
usuario, los interpreta y manda una petición de ejecución del programa. Puesto
que realiza esta tarea, se le llama intérprete de comandos. Además de ser el
intérprete de comandos es también un lenguaje de programación que permite el
controlar la ejecución de comandos. Un shell es asignado a cada usuario por el
administrador al momento de creación de la cuenta. El administrador puede
cambiar el shell del usuario en cualquier momento.
Comandos y Aplicaciones
El sistema Linux cuenta con cientos de programas de
utilería o comandos. También se les conoce como herramientas puesto que pueden
ser usados en varias formas para completar un trabajo. Una ventaja del sistema
operativo Linux es la facilidad de instalación de nuevos comandos o
aplicaciones. El shell sólo necesita saber en donde se encuentran y estos los
pueden asignar los usuarios.