Está en la página 1de 31

1

A).- Operacin del sistema operativo multiusuario sobre


Linux
Introduccin al sistema operativo Linux.
La historia de los sistemas operativos (OS) comienza en los aos 50, con
simples pruebas probando programas batch los cuales son programas que no
interactan con el usuario en absoluto. Lee todas las entradas de un fichero y
enva todas las salidas a otro fichero (normalmente una impresora). As era como
los ordenadores solan trabajar.
A los principios de los sesenta, esto empez a cambiar. Se idearon los
sistemas para que varios usuarios pudieran estar usando el mismo ordenador
desde distintos terminales. Dichos sistemas se llamaron de tiempo compartido y
eran bastante ms complejos que los anteriores sistemas batch.
Durante el resto de los sesenta hubo muchos intentos de construir sistemas
de tiempo. Muchos fueron proyectos de investigacin de universidades y otros
puramente comerciales. Uno de los ms innovadores en aquel momento fue el
proyecto Multics. Tena, por ejemplo, un sistema de ficheros jerrquico, lo cual se
ha utilizado en sistemas operativos ms modernos.
Linux solamente es el Kernel del sistema operativo. El Kernel es la parte
que hace que los programas funcionen, es decir, es la base donde todo lo dems
opera. Habilita tareas de multiusuario, gestin de dispositivos hardware y permite
a las aplicaciones realizar sus funciones. Linux dispone adems de un intrprete
de comandos (shell) que permite interactuar con el OS y escribir scripts, que son
pequeos programas para automatizar tareas.
Linux es un sistema operativo multitarea y multiusuario, basado en Unix, de
cdigo libre y puede trabajar en mltiples plataformas hardware.
Como se ha comentado, una de las cosas que hace a Linux tan potente es
su capacidad multitarea y multiusuario. Linux, al igual que Unix, fue diseado
desde el principio para correr mltiples procesos independientes entre ellos. Para
realizar esto se necesita una buena gestin de la memoria.

Para instalar Linux tienes primero que elegir una distribucin. Una distribucin
Linux es el Kernel ms un programa de instalacin, y algunas aplicaciones
personalizadas que hacen todas las funciones. Hay cientos de estas
distribuciones, algunas ms populares que otras.


2
Sistema de ficheros de Linux
En primer lugar vamos a definir un sistema de ficheros como la organizacin
lgica de un dispositivo que nos permite almacenar y recuperar informacin en
forma de fichero. Existen diversos tipos de sistemas de ficheros, es decir
diferentes formas de organizar la informacin en un dispositivo, normalmente
discos. Entre los ms habituales tenemos:
Ext2, ext3 Es el sistema de ficheros nativo de Linux. Se organiza en un
sper bloque, i-nodos y rea de datos. Este tipo de sistema de ficheros admite
caractersticas multiusuario para indicar los permisos y la propiedad de ficheros y
directorios.
vfat 12, 16 y 32 Es el sistema de ficheros usados por la gama baja de las
plataformas win32. No admite caractersticas multiusuario como propiedad de
ficheros. Estos tipos de sistemas de ficheros se basan en un directorio y una tabla
de localizacin que dependiendo del tamao de cada elemento se denomina FAT
12, 16 o 32. Linux los admite sin ningn problema, aunque siempre es preferible
usar ext2.
iso9660 Es el sistema de ficheros propio de los CDROM.
Ms dos Anlogo a los sistemas FAT, aunque slo admite ficheros con
nombre 8+3.
Pues bien, para contener ficheros necesitamos crear un sistema de ficheros
en la particin. Para esto disponemos de la orden mkfs, a la cual le tendremos que
indicar el tipo de sistema, con la opcin -t y el dispositivo en el que quermos
crearla. Por ejemplo, para crear un sistema de ficheros en la segunda particin del
tercer disco duro ide, pondremos:
mkfs -t ext2 /dev/hdc2
A estas alturas el lector se debe imaginar que al crear un nuevo sistema de
ficheros en una particin se borra el contenido previo de dicha particin.
Al crear un sistema de ficheros se crea automticamente el
directorio lost+found. Este directorio lo utiliza el sistema para guardar la
informacin perdida cuando se deteriora el sistema de ficheros correspondiente.
Verificar un sistema de ficheros: fsck
En ciertas ocasiones es necesario verificar la integridad del sistema de
ficheros y corregir los posibles errores que hubiese. Esta accin la realiza la
orden fsck.

3
Interprete de comandos de Linux: Shell
El intrprete de comandos es la interfaz entre el usuario y el sistema
operativo. Por esta razn, se le da el nombre ingls "shell", que significa
"caparazn".
Por lo tanto, la shell acta como un intermediario entre el sistema operativo
y el usuario gracias a lneas de comando que este ltimo introduce. Su funcin es
la de leer la lnea de comandos, interpretar su significado, llevar a cabo el
comando y despus arrojar el resultado por medio de las salidas.
La shell es un archivo ejecutable que debe interpretar los comandos,
transmitirlos al sistema y arrojar el resultado. Existen varios shells. La ms comn
es sh (llamada "Bourne shell"), bash ("Bourne again shell"), csh ("C
Shell"), Tcsh ("Tenex C shell"), ksh ("Korn shell") y zsh ("Zero shell").
Generalmente, sus nombres coinciden con el nombre del ejecutable.
Cada usuario tiene una shell predeterminada, la cual se activar cuando se
abra un indicador del comando. La shell predeterminada se especifica en el
archivo de configuracin /etc/passwd en el ltimo campo de la lnea que
corresponde al usuario. Es posible cambiar de shell durante una sesin. Para esto,
slo debe ejecutar el archivo ejecutable correspondiente, por ejemplo:
/bin/bash
Indicador del sistema
La shell se inicia al leer su configuracin completa (en un archivo del
directorio /etc. /) y despus al leer la configuracin propia del usuario (en un
archivo oculto cuyo nombre comienza con un punto que se ubica en el directorio
bsico del usuario, es decir /home/user_name/.configuration_file). A continuacin,
aparece el siguiente indicador (prompt en ingls):
Equipo: /directorio/actual$
De manera predeterminada, para la mayora de las shells, el indicador
consiste en el nombre del equipo, seguido de dos puntos (:), el directorio actual y
despus un carcter que indica el tipo de usuario conectado:
"$" especifica un usuario normal
"#" especifica el administrador, llamado "root"


4
Principales ordenes de Linux:
ls : Listar archivos y directorios
cp : Copiar archivos y directorios
pwd : Mostrar el nombre del directorio de trabajo actual
cd : Cambiar de directorio
sort : Ordenar ficheros
mkdir : Crear directorios
touch : Crear o actualizar ficheros
rm : Borrar archivos y/o directorios
rmdir : Borrar directorios vacios
mv : Mover o renombrar archivos
more : Muestra ficheros pgina a pgina
less : Muestra Ficheros pgina a pgina
cat : Mostrar ficheros de forma continua
head : Ver el inicio de un archivo
tail : Ver las ltimas lneas de un archivo
find : Buscar archivos
grep : Buscar el patrn pasado como argumento en uno o ms archivos
wc : Calcular la cantidad de cadenas y palabras en archivos
ln : Crea enlace entre ficheros













5
Configuracin del entorno (variables)
Hay varios mtodos para aadir variables de entorno en linux. Normalmente
existen diferentes scripts que se ejecutan en diferentes eventos, por ejemplo,
cuando un usuario se ingresa en el sistema se ejecuta un archivo llamado .bashrc.
Este es un archivo de sistema que se encuentra en la carpeta del usuario
/home/usuario/.bashrc
Este script es un buen lugar para aadir la variable de entorno. Aunque
tambin existen otros sitios.
En este ejemplo veremos cmo aadir una ruta a la variable de entorno
PATH, que es una variable comn para asignar rutas de aplicaciones y comandos
que se instalan en el sistema.
Podemos usar cualquier editor para modificar los datos, por ejemplo
Para evitar sobre escribir esta variable (es posible que se haya definido en
otro sitio), podemos hacerlo de aadiendo esta lnea al final del archivo
Entorno grfico: x Windows- x11
Se trata de la herramienta de software para el desarrollo de interfaces
grficas de usuario (GUI's) para estaciones de trabajo. Una GUI es en pocas
palabras una interfaz usuario / computadora que se ejecuta en modo grfico. X-
Windows para Linux y para todos los sistemas ms basados es UNIX lo que MS
Windows es para los sistemas basados en DOS. Con una gran diferencia, que X-
Windows es un estndar para los sistemas de ventanas basados en UNIX. Esta
estandarizacin supone que cualquier interfaz GUI puede ser ejecutada en
cualquier computadora e incluso en varias a la vez. Ms informacin en [SHV+93].
El sistema X Windows se encarga de mostrar la informacin grfica, est
construido con arquitectura cliente-servidor y es una capa totalmente
independiente del Sistema Operativo. Cuando instalemos en una mquina el
sistema X Windows se instalarn tres componentes:
El servidor X: es el servidor grfico.
El display manager: se encarga del login grfico.
El cliente X (o Windows manager): es el cliente grfico.



6
Gestores de ventanas: clientes de x11
Un gestor de ventanas no es otra cosa que el conjunto de programas,
ventanas, funcionalidades que hacen posible que el usuario pueda interactuar con
el sistema de forma grfica y no en modo texto.

Para usar un gestor de ventanas, hay que tener configurado un servidor X.
Tambin hay que decir que el gestor de ventanas utilizado es totalmente
independiente del servidor X utilizado.

Gestor de ventanas
|
|
Cliente X
|
|
Xlib
|
|
Servidor X
|
|
Sistema operativo

Al contrario que en otros sistemas operativos, en Linux no es necesario utilizar un
servidor X - gestor de ventanas para usar el sistema. El sistema operativo y el
conjunto servidor X - gestor de ventanas usado, son cosas totalmente diferentes,
independientes entre s. Es ms, existen usuarios que trabajan en modo texto sin
ningn problema y sin usar un interfaz grfico.

Existen numerosos y variados gestores de ventanas para Linux, unos mejores y
otros ms desarrollados y estables. Es el usuario el que tiene que decidir que
gestor satisface mejor sus necesidades, pudiendo incluso tener ms de uno
instalado. Para aclarar un poco las cosas, podramos decir que, si un ordenador es
usado por varios usuarios, todos utilizaran el mismo servidor X pero no
necesariamente el mismo gestor de ventanas.




7
Procesos de Linux: tipos y estado
Interactivos (primer o segundo plano): un proceso que corre en primer plano
("fg" de foreground) normalmente es aqul que introducimos por teclado y
podemos ver por pantalla en una ventana de terminal. Una consola concreta est
bloqueada cuando un proceso est en primer plano, mientras que si est en
segundo plano la consola est libre y podemos teclear comandos en ella mientras
se sigue ejecutando el proceso en segundo plano. Un proceso ejecutndose en
primer plano puede ser cancelado con Ctrl+C, en cambio para cancelar un
proceso en segundo plano ser necesario utilizar el comando kill.

- Encolados o batch

- Demonios (daemons): son procesos que se ejecutan en segundo plano pero no
interactivos. Son programas que se encargan de gestionar y administrar el
sistema, de forma transparente para el usuario (crond, atd, pppd, ...).
Hay una cola sencilla de procesos. Cada entrada de la cola esun puntero a
un proceso en particular. Cuando un proceso se interrumpe, se le pasa a la cola
de procesos en espera. Por otra parte, si un proceso termina o se abandona, se le
descarta del sistema (sale del sistema). En cualquier caso, el distribuidor
selecciona entonces un proceso de la cola para ejecutarlo.
Seales entre procesos
Las seales de Unix no son ms que unos mecanismos que permiten
informar a los procesos de eventos que han sido provocados, por ellos mismos o
por otros procesos. Es comparable con la gestin de interrupciones lgicas.
Cuando le llega una seal a un proceso el sistema interrumpe la ejecucin normal
del proceso (o de cualquier funcin o llamada que este hubiera realizado) para
ejecutar la funcin de desviacin.
Las seales se representan mediante unas constantes definidas en el
archivo de cabecera <signal.h y tienen el formato siguiente: SIGXXX.
Las seales se pueden generar de varias maneras:
Excepcin hardware
Llamada al sistema kill
Evento gestionado por el ncleo (alarmas)
Interaccin del usuario y el terminal (Ctrl-z)

8
Tareas programadas
Las tareas programadas en Linux se llevan a cabo con crontab. Podemos
distinguir entre crontab, que sera el programa en s, y cron, que es el demonio
encargado de ejecutar las tareas programadas. en principio, crontab viene
instalado por defecto en las distros que he probado (Suse, Debian, RedHat,...) por
lo que me saltar la parte de la instalacin. Antes de continuar, comentar que
usar para desarrollar el ejercicio una shell, insistiendo en el mayor potencial que
aporta sobre una GUI (Graphic User Interface). De todos modos, tambin tenis la
posibilidad de usar aplicaciones grficas, por ejemplo, kron. Sobre el comando
crontab, su sintaxis es la siguiente:SYNOPSIS crontab [ -u user ] file crontab [ -u
user ] { -l | -r | -e }
-l : muestra por pantalla las tareas programadas del usuario indicado con la
opcin -u, o si se omite dicho parmetro, del usuario logueado en el sistema.
-r: elimina las tareas del usuario indicado o del que est logueado.
-e: edita el fichero en el que se indican las tareas a ejecutar















9
B).- Manejo del sistema de archivos, discos y otros
dispositivos.
Los sistemas de archivos soportados por Linux
Linux soporta una gran cantidad de tipos diferentes de sistemas de
archivos. Para nuestros propsitos los ms importantes son:
minix
El ms antiguo y supuestamente el ms fiable, pero muy limitado en
caractersticas (algunas marcas de tiempo se pierden, 30 caracteres de longitud
mxima para los nombres de los archivos) y restringido en capacidad (como
mucho 64 MB de tamao por sistema de archivos).
xia
Una versin modificada del sistema de archivos minix que eleva los lmites
de nombres de archivos y tamao del sistema de archivos, pero por otro lado no
introduce caractersticas nuevas. No es muy popular, pero se ha verificado que
funciona muy bien.
Ext3
El sistema de archivos ext3 posee todas las propiedades del sistema de
archivos ext2. La diferencia es que se ha aadido una bitcora (journaling). Esto
mejora el rendimiento y el tiempo de recuperacin en el caso de una cada del
sistema. Se ha vuelto ms popular que el ext2.
Ext2
El ms sistema de archivos nativo Linux que posee la mayor cantidad de
caractersticas. Est diseado para ser compatible con diseos futuros, as que las
nuevas versiones del cdigo del sistema de archivos no necesitarn rehacer los
sistemas de archivos existentes.
ext
Una versin antigua de ext2 que no es compatible en el futuro. Casi nunca
se utiliza en instalaciones nuevas, y la mayora de la gente que lo utilizaba han
migrado sus sistemas de archivos al tipo ext2.



10
reiserfs
Un sistema de archivos ms robusto. Se utiliza una bitcora que provoca
que la prdida de datos sea menos frecuente. La bitcora es un mecanismo que
lleva un registro por cada transaccin que se va a realizar, o que ha sido realizada.
Esto permite al sistema de archivos reconstruirse por s slo fcilmente tras un
dao ocasionado, por ejemplo, por cierres del sistema inadecuados.
Adicionalmente, existe soporte para sistemas de archivos adicionales
ajenos, para facilitar el intercambio de archivos con otros sistemas operativos.
Estos sistemas de archivos ajenos funcionan exactamente como los propios,
excepto que pueden carecer de caractersticas usuales UNIX, o tienen curiosas
limitaciones, u otros inconvenientes.
msdos
Compatibilidad con el sistema de archivos FAT de MS-DOS (y OS/2 y
Windows NT).
umsdos
Extiende el dispositivo de sistema de archivos ms dos en Linux para obtener
nombres de archivo largos, propietarios, permisos, enlaces, y archivos de
dispositivo. Esto permite que un sistema de archivos ms dos normal pueda
utilizarse como si fuera de Linux, eliminando por tanto la necesidad de una
particin independiente para Linux.
vfat
Esta es una extensin del sistema de archivos FAT conocida como FAT32.
Soporta tamaos de discos mayores que FAT. La mayora de discos con MS
Windows son vfat.
iso9660
El sistema de archivos estndar del CD-ROM; la extensin popular Rock
Ridge del estndar del CD-ROM que permite nombres de archivo ms largos se
soporta de forma automtica.
nfs
Un sistema de archivos de red que permite compartir un sistema de
archivos entre varios ordenadores para permitir fcil acceso a los archivos de
todos ellos.

11
smbfs
Un sistema de archivos que permite compartir un sistema de archivos con
un ordenador MS Windows. Es compatible con los protocolos para compartir
archivos de Windows.
hpfs
El sistema de archivos de OS/2.
Los comandos mount y unmount
Monta o muestra un listado de los dispositivos. Se puede utilizar el
coman fdisk -l para visualizar los dispositivos existentes en las particiones o si es
un pendrive ejecutar tail -f /var/log/syslog antes de montarlo. Si no tienes
privilegios puedes usar el comando pmount en lugar del comando mount.
mount -t [SistemaArchivo] /dev/[dispositivo] [punto_montaje] Monta el
dispositivo
umount /dev/[dispositivo] Desmonta un disco
mount -t vfat/dev/hd0 /mnt/diskette
mount -o loop -t iso9660 archivo.iso carpeta monta la imagen
iso archivo.iso en carpeta
mount -o loop -t vfat pp.img ~/aca/ monta una imagen *.img
mount -a hace que todos los sistemas de ficheros mencionados
en /etc/fstab se monten como se indique all.
mount y umount mantienen una lista de los sistemas de ficheros montados
actualmente en el fichero /etc/mtab. Si no se dan argumentos a mount, se muestra
esta lista.






12
El archivo de configuracin: FSTAB
File systems table) se encuentra comnmente en sistemas Unix (en el
directorio /etc/) como parte de la configuracin del sistema. Lo ms destacado de
este fichero es la lista de discos y particiones disponibles. En ella se indica
como montar cada dispositivo y qu configuracin utilizar.

Particiones del disco duro
Es realizar una divisin en l de modo que, a efectos prcticos, el sistema
operativo crea que tienes varios discos duros, cuando en realidad slo hay un
nico disco fsico dividido en varias partes. De este modo, se pueden modificar o
borrar particiones sin afectar a los dems datos del disco.
Las particiones bsicas se llaman primarias y puede haber a lo sumo 4.
Esto puede ser suficiente para nuestros intereses. Como a veces no es as, se
crearon las particiones extendidas que pueden albergar otras particiones dentro,
llamadas lgicas.
Los sistemas de archivos indican el modo en que se gestionan los archivos
dentro de las particiones. Segn su complejidad tienen caractersticas como
previsin de apagones, posibilidad de recuperar datos, indexacin para bsquedas
rpidas, reduccin de la fragmentacin para agilizar la lectura de los datos, etc.
Hay varios tipos, normalmente ligados a sistemas operativos concretos.
Formatear discos
Una particin tiene que tener un sistema de archivos. Linux sabe cmo usar
varios sistemas de archivos. Hay Ext3, Ext2, ReiserFs y por los ms
experimentados el XFS y JFS. Ext2 es til como un formato de almacenamiento
en vista de que hay una interprete disponible para Windows para intercambiar
datos. [Linux puede leer y escribir en sistemas FAT.]
Para uso normal recomendamos el sistema de archivos ext3, que es la
sistema de archivos pre-seleccionada para sidux, que es bien mantenida.
Formatear
Despus de cerrar el cfdisk regresamos a la consola. Para formatear, tiene
que ser raz (root). Para formatear la particin root / y/o home, en este
ejemplo hdb1, entramos: (si est en una instalacin sobre el DD tiene que entrar el
clave de raz (root) aqu):

13
Su
mkfs -t ext3 /dev/hdb1
Le har una pregunta, que se contesta con yes si est seguro que ha
escogido la particin correcta.
Cuando termina el comando, le dar una aviso, que el formateo ext3 fue
exitosamente escrito al disco. Si no veas eso, probablemente algo fue malo en el
particionamiento con cfdisk, o el hdb1 no es una particin de Linux. En este caso,
puede chequear con:
fdisk -l /dev/hdb
Si algo es equivocado, quizs tendrs que particionar de nueva.
Si fue exitoso el formateo, repita el mismo procedimiento para la particin de
/home, si deseas una separado.
ltimamente, formateamos la particin de intercambio (swap), en este
ejemplo, el hdb3:
mkswap /dev/hdb3
Despus de eso:
swapon /dev/hdb3
Entonces verificamos, si el swap est reconocido, entrando en una consola:
swapon -s
y el swap nuevamente montado debe ser reconocido ahora, en nuestro caso
como:








14
Asignacin de sistema de archivo
Un sistema de archivo est diseado para el almacenamiento de archivos
en una unidad de disco. Dependen de un gestor de archivos para ser
manipulados, ya que sin este no se pueden ejecutar rdenes que interacten con
los archivos que contiene. Est conformado sector de almacenamiento de aprox.
512 bytes de tamao. Se encarga de determinar que sectores utilizar y de que
forma hacerlo que el almacenado de informacin. Esta organizacin se visualiza
como archivos y carpetas para hacerlo fcil de usar y entender para el usuario
final.
Mantener un sistema de archivos (o File System en ingls) a pleno
funcionamiento tiene como resultado un sistema eficiente y sin problemas. Los
problemas que pueden afectar a la integridad del sistema de archivos pueden ser
variados, pero cualquiera sea este tambin hay formas de solucionarlo.
Integridad de sistema de fichero
Organizacin lgica de un dispositivo que nos permite almacenar y
recuperar informacin en forma de fichero. Existen diversos tipos de sistemas de
ficheros, es decir diferentes formas de organizar la informacin en un dispositivo,
normalmente discos. Entre los ms habituales tenemos:
Ext2, ext3 Es el sistema de ficheros nativo de Linux. Se organiza en un
sper bloque, i-nodos y rea de datos. Este tipo de sistema de ficheros admite
caractersticas multiusuario para indicar los permisos y la propiedad de ficheros y
directorios.
vfat 12, 16 y 32 Es el sistema de ficheros usados por la gama baja de las
plataformas win32. No admite caractersticas multiusuario como propiedad de
ficheros. Estos tipos de sistemas de ficheros se basan en un directorio y una tabla
de localizacin que dependiendo del tamao de cada elemento se denomina FAT
12, 16 o 32. Linux los admite sin ningn problema, aunque siempre es preferible
usar ext2.
iso9660Es el sistema de ficheros propio de los CDROM.
msdos Anlogo a los sistemas FAT, aunque slo admite ficheros con
nombre 8+3.



15
C).- Configuracin y administracin del sistema operativo
Linux.
Instalacin del sistema operativo Linux
Paso 1: Crear una nueva mquina virtual dentro de VMWare. Se elige la
configuracin tpica para evitar problemas. Se asignar automticamente 2Gb de
espacio en disco para grabar todos los componentes del sistema operativo.
Paso 2: En la barra de herramientas pulsamos la tecla de play para activar la
mquina virtual. Previamente a este paso deberemos haber insertado el CD de
instalacin del nuevo S.O. en el lector ya que ser lo primero que haga cuando
pulsemos dicho botn.
Paso 3: Al pulsar el botn del paso 2 veremos que se carga en primer lugar un
cargado de sistemas del propio VMware para posteriormente empezar la
instalacin del S.O. En nuestro caso hemos elegido Mandrake 9.1 sobre Windows
XP. A partir de ahora veremos los pasos de instalacin de este sistema operativo
ya que la instalacin en VMware no contendr ms pasos adicionales.
Paso 4 (Mandrake): En la primera pantalla elegiremos el idioma en que se
mostrar el S.O. En nuestro caso, espaol, por supuesto.
Paso 5 (Mandrake): La pantalla de la licencia es bastante conocida. Ms vale que
digas que aceptas, de lo contrario ni instalacin ni nada.
Paso 6 (Mandrake): Seleccionamos el tipo de ratn que tenemos. En la siguiente
pantalla te pedir que lo pruebes as es que si tienes uno con rueda elige el que yo
he puesto y entonces te funcionar la ruedecita.
Paso 7 (Mandrake): Despus de seleccionar el tipo de teclado, por supuesto,
espaol, nos pedir que elijamos un login para el administrador de seguridad y el
nivel de seguridad que queremos en nuestro sistema.
Paso 8 (Mandrake): Acto seguido nos pedir que elijamos o bien se usa todo el
espacio libre que encuentre en la particin donde se instala el S.O., o bien
ejecutamos su programa para particionar el disco y elegir una particin donde
instalarlo. En nuestro caso, y como es una simulacin, hemos elegido usar el
espacio libre, que ser como mucho de 2Gb segn hayamos configurado la virtual
machine en su creacin (Pasos 1 y 2)
Paso 9 (Mandrake): Llegamos al punto donde se nos pide que elijamos el modo en
que va a funcionar este sistema operativo. Es decir, dependiendo de las opciones
elegidas se instalarn ms o menos paquetes en la instalacin del S.O. Nosotros
hemos elegido que funcione como un servidor para tener ms funcionalidad y
control en el sistema. Paso 10 (Mandrake): Con todo lo dicho anteriormente
llegamos al punto de la instalacin. Aqu es donde empieza la instalacin del
nuevo S.O.
Paso 11 (Mandrake): En este paso nos pedir que insertemos el CD3 llamado

16
"Internacionalizacin". Si no poseemos dicho CD, mi caso, por ejemplo, pulsamos
"Cancelar" y entonces nos pedir el login y pass del administrador (root)
Paso 12 (Mandrake): Una vez introducido el login y pass del root, nos pedir que
al menos creemos un usuario con su nombre, login, pass y el icono con el que se
mostrar.
Paso 13 (Mandrake): En este paso da la posibilidad de iniciar siempre la sesin
con un usuario y con un entorno grfico predefinido. Evidentemente le decimos
que no.
Paso 14 (Mandrake): Este paso es como un resumen de cmo va a quedar
nuestro S.O. una vez que hemos elegido todas sus caractersticas a lo largo de la
instalacin. Nos ofrece la posibilidad de cambiar algunas caractersticas del
hardware del que disponemos.
Paso 15 (Mandrake): Una vez configurados todos los parmetros se reiniciar y
cargar el nuevo S.O. que se ha instalado.
Instalacin de aplicaciones bajo Linux
Os paquetes son a Linux como los .exe son a Windows. Estos son
sumamente fciles de instalar en la mayora de casos, una vez que los enlaces
dados como "Prerrequisitos" hayan sido realizados.
Los paquetes se presentan con las extensiones .rpm (para "Red-hat Package
Management") en las distribuciones Mandrake, RedHat, Fedora Core y Suse, bajo
la forma .deb para Deban, Ubuntu etc... y bajo la forma .tgz para Slackware.

Se instalan con el comando rpm -ivh programme.rpm o dpkg -i
programme.deb o incluso installpkg programme.tgz
Sin embargo varios problemas pueden presentarse: el paquete que se
desea instalar (programa A) necesita la instalacin de otro programa
(programa_B) antes que nuestro programa A: har falta entonces ir a buscar el
paquete del programa para instalarlo, pero nuevamente ste puede necesitar de la
presencia de un programa, y as sucesivamente... Son las denominadas
dependencias, y esto puede volverse rpidamente muy complicado si el programa
A depende del prog_a, prog_b, prog_c y prog_d y a su vez cada uno de ellos
depende igualmente de una decena de programas para simplificar la vida del
usuario, la mayora de las grandes distribuciones modernas integran un sistema
de gestin de paquetes, que tendr por rol (entre otros) gestionar las
dependencias en lugar del usuario. As, la instalacin del programa A se har con
el llamado de un comando: "instale-me programa A", y la herramienta de gestin
ir a buscar en los sitios web previamente definidos el programa_A, verificar si el
programa_A depende de otros paquetes, y si es el caso, los descargar e instalar

17
en el orden correcto: programa_C, luego el programa_B que depende de C, luego
el programme_A que dependa de B.
Estas herramientas varian de una distribucin a otra, pero obedecen a algunas
generalidades de funcionamiento
Administradores de inicio
Lilo
Es un gestor de arranque que permite elegir, entre sistemas
operativos Linux y otras plataformas, con cual se ha de trabajar al momento de
iniciar un equipo con ms de un sistema operativo disponible. Fue desarrollado
inicialmente por Werner Almesberger, actualmente est a cargo de John Coffman.
LILO funciona en una variedad de sistemas de archivos y puede arrancar
un sistema operativo desde el disco duro o desde un disco flexible externo . LILO
permite seleccionar entre 16 imgenes en el arranque. LILO puede instalarse
tambin en elmaster boot record (MBR).
Al iniciar el sistema LILO solamente puede acceder a los drivers de
la BIOS para acceder al disco duro. Por esta razn en BIOS antiguas el rea de
acceso est limitada a los cilindros numerados de 0 a 1023 de los dos primeros
discos duros. En BIOS posteriores LILO puede utilizar sistemas de acceso de 32
bits permitindole acceder a toda el rea del disco duro.
En las primeras distribuciones de Linux, LILO era el gestor de facto utilizado
para arrancar el sistema. En la actualidad es una segunda opcin en favor del
gestor de arranque GRUB.
Loadlin
Otra forma de cargar Linux es desde DOS o Windows 9x, donde el ncleo
de Linux reemplaza completamente la copia de funcionamiento de estos sistemas
operativos. Esto puede ser til en el caso de hardware que necesita ser conectado
a travs del software y la configuracin de estos programas slo est disponible
para DOS y no para Linux, debido a cuestiones de secretos industriales y cdigo
propietario. Sin embargo, esta tediosa forma de arranque ya no es necesaria en la
actualidad ya que Linux tiene drivers para multitud de dispositivos hardware. Aun
as, esto era muy til en el pasado.
Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo
tiene disponible para el arranque.


18
Configuracin del sistema operativo Linux
Abrir una cuenta de usuario para usar el sistema. El usuario "root" solo se
debe utilizar para tareas de administracin del sistema
Hacer funcionar el sistema de ventanas X-Windows. Mucho ms cmodo
utilizar el sistema en modo grafico que en modo texto, no?
Configurar tu conexin a Internet.
Instalar programas que no vengan con la distribucin
Administracin del sistema operativo Linux
La administracin de bajo nivel suele ser mucho ms dura, pero sabemos
qu estamos haciendo y dnde podemos ver los resultados, adems de que nos
aporta muchos conocimientos extra sobre las diferentes tecnologas utilizadas.
Las distribuciones escogidas han sido: Debian GNU/Linux Etch (4.0), y
Fedora Core 7 (basada en Red Hat), utilizadas en el momento de revisar este
documento (la primera edicin a finalesdel 2003 estaba basada en Debian
Gnu/Linux Woody 3.0 y Red Hat 9). La distribucin Deban es un paradigma
dentro del movimiento Open Source, por no pertenecer a ninguna empresa y estar
confeccionada slo por las aportaciones de los voluntarios distribuidos por todo el
mundo. Debian, adems, integra exclusivamente software libre (pueden aadirse
otros aparte).
Fedora Core por otra parte, es la distribucin que cuenta con el soporte
comunitario amplio, y es base de las distribuciones de una de las empresas ms
solventes en el panorama comercial, Red Hat, y por eso sea quizs la que otorgue
ms soporte a nivel empresarial (mediante servicios de pago). En Debian y
Fedora, el soporte depende de los voluntarios y delconocimiento compartido de los
usuarios.
Siendo la administracin de sistemas un campo tan amplio, este manual
slo pretende introducirnos en este apasionante (y cmo no, tambin a veces
frustrante) mundo. Veremos algunas de las tareas tpicas, y cmo tratar las
problemticas; pero la administracin es un campo que se aprende da a da, con
el trabajo diario. Y desde aqu advertimos de que este manual es un trabajo
abierto, que con sus aciertos y los ms que probables errores, se puede ver
complementado con los comentarios de sus (sufridores) usuarios. De modo que
son bienvenidos cualquier tipo de comentarios y sugerencias de mejora de los
materiales.

19
Administracin de usuarios y grupos
El control de los usuarios y grupos es un elemento clave en la
administracin de sistemas de Red Hat Enterprise Linux.
Los Usuarios pueden ser gente real, es decir, cuentas ligadas a un usuario
fsico en particular o cuentas que existen para ser usadas por aplicaciones
especficas.
Los Grupos son expresiones lgicas de organizacin, reuniendo usuarios
para un propsito comn. Los usuarios dentro de un mismo grupo pueden leer,
escribir o ejecutar archivos que pertenecen a ese grupo.
Cada usuario y grupo tiene un nmero de identificacin nico
llamado identificador de usuario (UID) y un identificador de grupo (GID)
respectivamente.
Un usuario que crea un archivo se convierte en el propietario y el propietario
de grupo para ese archivo. Al archivo tambin se le asignan permisos separados
de lectura, escritura y ejecucin para el propietario del archivo, para el grupo y
para cualquier otro usuario. Solamente el superusuario (root) puede cambiar el
propietario de un archivo, y los permisos de acceso se pueden cambiar tanto por
el superusuario como por el creador del archivo.
Red Hat Enterprise Linux soporta listas de control de acceso (ACLs) para
archivos y directorios lo que permite colocar permisos para usuarios especficos
adems del creador. Para ms informacin sobre el uso de ACLs, consulte el
captulo llamado Listas de Control de Acceso en el Manual de administracin del
sistema de Red Hat Enterprise Linux.
Una de las tareas ms importantes de cualquier administrador del sistema,
es la de administrar adecuadamente usuarios y grupos, as como asignar y
revocar permisos. Para una vista detallada de las estrategias para la
administracin de usuarios y grupos, consulte el captulo titulado Administracin
de cuentas de usuarios y acceso a recursos en la gua Introduccin a la
administracin de sistemas de Red Hat Enterprise Linux.





20
Permisos de archivos y de directorios
En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso:
los que se aplican al propietario del archivo, los que se aplican al grupo que tiene
el archivo y los que se aplican a todos los usuarios del sistema. Podemos ver los
permisos cuando listamos un directorio con ls -l:
$> ls -l
-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentacion
-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos
Veamos por partes el listado, tomando como ejemplo la primera lnea. La
primera columna (-rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente
columna (1) es el nmero de enlaces al archivo, la tercera columna (sergio)
representa al propietario del archivo, la cuarta columna (ventas) representa al
grupo al que pertence al archivo y las siguientes son el tamao, la fecha y hora de
ltima modificacin y por ltimo el nombre delarchivo o directorio.
Sistemas de impresoras
La forma ms simple (con mucho) de imprimir en el sistema operativo Linux
es enviar el fichero a ser impreso directamente al dispositivo de impresin. Una
manera de hacer esto es usar el comando cat. Como usuario root, uno puede
hacer lo siguiente:
# cat tesis.txt > /dev/lp
En este caso, /dev/lp es un enlace simblico al verdadero dispositivo de
impresin (una matricial, lser, tipogrfica o plotter). Mira la pgina del
man ln(1) para ms informacin acerca de enlaces simblicos.
Para el propsito de la seguridad, slo el usuario root y los usuarios de su
mismo grupo como el demonio de impresin son capaces de escribir directamente
a la impresora. Es por esto por lo que se tienen que usar comandos
como lpr, lprm y lpq para acceder a la impresora.
Por esto, los usuarios tienen que usar lpr para imprimir un fichero. El
comando lpr es responsable de preocuparse por el trabajo inicial para imprimir un
fichero, pasando entonces el control a otro programa, lpd, el demonio de las
impresoras de lneas.

21
Mantenimiento del sistema: seguridad
La tarea mnima de mantenimiento es comprobar regularmente el sistema y
los ficheros de registro de cada aplicacin buscando condiciones de error y
eventos inusuales. Por lo general, es posible hacer esto escribiendo un par de
scripts de shell y ejecutndolos peridicamente mediante la orden cron. Se podr
encontrar algunos de estos scripts en distribucines fuente de algunas
aplicaciones importantes como inn o C News. Luego de obtenerlos, slo se tendr
que retocarlos para adecuarlos a nuestras necesidades y preferencias.
La salida de cualquiera de los trabajos de nuestro cron, se debera enviar a una
cuenta de administracin. Por defecto, muchas aplicaciones enviaran informes de
errores, estadsticas de uso, o resmenes del fichero de registro a la cuenta de
root. Esto solo tiene sentido si se ingresa al sistema como root frecuentemente.
Una idea mucho mejor es redirigir el correo de root a nuestra cuenta personal,
estableciendo un alias de correo como se describe en Captulo 19 y en Captulo
18.
De todos modos, por muy cuidadoso que sea configurando su mquina, la ley de
Murphy garantiza que surgir algn problema en el futuro. Por lo tanto, el
mantenimiento de un sistema implica tambin estar disponible para quejas.
Generalmente la gente espera que se pueda contactar con el administrador del
sistema al menos por correo electrnico, como root. Sin embargo, existen otras
denominaciones para direcciones de correo usadas comnmente para contactar a
los posibles encargados de la administracin de respectivos servicios del sistema.
Por ejemplo, las quejas sobre el mal funcionamiento del correo se dirigirn
generalmente al postmaster (encargado del correo). Del mismo modo, los
problemas con el sistema de noticias pueden ser comunicados a newsmaster o al
usenet. El correo al hostmaster se debera redirigir a la persona encargada de los
servicios bsicos de red del nodo, y del servicio de nombres DNS si esta corriendo
un servidor de nombres.








22
Comunicacin entre usuarios
Las comunicaciones entre usuarios del sistema operativo Linux son de una
gran importancia, ya que permite al sper usuario avisar a los usuarios de los
cambios que se produzcan en el sistema, nuevos usuarios, nuevas normas,
apagado del sistema, noticias, etc. Pero tambin se utilizan para comunicarse
entre los usuarios.
Comandos
write
Comunicacin unidireccional con otro usuario que est en el sistema en ese
momento. Permite que un usuario enve un mensaje a un terminal.
Sintaxis:
write nombre usuario < fichero mensaje
O bien
write nombre usuario
Escribir el mensaje
CTRL+D para finalizar el mensaje
En lugar del nombre de usuario podramos poner el nombre del terminal
(tty).
Para que el usuario o terminal puedan recibir mensajes tendremos que
haber ejecutado la orden: mesg y.
mesg
Controla la recepcin de mensajes desde otros usuarios que estn
conectados al sistema. Permite o impide que otros usuarios enven mensajes a
nuestro usuario o terminal.
Sintaxis:
mesg [y|n]
Opciones
y (yes) permite recibir mensajes.

23
N (not) no permite recibir mensajes.
Echo
Comunicacin unidireccional con otro usuario que est en el sistema en ese
momento. Bsicamente realiza la misma funcin que el write pero utilizando un
mecanismo diferente.
Sintaxis:
Echo hola que tal >/dev/ttyp3
wall
Comunicacin unidireccional con todos los usuarios que estn conectados
al sistema en ese momento. Se utiliza para informar a todos los usuarios sobre
algn tema que les afecte, por ejemplo, avisar que vamos a apagar el sistema.
Normalmente este comando es utilizado por administrador del sistema.
Sintaxis:
wall ficheromensaje
o bien
wall
Escribir el mensaje
CTRL+D
talk
Comunicacin bidireccional interactiva con otro usuario que est conectado
al sistema. Se utiliza para la comunicacin bidireccional entre dos usuarios. La
orden talk avisa al segundo usuario que el primer usuario quiere hablar con l.
Esta orden indica a la otra persona qu debe teclear para inicializar la sesin.
Cuando se establece la sesin, cada persona usa una ventana
independiente. Cuando la primera persona escribe la informacin en la ventana
susperior, aparece en la ventana inferior de la pantalla de la segunda persona, y
viceversa. Adems, cada vez que se pulsa una tecla, sta aparece en ambas
ventanas, por tanto, cada vez que escribe una persona, la otra ve la informacin.
Sintaxis:
talk nombreusuario

24
motd
Significa message of the day (mensaje del da) y es un buen mtodo para
pasar informacin a cualquier usuario que acceda al sistema en un determinado
da. En realidad motd es un archivo cuyo contenido aparece en la pantalla al
acceder al sistema. Este archivo se guarda en el directorio /etc y se
llama motd (/etc/motd).
El archivo /etc/issue contiene el mensaje que aparece cuando se inicia una
sesin en el sistema. Despus del aviso, la sesin solicita el nombre del usuario y
la contrasea. Este fichero podemos editarlo y poner cualquier mensaje o
informacin que queramos que aparezca cuando se conecten los usuarios.
Mail
La orden mail se utiliza para el correo electrnico. El correo electrnico nos
permite enviar un mensaje sin que el usuario este conectado al sistema. El
sistema crea un buzn de correo para cada usuario y cuando enviamos un
mensaje a un usuario se almacena en su buzn. Cuando se conecta el usuario, si
tiene correo el sistema le avisa con el mensaje You have mail y entonces el
usuario puede leerlo.
La orden mail sirve tanto para enviar un mensaje a uno o varios usuarios,
como para leer los mensajes recibidos.
La orden mail seguida del nombre de uno o varios usuarios permite enviar
correo a los buzones de los usuarios especificados. Una vez pulsada la tecla
<Return>, la orden mail acepta la introduccin de lneas de correo hasta que se
pulse la combinacin de teclas CTRL+D; momento en que procede a su envo.
Opciones:
-e Hace que mail devuelva un 0 si el buzn est vaco y un 1 en caso
contrario.
-p Imprime todo el correo de manera continuada.
-ffichero Indica al mail que tome los mensajes del fichero especificado.
-q Permite terminar el correo mediante una interrupcin.
-h Presenta solo las cabeceras (Subject).
-r Cambia el orden de impresin de forma que el 1 en entrar sea el 1 en
salir.

25
D).-Administracin de aplicaciones en entornos
multiusuarios bajo Linux
Cdigo reentrante
Cdigo reentrante es aquel que funciona correctamente si 2 ms hebras lo
ejecutan simultneamente. Se dice tambin que es
thread-safe
.Para que sea reentrante no debe tenerdatos locales o estticos.El SO debe
ser cdigo reentrante.P.ej. Linux no es 100% reentrante. MS-DOS y la BIOS
no son reentrant
Zona de datos en memoria
Se alojan los datos estticos de nuestro programa, es decir, las variables
globales del mismo. Suele ser un espacio de memoria limitado, por lo que el
nmero y tamao de estas variables tambin est limitado. Forma junto con la
zona de cdigo la parte esttica de la memoria.














26
Variables de entorno en aplicaciones de usuarios
Una variable de entorno es un objeto designado para contener informacin
usada por una o ms aplicaciones.
Variable Descripcin
PATH Esta variable contiene una lista de directorios separados por
":" en la cual el sistema buscar los archivos ejecutables. Al
introducir el nombre de un ejecutable (como ls, rc-update o emerge)
que no se encuentre en un de los directorios listados, el sistema no lo
encontrar, (a menos que se introduzca la ruta completa, por
ejemplo: /bin/ls).
ROOTPATH Esta variable tiene la misma funcin que PATH, pero
nicamente contiene los directorios que el sistema debe revisar
cuando el usuario root introduce un comando.
LDPATH Esta variable contiene una lista de directorios separados por
":" en la cual el enlazador dinmico busca para encontrar una librera.
MANPATH Esta variable contiene una lista de directorios separados por
":" en la cual el comando man busca las pginas de manual.
INFODIR Esta variable contiene una lista de directorios separados por
":" en la cual el comando info busca las pginas info.
PAGER Esta variable contiene la ruta hacia el programa utilizado para
mostrar el contenido de los ficheros (como less o more).
EDITOR Esta variable contiene la ruta hacia el programa utilizado para
modificar el contenido de los archivos (como nano o vi).
KDEDIRS Esta variable contiene una lista de directorios separados por
":" los cuales contienen material especfico de KDE.
CONFIG_PROTEC
T
Esta variable una lista de directorios separados
por espacio los cuales deben ser protegidos por Portage durante las
actualizaciones.
CONFIG_PROTEC
T_MASK
Esta variable una lista de directorios separados
por espacio los cuales no deben ser protegidos por Portage durante
las actualizaciones.





27
E).-Gestin de las unidades funcionales
Proceso del sistema operativo
Procesos, estados, operaciones.
El hecho de que el sistema operativo sea multitarea implica que podamos
ejecutar ms de un programa a la vez. Un proceso no es ms que un programa o
aplicacin cargado en memoria y ejecutndose. Aunque nuestro ordenador slo
disponga de una CPU, el sistema operativo se encarga de repartir el tiempo de
procesamiento de la misma para que varios procesos puedan ir ejecutando sus
operaciones, dando la sensacin de una ejecucin paralela.

Para identificar de forma inequvoca cada proceso, el ncleo del sistema les
asigna un nmero llamado PID (Process IDentification). Aunque podramos pensar
que slo con el nombre ya tendramos suficiente para identificarlo, es
imprescindible tener el PID ya que podemos ejecutar un proceso tantas veces
como queramos (tendramos varias instancias del mismo proceso, pero cada una
con un PID distinto).
Si ejecutamos la instruccin Top o Gtop en la consola de Linux nos
mostrar el siguiente el siguiente detalle:
El nmero de identificador de Proceso (PID),
El usuario que lo est ejecutando (USER),
La prioridad del proceso (PRI),
El valor nice (NI),
El tamao del proceso (SIZE),
El tamao total del proceso junto con los datos que maneja (RSS),
El tamao usado por el proceso en la memoria (SHARE),
El estado del proceso(STAT),
El porcentaje de CPU ( %CPU) y de memoria (%MEM)
El tiempo de ejecucin (TIME) y el nombre del proceso (COMMAND).






28
Procesos concurrentes, comunicacin entre procesos
Si ejecutamos la instruccin Top o Gtop en la consola de Linux nos
mostrar el siguiente el siguiente detalle:
El nmero de identificador de Proceso (PID),
El usuario que lo est ejecutando (USER),
La prioridad del proceso (PRI),
El valor nice (NI),
El tamao del proceso (SIZE),
El tamao total del proceso junto con los datos que maneja (RSS),
El tamao usado por el proceso en la memoria (SHARE),
El estado del proceso(STAT),
El porcentaje de CPU ( %CPU) y de memoria (%MEM)
El tiempo de ejecucin (TIME) y el nombre del proceso (COMMAND).
Gestin de la memoria
Paginacin
El trmino memoria virtual se asocia normalmente con sistemas que
emplean paginacin, aunque tambin se puede usar memoria virtual basada en la
segmentacin. El uso de la paginacin en la memoria virtual fue presentado por
primera vez en el computador Atlas.
Cada proceso tiene su propia tabla de pginas y cuando carga todas sus
pginas en la memoria principal, se crea y carga en la memoria principal una tabla
de pginas. Cada entrada de la tabla de pginas contiene el nmero de marco de
la pgina correspondiente en la memoria principal. Puesto que slo algunas de las
pginas de un proceso pueden estar en la memoria principal, se necesita un bit en
cada entrada de la tabla para indicar si la pgina correspondiente est presente
(P) en la memoria principal o no. Si el bit indica que la pgina est en la memoria,
la entrada incluye tambin el nmero de marco para esa pgina.
Otro bit de control necesario en la entrada de la tabla de pginas es el bit de
modificacin (M), para indicar si el contenido de la pgina correspondiente se ha
alterado desde que la pgina se carg en la memoria principal. Si no ha habido
cambios, no es necesario escribir la pgina cuando sea sustituida en el marco que
ocupa actualmente.



29
Segmentacin
La segmentacin permite al programador contemplar la memoria como si
constara de varios espacios de direcciones o segmentos. Los segmentos pueden
ser de distintos tamaos, incluso de forma dinmica. Las referencias a la memoria
constan de una direccin de la forma (nmero de segmento, desplazamiento).
Esta organizacin ofrece al programador varias ventajas sobre un espacio
de direcciones no segmentado:
1. Simplifica la gestin de estructuras de datos crecientes. Si el
programador no conoce a priori cun larga puede llegar a ser una estructura de
datos determinada, es necesario suponerlo a menos que se permitan tamaos de
segmentos dinmicos. Con memoria virtual segmentada, a la estructura de datos
se le puede asignar a su propio segmento y el S.O expandir o reducir el
segmento cuando se necesite.
2. Permite modificar y recopilar los programas independientemente,
sin que sea necesario recopilar o volver a montar el conjunto de programas por
completo.
3. Se presta a la comparticin entre procesos. Un programador puede
situar un programa de utilidades o una tabla de datos en un segmento que puede
ser referenciado por otros procesos.
4. Se presta a la proteccin. Puesto que un segmento puede ser
construido para albergar un conjunto de procedimientos y datos bien definido, el
programador o el administrador del sistema podr asignar los permisos de acceso
de la forma adecuada.








30
Sistema de archivo
Punto vista de usuario
Este estndar del sistema de archivos Linux sigue el mismo principio bsico
que la mayora de los sistemas de archivos UNIX siguen. Note, sin embargo que
este estndar no intenta concordar en cada aspecto posible con alguna
implementacin particular del sistema UNIX. De cualquier forma, muchos de los
aspectos de este estndar estn basados en ideas encontradas en UNIX y
sistemas similares a UNIX.
Es posible despus de cuidadosa consideracin de otros factores,
incluyendo:
Prcticas comunes en la comunidad Linux. La implementacin de otras
estructuras de sistemas de archivos. Los estndares aplicables.
Punto vista sistemas operativos
Un sistema de archivos son los mtodos y estructuras de datos que un
sistema operativo utiliza para seguir la pista de los archivos de un disco o
particin; es decir, es la manera en la que se organizan los archivos en el disco. El
trmino tambin es utilizado para referirse a una particin o disco que se est
utilizando para almacenamiento, o el tipo del sistema de archivos que utiliza. As
uno puede decir tengo dos sistemas de archivo refirindose a que tiene dos
particiones en las que almacenar archivos, o que uno utiliza el sistema de
archivos extendido, refirindose al tipo del sistema de archivos.
La diferencia entre un disco o particin y el sistema de archivos que
contiene es importante. Unos pocos programas (incluyendo, razonablemente,
aquellos que crean sistemas de archivos) trabajan directamente en los sectores
crudos del disco o particin; si hay un archivo de sistema existente all ser
destruido o corrompido severamente. La mayora de programas trabajan sobre un
sistema de archivos, y por lo tanto no utilizarn una particin que no contenga uno
(o que contenga uno del tipo equivocado).






31
Gestin de entrada/salida
Hardware de entrada/salida
Los dispositivos estn divididos en dos tipos: los dispositivos de carcter y
los dispositivos de bloque. La diferencia es que los dispositivos de bloque tienen
un bfer para las peticiones, por lo tanto pueden escoger en qu orden las van a
responder. Esto es importante en el caso de los dispositivos de almacenamiento,
donde es ms rpido leer o escribir sectores que estn cerca entre s, que
aquellos que estn ms dispersos. Otra diferencia es que los dispositivos
de bloque slo pueden aceptar bloques de entrada y de salida (cuyo tamao
puede variar segn el dispositivo), en cambio los dispositivos de carcter pueden
usar muchos o unos pocos bytes como ellos quieran. La mayora de los
dispositivos del mundo son de carcter, porque no necesitan este tipo de buffering,
y no operan con un tamao de bloque fijo. Se puede saber cundo un fichero de
dispositivo es para un dispositivo de carcter o de bloque mirando el primer
carcter de la salida de ls -l. Si es `b' entonces es un dispositivo de bloque, y si es
`c' es un dispositivo de carcter. La controladora o adaptador de dispositivo es
una tarjeta, por lo regular provista de un conector en el cual puede enchufarse un
cable que lleva al dispositivo. Muchas controladoras pueden manejar dos, cuatro o
incluso ocho dispositivos idnticos. Si la interfaz entre la controladora y el
dispositivo es estndar, ya sea ANSI, IEEE o ISO oficial, o un estndar de facto,
las compaas pueden fabricar controladores o dispositivos que se ajusten a esa
interfaz.
La tarea de la controladora consiste en convertir el flujo de bits en serie en un
bloque de bytes y realizar una correccin de errores que sea necesaria.
Software de entrada/salida
La mayora del software de E/S est en el ncleo Sin embargo, tambin hay
procedimientos de biblioteca que se ejecutan en modo usuario y que se encargan
de realizar las llamadas al sistema (ej. read, printf, etc.) Normalmente preparan el
entorno adecuado y a continuacin realizan la llamada al sistema de spooling
Los dispositivos de uso exclusivo no se pueden dejar a cargo de programas de
usuario (problema: monopolizacin) El sistema de spooling es una forma de
manejar dispositivos dedicados en un sistema con multiprogramacin Hay un
demonio y un directorio de spooling El demonio verifica peridicamente el
directorio para saber si hay trabajos pendientes Las impresoras se manejan de
esta manera.