You are on page 1of 16

LINUX

Sistemas de archivos y Sistemas de


Entrada/Salida
Introduccin
Hardware
Caractersticas
El sistema de Archivos
Dispositivos de entrada-salida
Redireccionamiento De Entrada / Salida
Conclusin
Introduccin
LINUX es un sistema operativo, compatible con UNIX. Dos
caractersticas muy peculiares lo diferencian del resto de los sistemas que
podemos encontrar en el mercado, la primera, es que es libre, esto significa
que no tenemos que pagar ningn tipo de licencia a ninguna casa
desarrolladora de software por el uso del mismo, la segunda, es que el
sistema viene acompaado del cdigo fuente. El sistema lo forman el
ncleo del sistema (kernel) mas un gran nmero de programas / libreras
que hacen posible su utilizacin.
El sistema ha sido diseado y programado por multitud de
programadores alrededor del mundo. El ncleo del sistema sigue en
continuo desarrollo bajo la coordinacin de Linus Torvalds, la persona de
la que parti la idea de este proyecto, a principios de la dcada de los
noventa.
Da a da, ms y ms programas / aplicaciones estn disponibles
para este sistema, y la calidad de los mismos aumenta de versin a
versin. La gran mayora de los mismos vienen acompaados del cdigo
fuente y se distribuyen gratuitamente bajo los trminos 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 rpidamente por la excelente relacin
calidad-precio que se consigue con Linux.
Las plataformas en las que en un principio se puede utilizar Linux
son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambin
existen versiones para su utilizacin en otras plataformas, como Alpha,
ARM, MIPS, PowerPC y SPARC.
ir a pagina principal
Hardware
Linux puede ser utilizado sobre mltiples arquitecturas de
ordenadores, (Digital, Solaris, ...) si bien en estas pginas revisaremos los
parmetros esenciales de la ms tpica: intel386.
Procesador


Es necesario un procesador Intel 386 o superior. Puede utilizar
procesadores compatibles (p.ej. AMD) que dan las mismas prestaciones y
son ms baratos.
Hoy en da no encontrar ordenadores nuevos con menos de un Pentium
o un K6. De este modo, cualquier procesador es suficientemente potente
para Linux.
En cuanto a los Megahercios, slo necesitar un modelo de gama alta si
va a dedicar el equipo a un servidor.
Memoria


Aunque con 8 megas es suficiente, le recomendamos emplear el
mximo de memoria que pueda, especialmente si instala XWindows y
aplicaciones ofimticas.
Con 64 Megas obtendr buenos rendimientos.
Disco Duro
Linux acepta discos IDE y SCSI, que es tanto como decir que vale
cualquier disco. Con un giga de disco es ms que suficiente para
instalarlo, no obstante dado el precio actual de los discos le
recomendamos adquirir ordenadores con al menos 8 gigas de disco.
Otros dispositivos de almacenamiento
Todas las distribuciones incorporan de forma automtica mdulos
para gestionar disqueteras y unidades de CD-ROM. Adems, no tendr
problemas para utilizar disquetes u otras particiones de disco en formato
MS-DOS o Windows (FAT16, FAT32 y NT). No obstante, si desea emplear
otros dispositivos menos comunes (unidades de CD de lectura/escritura,
unidades ZIP, cintas) deber instalar explcitamente los mdulos
necesarios. Si su distribucin no dispusiese de los mismos, puede
descargrselos por Internet.
Swap
El espacio de Swap es una parte del disco duro que Linux emplea
cuando la memoria principal RAM es insuficiente. Incluso si dispone de
una memoria RAM amplia, el sistema puede necesitar espacio extra
temporalmente. A la hora de instalar defina o bien el doble de su
memoria principal o bien 128 megas como espacio de Swap.
Mdem
Como regla general, evite los mdem internos: actualmente la
mayora son WinModem en mayor o menor medida. Esto significa que
para funcionar deben consumir parte de la potencia de su PC y adems
que slo funcionan con Windows. Le recomendamos que evite los
winmodem incluso si va a utilizar Windows, a menos que tenga un
verdadero problema de presupuesto.
Los mdem externos no suelen dar problemas con Linux y, por otra
parte, en caso de error de comunicaciones se pueden reiniciar fcilmente.
Tarjetas de red
En general, las tarjetas Ethernet no le darn problemas. Otros tipos
de tarjetas tambin se encuentran soportadas, pero puede que su
distribucin no instale automticamente los mdulos de control.
Tarjeta Grfica
Prcticamente todas las tarjetas grficas tradicionales sirven para
Linux, aunque no todas las ms modernas disponen de un servidor X
actualizado.
En el peor de los casos deber configurar una tarjeta de ltima generacin
como si fuese una simple SVGA. Consulte en XFree la disponibilidad de
servidores X para su tarjeta.
Impresoras
La mayora de los programas en Linux generan sus listados o
informes o bien como texto puro o bien como PostScript. (texto ASCII).
As, todas las impresoras PostScript funcionan sin problemas con Linux.
Para las restantes impresoras, existen conversores de PostScript al
formato nativo de la impresora. Obviamente, no todas las impresoras
estn contempladas, pero la mayora se ajusta a alguno de los estndares
ms reconocidos (Epson, IBM, HP, ...)
ir a pagina principal
Caractersticas
Multitarea: La palabra multitarea describe la habilidad de ejecutar varios
programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la
cual asegura que todos los programas que se estn utilizando en un momento
dado sern ejecutados, siendo el sistema operativo el encargado de ceder
tiempo de microprocesador a cada programa.
Multiusuario: Muchos usuarios usando la misma mquina al mismo tiempo.
Multiplataforma: Las plataformas en las que en un principio se puede
utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y
Atari, tambin existen versiones para su utilizacin en otras plataformas,
como Alpha, ARM, MIPS, PowerPC y SPARC.
Multiprocesador: Soporte para sistemas con mas de un procesador esta
disponible para Intel y SPARC.
Funciona en modo protegido 386.
Proteccin de la memoria entre procesos, de manera que uno de ellos no pueda
colgar el sistema.
Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes
de un programa que estn siendo usadas actualmente.
Poltica de copia en escritura para la comparticin de pginas entre
ejecutables: esto significa que varios procesos pueden usar la misma zona de
memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la
pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en
escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de
memoria.
Memoria virtual usando paginacin (sin intercambio de procesos
completos) a disco: A una particin o un archivo en el sistema de archivos, o
ambos, con la posibilidad de aadir ms reas de intercambio sobre la
marcha Un total de 16 zonas de intercambio de 128Mb de tamao mximo
pueden ser usadas en un momento dado con un lmite terico de 2Gb para
intercambio. Este limite se puede aumentar fcilmente con el cambio de unas
cuantas lneas en el cdigo fuente.
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.
Libreras compartidas de carga dinmica (DLL's) y libreras estticas.
Se realizan volcados de estado (core dumps) para posibilitar los anlisis post-
mortem, permitiendo el uso de depuradores sobre los programas no slo en
ejecucin sino tambin tras abortar stos por cualquier motivo.
Compatible con POSIX, System V y BSD a nivel fuente.
Emulacin de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4
a nivel binario. (emulacin : dispositivo, hardware, que se usa para trabajar
como otro; una terminal)
Todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos
los drivers, las herramientas de desarrollo y todos los programas de usuario;
adems todo ello se puede distribuir libremente. Hay algunos programas
comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo
fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.
Control de tareas POSIX.
Emulacin de 387 en el ncleo, de tal forma que los programas no tengan que
hacer su propia emulacin matemtica. Cualquier mquina que ejecute Linux
parecer dotada de coprocesador matemtico. Por supuesto, si el ordenador
ya tiene una FPU (unidad de coma flotante), esta ser usada en lugar de la
emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin
matemtica y conseguir un pequeo ahorro de memoria.
Soporte para muchos teclados nacionales o adaptados y es bastante fcil
aadir nuevos dinmicamente.
Consolas virtuales mltiples: varias sesiones de login a travs de la consola
entre las que se puede cambiar con las combinaciones adecuadas de teclas
(totalmente independiente del hardware de video). Se crean dinmicamente
y puedes tener hasta 64.
Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y
todos los sistemas de archivo tpicos de System V, y tiene un avanzado
sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de
archivos de hasta 255 caracteres de longitud.
Un sistema de archivos especial llamado UMSDOS que permite que Linux
sea instalado en un sistema de archivos DOS.
Sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-
ROM.
TCP/IP, incluyendo ftp, telnet, NFS, etc.
Appletalk (construccin de una mquina para que funcione como otra).
Software cliente y servidor Netware.
ir a pagina principal
El sistema de Archivos
El sistema de archivos UNIX est caracterizado por:
Una estructura jerrquica. Un tratamiento consistente de la
informacin de los archivos.
Proteccin de los archivos. Este estndar del sistema de
archivos Linux sigue el mismo principio bsico que la mayora de los
sistemas de archivos UNIX
Definir dos categorizaciones ortogonales de archivos: Compartibles
vs. no compartibles, y variables vs. estticos.
La informacin compatible es aquella que puede ser compartida
entre varias mquinas diferentes; la no compartible es aquella que debe
ser local a una mquina particular. Por ejemplo. Los directorios hogar de
los usuarios son compartibles, pero los archivos de bloqueo de
dispositivo (lock files) son no compartibles.
La informacin esttica incluye binarios, libreras, documentacin y
todo aquello que no cambia sin la intervencin del administrador del
sistema. La informacin variable es todo lo que cambia sin la
intervencin del administrador.
El entendimiento de estos principios bsicos ayudar a guiar la
estructura, a lo largo de este documento, y en cualquier sistema de
archivos bien planeado, esto brindar consistencia adicional.
La distincin entre informacin compartible y no compartible es
necesaria por varias razones:
En un ambiente de red (i.e. ms de un host en un site), existe una
buena cantidad de informacin que se puede compartir entre diferentes
mquinas para ahorrar espacio y facilitar la tarea de administracin.
La distincin "compatible" puede ser usada para soportar, por ejemplo:
Una particin /usr (o componentes de /usr) montada (slo-lectura) a travs
de la red (usando NFS).
Una particin /usr (o componentes de /usr) montada desde medios de slo-
lectura. Un CD-ROM puede ser considerado como un sistema de archivos
slo-lectura compartido con otros sistemas Linux utilizando el sistema de
correo como una red.
El Directorio Raz
bin Binarios de comandos esenciales

boot Archivos estticos de cargador de arranque(boot-loader)

dev Archivos de dispositivos

etc Configuracin del sistema local-mquina

home Directorios home de los usuarios

lib Libreras compartidas

mnt Punto de montaje de particiones temporales

root Directorio hogar del usuario root

sbin Binarios del sistema esenciales

tmp Archivos temporales

usr Segunda jerarqua mayor

var Informacin variable

Cada directorio listado ser discutido en detalle en una subseccin
separada ms delante. /usr y /var, cada uno tiene en su propia seccin en
este documento.
La jerarqua /usr
usr es la segunda mayor seccin del sistema de archivos. /usr es
/informacin compartible, de slo-lectura, esto significa que /usr, debe
ser compatible entre varias mquinas que corren Linux y no se
debe escribir. Cualquier informacin que es local a una mquina o vara
con el tiempo, se almacena en otro lugar.
/usr --- Segundo mayor punto de montaje (permanente)

bin La mayora de los comandos de usuario

dict Listas de palabras

doc Documentacin miscelnea

etc Configuracin del Sistema (todo el site)

games Juegos y binarios educacionales

include Archivos header incluidos por programas C

info Directorio primario del sistema GNU Info

lib Libreras

local Jerarqua local (vaca justo despus de la instalacin
principal)

man Manuales en lnea

sbir Binarios de Administracin del Sistema No-Vitales

share Informacin independiente de la arquitectura

src Cdigo fuente

La Jerarqua /var
/var Informacin variable

adm Info administrativa del sistema (obsoleto).
Enlace simblico hacia /var/log

catman Pginas del manual formateadas localmente

lib Informacin del estado de aplicaciones

local Informacin variable del software de /usr/local

lock Archivos de bloqueo

log Archivos de bitcora

named Archivos DNS, slo red

nis Archivos base de datos NIS

preserve Archivos almacenados despus de una falla de ex
vi

run Archivos relevantes a procesos ejecutndose

spool Directorios de trabajos en fila para realizarse despus

tmp Archivos temporales, utilizado para mantener /tmp
pequeo

/var contiene archivos con informacin variable. Esto incluye
archivos y /directorios en fila de ejecucin, informacin de bitcora
administrativa y /archivos temporales y transitorios. Algunas porciones
de /var son no-compartibles entre diferentes sistemas. Por ejemplo,
/var/log, /var/lock y /var/run. Otras porciones son compartibles,
notablemente /var/spool/mail y /var/spool/news.
/var se especifica aqu para hacer posible el montar /usr slo-
lectura. /Todo aquello que alguna vez fue en /usr que es escrito durante
la operacin /normal del sistema (pero no durante la instalacin y el
mantenimiento del /software) debe ir en /var.
Si /var no puede ser una participacin separada, es preferible mover /var
fuera de la participacin raz pero dentro de la particin /usr (esto se hace algunas
veces para reducir el tamao de la particin raz o cuando hay poco espacio en la
particin raz). Como sea, /var no debe ser enlazada a /usr, porque hace que la
separacin entre /usr y /var sea ms difcil y seguramente crear un conflicto de
nombres, En vez enlace /var a / usr/var.
ir a pagina principal
Dispositivos de entrada-salida.
En Linux las entradas / salidas sobre un dispositivo se hacen gracias
a los archivos situados en el directorio /dev/. Cada uno de ellos se
identifica por un nombre (por ejemplo, hdapara el primer disco duro del
controlador IDE) pero sobre todo por dos nicos nmeros: mayor y menor.
Estos archivos especiales son de dos tipos : caracteres (terminal, impresora,
etc) obloques (disco por ejemplo).
Es muy importante conocer estos archivos. Las diferentes
distribuciones (Slackware, jurix, SLS, etc) crean estos archivos. Ciertas
versiones pueden generar estos archivos de maneara incorrecta
(Slackware). Igualmente, resulta intil crear los archivos necesarios para
la utilizacin de dispositivos de un tipo dado si no se dispone de la tarjeta
adecuada.
Para crear un archivo especial, es suficiente la orden mknod Nom_Archivo
Tipo Mayor Menor.
Dentro del directorio /dev tambin existe un archivo de comandos
llamado MAKEDEV, el cual permite crear archivos especiales sin utilizar
directamente mknod.
El sistema operativo maneja todas las operaciones de entrada-salida. La
atencin de los dispositivos de entrada-salida requieren de mucho esfuerzo por
parte de la computadora, por lo tanto se deben realizar de forma eficiente.
Existen 3 tcnicas de atender los dispositivos de entrada-salida:
Encuestas (Polling).
Tcnica utilizada para dispositivos lentos. El dispositivo deber tener una
bandera que indica si esta ocupado o listo, el procesador entrara en un bucle en
el cual consultara ese bit cada cierto tiempo. El procesador se pasa mucho
tiempo dentro de un bucle esperando que los dispositivos estn listos, por lo
tanto, esta tcnica es ineficiente.
Interrupciones.
El procesador y el dispositivo realizan tareas simultneamente, cuando el
dispositivo termino alguna tarea le avisa al procesador mediante una
interrupcin. Este mtodo es eficiente.
Acceso directo a memoria (DMA).
Este mtodo se utiliza para aquellos dispositivos capaces de transmitir o
recibir datos a alta velocidad, como por ejemplo los discos. El controlador del
dispositivo transfiere bloques de datos desde su buffer a la memoria principal
sin la intervencin del procesador.
ir a pagina principal
Redireccionamiento De Entrada / Salida
Cualquier comando de UNIX necesita recibir informacin de algn
"lugar" y enviar los resultados del procesamiento a algn "lugar", as
como los mensajes de error. Estos "lugares" se llaman, respectivamente,
STANDAR INPUT, STANDAR OUTPUT y STANDAR ERROR.
El STANDAR INPUT se refiere al medio desde el cual
el comando recibe la informacin.
De forma similar, el STANDAR OUTPUT se refiere al
lugar que el comando enva la salida. Cuando se redireccionan
los datos el comando recibe o enva la informacin desde otra
fuente.
El STANDAR ERROR se refiere al medio al que se
mandan los mensajes de los errores que se cometen al ejecutar
un comando.
Normalmente (aunque depende de cada comando), el standar input
es el teclado, y el standar output y el standar error es la pantalla.
Redireccionamiento De La Salida
El smbolo para redireccionar la salida es: > y se utiliza de la
siguiente forma:

comando > nombre_fichero
Algunas Precauciones Que Se Deben Tener Al Redireccionar La Salida
Veamos 2 problemas que pueden ocurrir si accidentalmente
cometemos un error:
A.- Redireccionar La Salida A Un Fichero Ya Existente

Cuando se redirecciona una salida, el sistema UNIX crea un fichero
con el nombre especificado. Cuando el fichero no existe, al redireccionar
la salida a l crea uno nuevo; pero si el fichero existe borra su contenido y
reescribe encima. Afortunadamente, existe una manera de prevenir
borrar ficheros de esta forma sin darnos cuenta, utilizando el comando:

set noclobber
Si tecleamos este comando antes de redireccionar la salida, en el caso
de que el fichero donde se enva la salida ya exista, aparecer en la
pantalla el siguiente mensaje:
nombre del fichero file exists y no "machacara" el contenido del fichero.
El comando set noclobber evita que se :
redireccione una salida a un fichero ya existente
aada un fichero a otro que no existe.
El comando slo es efectivo para la sesin en que se teclee. Si se
quiere que permanezca de forma permanente, hay que incluir el comando
set noclobber en el fichero .cshrc. del Home directory.
Si en algn momento se quisiera quitar esta proteccin, hay que
teclear >!.
B.- Redireccionar La Salida A Un Fichero Utilizado Como Entrada.
Veamos con un ejemplo lo que ocurre cuando se redirecciona la
salida al fichero utilizado como entrada.
%cat frutas
pltano
naranja
manzana
%sort frutas>frutas
%cat frutas
%
Figura 7.2.

Observemos que cuando se ejecuta el comando sort el UNIX borra el
contenido del fichero frutas y crea un fichero nuevo de nombre frutas, por
lo que cuando va a ordenar alfabticamente el fichero frutas, y ste est
vaco. Por lo tanto, hay que tener cuidado de no redireccionar la salida al
fichero utilizado como entrada, pues se perdera la informacin.
Aadir La Salida De Un Comando A Un Fichero
Se puede aadir la salida de un comando al final de un fichero ya
existente sin borrar su contenido. El smbolo que se utiliza para ello es >>
; se har de la siguiente forma:

comando>>nombre_fichero
Redireccionamiento Del Standar Error
Para redireccionar el standar output y el standar error a un fichero,
se utilizan los smbolos >& de la forma siguiente:

comando >& nombre_fichero
Para aadir la salida de un comando, as como los mensajes de error a un
fichero, se utilizan los smbolos >>& de la siguiente manera:
comando >>& nombre_fichero

Redireccionamiento De La Entrada
El smbolo para redireccionar la entrada es < y se utiliza de la
siguiente manera:

comando < nombre_fichero
Si se quiere utilizar como entrada parte del contenido de un fichero,
habra que poner en el fichero un "string", que puede ser cualquier
smbolo excepto, zzFunyzz.
Pipes: Transferencia De Datos
El sistema UNIX permite transferir datos entre diferentes procesos
(comandos). Este proceso se llama " piping", pues "pipe" es el nombre que
se le da al smbolo utilizado para transferir datos.

El smbolo para "piping" es | y se utiliza de la siguiente manera:

comando_1 | comando_2 | comando_3 |
......
Es decir, el comando_2 utiliza como entrada los resultados obtenidos por
el comando_1; la salida del comando_2 se utiliza como entrada del
comando_3, y as sucesivamente.
Utilizando pipes no es necesario utilizar ficheros temporales ni hacer
pasos intermedios para obtener la informacin que se desea. Por ejemplo,
si ponemos:
who | sort | lpr
entonces la lista de usuarios conectados al sistema se ordenan
alfabticamente y se imprime (ordenada) por la impresora del sistema.

Filtros
Un filtro es cualquier comando situado entre dos pipes y manipula
los datos obtenidos por un comando previo antes de utilizarse por el
comando situado a continuacin del filtro. Una lnea de comando puede
contener varios filtros.

En el ejemplo:
who | sort | lpr
el comando sort acta como filtro.

Comando tee

Cuando despus de un pipe aparece el comando tee la redireccin de
la salida la hace a dos sitios, a un fichero especificado y al standar output:

comando | comando | tee nombre_fichero | comando |
......
En el ejemplo:
who | sort | tee listin | more
la lista de usuarios ordenada alfabticamente, aparece por pantalla y
se almacena en el fichero listin
ir a pagina principal
Conclusin
LINUX puede emplearse en una gran cantidad de aplicaciones. Desde manejo
de redes, pasando por desarrollo de software hasta llegar a ser una plataforma de
trabajo para el usuario final. Es adems, una excelente alternativa de bajo costo
frente a otros sistemas operativos de precio mas elevado. Soporta una amplia gama
de programas incluyendo X-WINDOWS, Redes TCP/IP y juegos tan populares
como DOOM. Tambin se encuentra aplicaciones para servidores de archivos ( File
Servers ) , Web Servers, FTP y en desarrollo emuladores que permitirn correr
aplicaciones DOS y WINDOWS sobre la plataforma LINUX .
No existen muchas aplicaciones comerciales para LINUX, pero de todas
maneras las grandes empresas se inclinan hacia este tipo de sistema operativo.

You might also like