Está en la página 1de 44

Unidad 6 ADMINISTRADOR DE ARCHIVOS

6.1 Sistema de Archivos


6.2 Jerarqua de Datos
6.3 Tipos de Archivos
6.4 Interfaz con el Usuario
6.4.1 El Sistema de Archivo visto por el Usuario
6.4.2 Diseo del Sistema de Archivos
6.4.3 Servidor de Archivos
6.4.4 Seguridad en los Archivos
6.4.5 Mecanismos de Proteccin
6.4.6 Implementacin
6.5 Llamadas al Sistema (Systems Calls)
6.6 Tipos de Interfaz
6.7 Lenguaje de Comunicacin (comandos de control) y Pipelines o Conductos

6.1 SISTEMA DE ARCHIVOS


Todas las aplicaciones de computadora necesitan almacenar y recuperar
informacin. Mientras un proceso se est ejecutando, puede almacenar una
cantidad de informacin limitada dentro de su propio espacio de direcciones. Sin
embargo, la capacidad de almacenamiento est restringida al tamao del
espacio de direcciones virtual. En el caso de algunas aplicaciones, este tamao
es adecuado, pero en el de otras, como Las de reservaciones de lneas areas,
las aplicaciones bancadas o las bases de datos corporativas, dicho tamao
resulta excesivamente pequeo.
Un segundo problema de mantener la informacin dentro del espacio de
direcciones de un proceso es que cuando el proceso termina la informacin se
pierde. En muchas aplicaciones (como las bases de datos), la informacin debe
retenerse durante semanas, meses, o incluso eternamente. No es aceptable que
la informacin desaparezca cuando el proceso que la est usando termina.
Adems, la informacin no debe perderse cuando una cada de la computadora
termina el proceso.
Un tercer problema es que en muchos casos es necesario que mltiples
procesos accedan a (partes de) la informacin al mismo tiempo. Si tenemos un
directorio telefnico en lnea almacenado dentro del espacio de direcciones de
un solo proceso, nicamente ese proceso tendr acceso a l. La forma de
resolver este problema es hacer que la informacin misma sea independiente de
cualquier proceso individual.
Por tanto, tenemos tres requisitos esenciales para el almacenamiento de
informacin a largo plazo:
1. Debe ser posible almacenar una gran cantidad de informacin.
2. La informacin debe sobrevivir a la terminacin del proceso que la usa.
3. Mltiples procesos deben poder acceder a la informacin de forma
concurrente.

La solucin usual a todas estas exigencias es almacenar la informacin en


discos y Otros medios externos en unidades llamadas archivos. As, los
procesos pueden leerlos y escribir archivos nuevos si es necesario.
La informacin almacenada en archivos debe ser persistente, es decir, no ser
Afectada por la creacin y terminacin de procesos. Un archivo slo debe
desaparecer cuando su Propietario lo elimina explcitamente.
Los archivos son administrados por el sistema operativo. La forma como se
estructuran, nombran, acceden, usan, protegen e implementan son temas
importantes en el diseo de sistemas operativos.
Globalmente, la parte del sistema operativo que se ocupa de los archivos se
denomina sistema de archivos y es el tema de este captulo.
Desde el punto de vista del usuario, el aspecto ms importante de un sistema de
archivos es la cara que presenta ante l, es decir, qu constituye un archivo,
cmo se nombran y protegen los archivos, qu operaciones pueden efectuarse
con los archivos, etc. Los detalles de si se usan listas enlazadas o mapas de bits
para mantenerse al tanto del espacio de almacenamiento disponible y de
cuntos sectores hay en un Bloque lgico tienen menos inters, aunque son de
gran relevancia para los diseadores del sistema de archivos.
Por esta razn, hemos estructurado el captulo en varias secciones. Las dos
primeras se ocupan de la interfaz entre el usuario y los archivos y directorios,
respectivamente. Luego viene una explicacin detallada de cmo se implementa
el sistema de archivos. Despus, examinaremos la seguridad y los mecanismos
de proteccin de los sistemas de archivos.
Un Componente importante de cualquier sistema operativo es el sistema de
archivos. En general, los sistemas de archivos contienen:
# Mtodos de acceso
# Administracin de archivos
# Administracin de Almacenamiento Secundario
# Mecanismos de Integridad de los Archivos.

Una forma de organizacin de un sistema de archivos puede ser la siguiente:


* Se utiliza una raz para indicar en qu parte del disco comienza el
directorio raz.
* El directorio raz apunta a los directorios de usuarios.
* Un directorio de usuario contiene una entrada para cada uno de los
archivos del usuario.
* Cada entrada de archivo apunta al lugar del disco donde est almacenado el
archivo referenciado.
Los nombres de archivos solo necesitan ser nicos dentro de un directorio de
usuario dado. El nombre del sistema para un archivo dado debe ser nico para
el sistema de archivos.

6.2 Jerarqua de Datos


Los bits se agrupan en patrones de bits para representar en los sistemas de
cmputo a prcticamente todos los datos de inters. Existan 2^n posibles
patrones de bits para una cadena de n bits.
El siguiente nivel hacia arriba en la jerarqua de datos esta formado por Bytes,
los cuales son patrones de bits de longitud fija .la mayor parte de los sistemas de
computo actuales emplean Bytes de 8 bits de modo que es posible representar
2^8 o 256 caracteres en su conjunto de caracteres.
Los dos conjuntos de caracteres de uso mas generalizado en la actualidad son
ASCII EBCD.
Un campo es un conjunto de caracteres.
Un registro es un grupo de campos.
Un archivo es un grupo de registros relacionados entre si
Una base de datos es un conjunto de archivos

Base
De
Datos

Archivo
Registro
Campo

00000010=@
10101010110

6.3 TIPOS DE ARCHIVOS


Archivos normales y directorios. UNIX tambin tiene archivos especiales por
caracteres y por bloques. Los archivos regulares son los que contienen
informacin del usuario. Todos los archivos de la Fig. 5-2 son
Archivos normales.
Los directorios son archivos de sistema que sirven para mantener la estructura
del sistema de archivos. Estudiaremos los directorios ms adelante. Los
archivos especiales por caracteres estn relacionados con entrada/salida y
sirven para modelar dispositivos E/S en serie como las terminales, impresoras y
redes.
Los archivos especiales por bloques sirven para modelar discos. En este
captulo nos interesarn primordialmente los archivos normales.
Los archivos normales generalmente son archivos ASCII o bien archivos binarios
Los archivos ASCII consisten en lneas de texto. En algunos sistemas cada lnea
termina con un carcter de retorno de carro; en otros se emplea el carcter de
salto de lnea. Ocasionalmente se requieren ambos.
Las lneas no tienen que tener toda la misma longitud.
La gran ventaja de los archivos ASCII es que pueden exhibirse e imprimirse tal
como estn, y se pueden editar con un editor de textos normal. Adems, si una
gran cantidad de programas usan archivos ASCII como entradas y salidas, es
fcil conectar la salida de un programa a la entrada del otro, como en
Los conductos de shell. (La interconexin entre procesos no es ms fcil, pero
ciertamente lo es la interpretacin de la informacin si se emplea una
convencin estndar, como ASCII, para expresarla.)
Otros archivos son binarios, lo que simplemente significa que no son archivos
ASCII. Si listamos estos archivos en una impresora, obtendremos un listado
incomprensible lleno de lo que parece ser basura.

Por lo regular, estos archivos tienen alguna estructura interna.


Por ejemplo, en la Fig. 5-3(a) vemos un archivo binario ejecutable sencillo
tomado de una de las primeras versiones de UNIX. Aunque tcnicamente el
archivo no es sino una secuencia de bytes, el sistema operativo slo ejecuta un
archivo si ste tiene el formato correcto.
El ejemplo tiene cinco secciones: encabezado, texto, datos, bits de reubicacin y
tabla de smbolos. El encabezado comienza con lo que se conoce como un
nmero mgico, que identifica el archivo como ejecutable (a fin De evitar la
ejecucin accidental de un archivo que no tiene este formato). Luego vienen
enteros de 16 bits que indican los tamaos de los distintos componentes del
archivo, la direccin en la que se inicia la Ejecucin y algunos bits de bandera.
Despus del encabezado vienen el texto y los datos del programa mismo. stos
se cargan en la memoria y se reubican empleando los bits de reubicacin. La
tabla de smbolos sirve para la depuracin.

Nuestro segundo ejemplo de archivo binario es un archivo de archivado, tambin


de UNKs| Este
Archivo consiste en una coleccin de procedimientos de biblioteca (mdulos)
compilado;! pero no enlazados. Cada mdulo va precedido por un encabezado
que indica su nombre, fechada creacin, propietario, cdigo de proteccin y
tamao. Al igual que en el archivo ejecutable, los encabezados de mdulo estn
llenos de nmeros binarios; si los copiramos en una impresora obtendramos
un listado ininteligible.
Todos los sistemas operativos deben reconocer un tipo de archivo, su propio
archivo
Ejecutable, pero algunos reconocen ms. El antiguo sistema TOPS-20 lleg al
extremo de examinar tiempo de creacin de todo archivo por ejecutar; luego
localizaba el archivo fuente y vea si ste se haba modificado despus de
crearse el binario. Si tal era el caso, el sistema recompilaba automticamente el

archivo fuente. En trminos de UNIX, se haba incorporado el programa make en


el shell. Las extensiones de archivo eran obligatorias para que el sistema
operativo pudiera saber cul programa binario se derivaba de cul fuente.
Algo por el estilo es lo que hace WINDOWS cuando un usuario hace doble clic
sobre el nombre de un archivo: pone en marcha un programa apropiado con el
nombre de archivo como parmetro. El sistema operativo determina cul
programa debe ejecutar basndose en la extensin del archivo.
Tener archivos con tipificacin estricta como stos causa problemas siempre que
el usuario hace algo que los diseadores del sistema no esperaban.
Consideremos, por ejemplo, un sistema en el que los archivos de salida de los
programas tienen el tipo dat (archivos de datos). Si un usuario escribe un
formateador de programas que lee un archivo .Pas, lo transforma (p. ej.,
convirtindolo a una organizacin con sangras estndar) y luego enva el
archivo transformado a la salida, el archivo de salida ser de tipo.dat.
Si el usuario trata de ofrecer este archivo al compilador de Pascal para que lo
compile, el sistema no lo permitir porque el archivo no tiene la extensin
correcta. El sistema rechazar los intentos por copiar archivo.dat en archivo.pas
por considerarlos no vlidos (tratando de proteger al usuario contra errores).

En computacin existen bsicamente dos tipos de archivos, los archivos ASCII y


los archivos binarios. El vocablo ASCII es un acrnimo para American Standard
Code for Information Interchange. Es un estndar que asigna un valor numrico
a cada carcter, con lo que se pueden representar los documentos llamados de
Texto Plano, es decir, los que son legibles por seres humanos. Los archivos
binarios son todos los dems. Como ejemplos tenemos:

Archivos binarios:
De imagen: .jpg, .gif, .tiff, .bmp (Portable bitmap), .wmf (Windows Meta File),
.PNG (Portable Network Graphics), .pcx (Paintbrush); entre muchos otros
De video: .MPG, .mov, .avi, .gif Comprimidos o empaquetados: .zip, .Z, .gz,
.tar, .lhz Ejecutables o compilados: .exe, .com, .cgi, .o, .a Procesadores de
palabras: .doc
Archivos ASCII
Archivos fuente: .f, .c, .p
Formatos de texto: .tex, .txt, .html, Formatos de intercambio: .rtf, .ps, .uu
Dentro de los archivos ASCII de uso comn por los programas de bioinformtica
estn los siguientes:
De secuencias: .seq De secuencias mltiples: .aln, .msf (Multiple Sequence
Format, secuencias alineadas), .rsf (Rich Sequence Format, estos archivos
pueden incluir una o ms secuencias relacionadas o no).
Los archivos tambin se pueden separar por grupos como son:
Nomenclatura: Todos los formatos de archivo o extensiones estn escritos en
mayscula en la columna de la izquierda. A su derecha y en la misma lnea
todos ellos poseen una explicacin adjunta o bien los programas recomendados
para su uso. Todas las extensiones ms importantes y que requieren una
explicacin ms completa estn marcados con un asterisco (*) y ampliadas en la
parte final de su categora correspondiente.
Listado: Aqu tenemos la lista completa de tipos de archivos ordenados, tal y
como se indic anteriormente.

Sistema: Estos son los archivos necesarios para el funcionamiento interno del
Sistema Operativo as como de los diferentes programas que trabajan en l. No
esta recomendado moverlos, editarlos o variarlos de ningn modo porque
pueden afectar al buen funcionamiento del sistema.
Audio: Los archivos de audio son todos los que contienen sonidos (no solo
msica). Las diferentes extensiones atienden al formato de compresin utilizado
para convertir el sonido real en digital.
Video: Los formatos de video no slo contienen imgenes sino tambin el sonido
que las acompaa. Es bastante habitual que al intentar visualizar un vdeo no
podamos ver la imagen aunque s oigamos el sonido. Esto es debido al formato
de compresin utilizado en ellos que puede no ser reconocido por nuestro
ordenador, por ello siempre se ha de tener actualizados los codecs de cada uno
de los formatos.
Comprimidos: Los formatos de compresin son de gran utilidad a la hora del
almacenamiento de informacin ya que hacen que esta ocupe el menor espacio
posible y que se puedan reunir muchos ficheros en uno slo.
Images: Poco hay que decir de las imgenes y de sus formatos salvo que cada
uno de ellos utiliza un mtodo de representacin y que algunos ofrecen mayor
calidad que otros. Tambin cabe destacar que muchos programas de edicin
grfica utilizan sus propios formatos de trabajo con imgenes.
Texto: Dentro de los documentos de texto hemos de diferenciar entre el texto
plano y el enriquecido. Es decir, entre los formatos que sencillamente guardan
las letras (txt, Log) y los que podemos asignarles un tamao, fuente, color, etc.
(doc)
Programas La mayora de los programas tienen formatos de archivo propios
para utilizarlos en distintas funciones.

6.4 INTERFASE CON EL USUARIO


Interfaz de usuario La interfaz de usuario es el medio con que el usuario puede
comunicarse con una mquina, un equipo o una computadora, y comprende
todos los puntos de contacto entre el usuario y el equipo.
Funciones principales Sus principales funciones son los siguientes:
Puesta en marcha y apagado Control de las funciones manipulables del equipo
Manipulacin de archivos y directorios Herramientas de desarrollo de
aplicaciones Comunicacin

con

otros sistemas Informacin

de

estado

Configuracin de la propia interfaz y entorno Intercambio de datos entre


aplicaciones Control de acceso Sistema de ayuda interactivo.
Tipos de interfaces de usuario
Segn la forma de interactuar del usuario Atendiendo a como el usuario puede
interactuar con una interfaz, nos encontramos con varios tipos de interfaces de
Usuario:
Interfaces alfanumricas (intrpretes de mandatos) que solo presentan texto.
Interfaces grficas de usuario (GUI, Graphics User Interfaces), las que permiten
comunicarse con el ordenador de una forma muy rpida e intuitiva
representando grficamente los elementos de control y medida. Interfaces
tctiles, que representan grficamente un panel de control en una pantalla
sensible que permite interaccionar con el dedo de forma similar a si se accionara
un control fsico.
Segn su construccin
Pueden ser de hardware o de software:

Interfaces hardware.- Se trata de un conjunto de controles o dispositivos que


permiten la interaccin hombre-mquina, de modo que permiten introducir o leer
datos del equipo, mediante pulsadores, reguladores e instrumentos. Interfaces
software.- Son programas o parte de ellos, que permiten expresar nuestros
deseos al ordenador o visualizar su respuesta.

6.4.1 El sistema de Archivo visto por el Usuario


Para que un ordenador pueda hacer funcionar un programa informtico (a
veces conocido como aplicacin o software), debe contar con la capacidad
necesaria para realizar cierta cantidad de operaciones preparatorias que puedan
garantizar el intercambio entre el procesador, la memoria y los recursos fsicos
(perifricos).
El sistema operativo (a veces tambin citado mediante su forma abreviada OS
en ingls) se encarga de crear el vnculo entre los recursos materiales, el
usuario y las aplicaciones (procesador de texto, videojuegos, etctera). Cuando
un programa desea acceder a un recurso material, no necesita enviar
informacin especfica a los dispositivos perifricos; simplemente enva la
informacin al sistema operativo, el cual la transmite a los perifricos
correspondientes a travs de su driver (controlador). Si no existe ningn driver,
cada programa debe reconocer y tener presente la comunicacin con cada tipo
de perifrico.

De esta forma, el sistema operativo permite la "disociacin" de programas y


hardware, principalmente para simplificar la gestin de recursos y proporcionar
una interfaz de usuario (MMI por sus siglas en ingls) sencilla con el fin de
reducir la complejidad del equipo.
6.4.2 Diseo del Sistema de Archivos
A los diseadores de un sistema de archivo les interesa:

Cmo se maneja el espacio en el disco.

Cmo se almacenan los archivos.

Cmo hacer que todo funcione eficiente y confiablemente.

Manejo del espacio en el disco.

Diseo de un sistema de archivos.


Son posibles dos estrategias para almacenar un archivo de n bytes:

Se distribuyen n bytes consecutivos de espacio del disco.

El archivo se divide en varios bloques (no necesariamente) contiguos.

Los bloques:

Casi todos los sistemas de archivo recortan los archivos en bloques de


tamao fijo que no necesitan ser adyacentes.
Qu tan grande debe de ser el bloque?

Tener una unidad de asignacin grande, como un cilindro, significa que


todos los archivos, aun uno de 1 byte, se le asigna un cilindro completo.

Una unidad de asignacin pequea, quiere decir que cada archivo consta
de muchos bloques.

La lectura de cada bloque requiere una localizacin y una demora


rotatoria, de modo que un archivo de muchos bloques ser lenta.

Cmo llevar a cabo el control de los bloques libres?


Se utilizan dos mtodos:

Lista enlazada de bloques de disco, donde cada bloque contenga tantos


nmeros de bloque de disco libres como le quepan.

Mapa de bits con n bits. Un disco con n bloques, requiere un mapa de bits
con n bits. Los bloques libres suelen ser representados con 1 (unos); los
bloques asignados con 0 (ceros), o viceversa.

Almacenamiento en Archivos.

Un archivo consta de una sucesin de bloques, el sistema de archivo


debe contar con alguna manera de llevar el control de los bloques de
cada archivo.

La forma ms evidente (el almacenamiento consecutivo de los bloques),


suele no ser viable por los archivos pueden crecer.

Un mtodo que resulta adecuado consiste en almacenar los bloques de


un archivo como una lista enlazada.
Desventajas:

El nmero de bytes de datos en un bloque ya no es potencia de dos.

El acceso al azar es costoso, hay que leer todos los bloques anteriores
antes de localizar un dato

Almacenamiento en archivos, el esquema de asignacin de MS-DOS.

Es la idea de representar un archivo como una lista enlazada


conservando los apuntadores en memoria.

Con cada disco hay una tabla llamada tabla de asignacin de archivos
(FAT)

Tiene una captacin por cada bloque del disco.

La captacin del directorio de cada archivo da el nmero de bloque del


primero del archivo.

Esa ranura en la FAT contiene el nmero de bloque del siguiente bloque.

6.4.3 SERVIDOR DE ARCHIVOS


Tipo de servidor en una red de ordenadores cuya funcin es permitir el acceso
remoto a archivos almacenados en l o directamente accesibles por este. En
principio, cualquier ordenador conectado a una red con un software apropiado,
puede funcionar como servidor de archivos. Desde el punto de vista del cliente
de un servidor de archivos, la localizacin de los archivos compartidos es
transparente. O sea, normalmente no hay diferencias perceptibles si un archivo

est almacenado en un servidor de archivos remoto o en el disco de la propia


mquina.
Algunos protocolos comnmente utilizados en servidores de archivos:

SMB/CIFS (Windows, Samba en Unix)

NFS (Unix)

Un servidor de archivos proporciona una ubicacin central en la red, en la que


puede almacenar y compartir los archivos con usuarios de la red. Cuando los
usuarios necesiten un archivo importante, como un plan de proyecto, podrn
tener acceso al archivo del servidor de archivos en lugar de tener que pasarlo
entre distintos equipos. Si los usuarios de la red necesitan tener acceso a los
mismos archivos y aplicaciones accesibles a travs de la red.
Si tiene toda la informacin de la empresa almacenada en su servidor de
archivos, el respaldo de este es ms simple de realizar.

6.5.4 SEGURIDAD EN LOS ARCHIVOS


Los sistemas de archivos generalmente contienen informacin muy valiosa para
sus usuarios, razn por la que los sistemas de archivos deben protegerla.
El Ambiente de Seguridad
Se entender por seguridad a los problemas generales relativos a la garanta de
que los archivos no sean ledos o modificados por personal no autorizado; esto
incluye aspectos tcnicos, de administracin, legales y polticos.
Se consideran mecanismos de proteccin a los mecanismos especficos del
sistema operativo utilizados para reguardar la informacin de la computadora.
La frontera entre seguridad y mecanismos de proteccin no esta bien definida.
Dos de las ms importantes facetas de la seguridad son:

La perdida de datos

los intrusos.

Algunas de las causas ms comunes de la perdida de datos son:

Actos y hechos diversos, como incendios, inundaciones, terremotos,


guerras, revoluciones, roedores, etc.

Errores de hardware o de software, como fallas en el cpu, discos o cintas


ilegibles, errores de telecomunicacin, errores en los programas, etc.

Errores humanos, por ejemplo; entrada incorrecta de datos, mal montaje


de cintas o discos, ejecucin incorrecta de programas, perdida de cintas o
discos, etc.

La mayora de estas causas se pueden enfrentar con el mantenimiento de los


respaldos (back-ups) adecuados: debera haber copias en un lugar alejado
de los datos originales.
Respecto del problema de los intrusos, se los puede clasificar como:

Pasivos: solo desean leer archivos que no estn autorizados a leer.

Activos: desean hacer cambios no autorizados a los datos.

Para disear un sistema seguro contra intrusos:

Hay que tener en cuenta el tipo de intrusos contra lo que se desea tener
proteccin.

Hay que ser consiente de que la cantidad de esfuerzo que se pone en la


seguridad y la proteccin depende claramente de quien se piensa sea el
enemigo.

Algunos tipos de intrusos son los siguientes:

Curiosidad casual de usuarios no tcnicos

Conocidos (tcnicamente capacitados) husmeando.

Intentos deliberados por hacer dinero.

Espionaje comercial o militar.

Otro aspecto del problema de la seguridad es la prevaca:

Proteccin de las personas respecto del mal uso de la informacin en


contra de un o mismo.

Implica aspectos legales y morales

Tambin debe sealarse la posibilidad del ataque del caballo de Troya.

Modificar un programa normal para que haga cosas adversas adems de


su funcin usual.

Arreglar las cosas para que la victima utilice la versin modificada.

Adems debe considerarse la posibilidad de ataques al estilo del gusano de


Internet.

Fue liberado por Robert Tappan Morris el 02/11/88 e hizo que se


bloquearan la mayora de los sistemas sun y vax de Internet (fue
descubierto y condenado).

Constaba de un programa arrancador y del gusano propiamente dicho.

Utilizaba fallas de seguridad del UNIX y de los programas Finger y


Sendmail d Internet.

Una forma de probar la seguridad de un sistema es contratar un grupo de


expertos en seguridad, conocido como el equipo tigre o el equipo de
penetracin, cuyo objetivo es intentar el sistema de seguridad Para descubrir
sus falencias y proponer soluciones.
Otro aspecto importante de la seguridad consiste en no subestimar los
problemas que pueden causar el personal.
Virus
Los virus computacionales:

Constituyen una categora especial de ataque.

Son un enorme problema para muchos usuarios.

Son fragmentos de programas que se aaden a programas legtimos con


la intencin de infectar a otros.

Un virus difiere de un gusano en lo siguiente:

Un virus esta a cuestas de un programa existente.

Un gusano es un programa completo en si mismo.

Los virus y los gusanos intentan diseminarse y pueden crear un dao


severo.

Generalmente se propagan a travs de copias ilegitimas de programas.

Continuamente los virus se ejecutan e intentan reproducirse cada vez que


se ejecutan el programa que los aloja.

Frecuentemente los problemas con los virus son mas fciles de evitar que
de curar:
-

Utilizar un software original adquirido en comercios respetables.

No utilizar copia piratas.

Efectuar controles rigurosos y frecuentes con programas antivirus


actualizados.

Trabajar con metodologa y disciplina rigurosa en el intercambio de


discos y en las copias a

travs de redes de comunicacin de

datos.
Principios del diseo para la Seguridad.
El diseo del sistema debe ser pblico, ya que pensar que el intruso no
conocer la forma de funcionamiento del sistema es un engao.
El estado predefinido debe ser el de no acceso, dado que los errores en donde
se niega el acceso valido se reportan mas rpido que los errores en donde se
permite el acceso no autorizado.
Verificar la autorizacin actual:

El sistema no debe:
-

Verificar el permiso

Determinar que el acceso esta permitido.

Abandonar esta informacin para su uso posterior.

El sistema tampoco debe:


-

Verificar el permiso al abrir un archivo y no despus de abrirlo,


pes un acceso habilitado permanecera como valido aunque haya
cambiado la proteccin del archivo.

Dar a cada proceso el mnimo privilegio posible,lo que implica un esquema de


proteccin de grano fino.
El mecanismo debe ser simple, uniform e integrado hasta las capas mas bajas
del sistema:

Dotar de seguridad a un sistema inseguro es casi imposible.

La seguridad no es una caracterstica que se pueda aadir fcilmente.

El esquema de seguridad debe ser psicolgicamente aceptable:

Los usuarios no deben sentir que la proteccin de sus archivos les implica
demasiado trabajo.
-

Podran dejar de proteger sus archivos.

Se quejaran en caso de problemas.

No aceptaran fcilmente su propia culpa.

Autentificacin del Usuario


Muchos esquemas d proteccin se basan en la hipasteis de que el sistema
conoce la identidad de cada usuario.
La identificacin de los usuarios se conoce como la autentificacin d los
usuarios.

Muchos mtodos de autentificacin se basan en:

La identificacin de algo conocido por el usuario

Algo que posee el usuario

Algo que es el usuario.

Contraseas:
Son la forma de autentificacin mas utilizada.
Son de fcil comprensin e implementacin.
Deben almacenarse cifradas (encriptadas).
Se deben prever intentos de penetracin consistentes en pruebas de
combinaciones de nombres y contraseas.
Si las contraseas fueran de 7 caracteres elegidos al azar de los 95 caracteres
ASCII que se puedan imprimir:

El espacio bsqueda ser de 95^7, alrededor de 7x10^13.

A1.000 ciframentos por seguido tomara 2.000 anos construir la lista a


verificar contra el archivo de contraseas.

Una mejora al esquema de contraseas consiste en:

Asociar un nmero aleatorio de n bits a cada contrasea.

El nmero aleatorio se modifica al cambiar la contrasea.

El nmero se guarda en el archivo de contraseas en forma no cifrada.

Se concatenan la contrasea y el nmero aleatorio y se cifran juntos.

El resultado cifrado se almacena en el archivo de contraseas.

Se aumenta por 2^n el espectro de bsqueda: a esto se llama salar el


archivo de contraseas.

Una proteccin adicional consiste en hacer ilegible l archivo de contrasea


encriptadas.
Otra proteccin adicional consiste en que el sistema sugiera a los usuarios
contraseas generadas segn ciertos criterios; con esto se evita que el usuario
elija contraseas muy sencillas.
Tambin es conveniente que el sistema obligue al usuario a cambiar sus
contraseas con regularidad; se pude llegar a la contrasea de una sola vez.
Una variante de la idea de contrasea es solicitar al usuario repuestas sobre
informacin de contexto que debe conocer.
Otra variante es la reto-respuesta:

Se

acuerdan

con

el

usuario

algoritmos

(por

ejemplo

formulas

matemticas) que se utilizaran segn el da y/o la hora.

Cuando el usuario se conecta:


-

El sistema suministra un argumento

El usuario debe responder con el resultado correspondiente al


algoritmo vigente ese da o es hora.

Identificacin Fsica
Una posibilidad es la verificacin de si el usuario tiene cierto elemento
(generalmente una tarjeta plstica con una banda magntica), que generalmente
se combina con una contrasea.

Otro aspecto consiste en la medicin de caractersticas fsicas difciles de


reproducir:

Huellas digitales o vocales

Firmas

Longitud de los dedos de las manos.

Mediadas Preventivas.
Limitar los intentos de acceso fallidos y registrarlos;
Registrar todos los accesos.
Tender trampas para atrapar a los intrusos.
6.4.5 Mecanismos de Proteccin
Dominios de Proteccin
Muchos objetos del sistema necesitan proteccin, tales como la cpu, segmentos
de memoria, unidades de disco, terminales, impresoras, procesos, archivos,
base de datos, etc.
Cada objeto se referencia por un nombre y tiene habilidades un conjunto de
operaciones sobre el.
Un dominio es un conjunto de parejas (objeto, derechos).

Cada pareja determina:


-

Un objeto.

Un subconjunto de las operaciones que se puedan llevar a cabo en


el.

Un derecho es el permiso para realizar alguna de las operaciones.


Es posible que un objeto se encontr en varios

dominios con distintos

derechos en cada dominio.


Un proceso se ejecuta en alguna de los dominios de proteccin:

Existe una coleccin de objetos a lo que puede tener acceso.

Cada objeto tiene cierto conjunto de derechos.

Los procesos pueden alternar entre los dominios durante la ejecucin.


Una llamada al sistema operativo provoca una alternancia de dominio
En algunos sistemas operativos los dominios se llaman anillos
Una forma en que el sistema operativo lleva un registro de los objetos que
pertenecen cada dominio es mediante una matriz.

Los renglones son los dominios.

Las columnas son los objetos.

Cada elemento de la matriz contiene los derechos correspondientes al


objeto en ese dominio, por ejemplo.; leer, escribir, ejecutar.

Listas para el control de acceso


Las matrices de proteccin son muy grandes y con muchos lugares vacos.

Desperdician espacio de almacenamiento.

Existen mtodos prcticos que almacenan solo los elementos no vacos


por filas o columnas.

La lista de control de acceso (ACL: Access control list)

Asocia a cada objeto una lista ordenada con:


-

Todos los dominios que puedan tener acceso al objeto.

La forma de dicho acceso (Ej.: lectura(r), grabacin (w),


ejecucin(x)).

Una forma de implementar las ACL consiste en:

Asignar tres bits(r,w,x)para cada archivo,para:


-

El propietario, el grupo del propietario y los dems usuarios.

Permitir que el propietario de cada objeto pueda modificar su ACL en


cualquier momento.
-

Permite prohibir accesos antes permitidos.

Posibilidades
La matriz de proteccin tambin puede dividirse por renglones

Se le asocia a cada proceso una lista de objetos a los cuales puede tener
acceso.

Se le indica las operaciones permitidas en cada uno.

Esto define su dominio.

La lista de objetos se denominan lista de posibilidades y los elementos


individuales se llaman posibilidades.
Cada posibilidad tiene:

Un campo tipo:
-

Indica el tipo del objeto.

Un campo derechos:
-

Mapa de bits que indica las operaciones bsicas permitidas en este


tipo de objeto.

Un campo objeto:
-

Apuntador al propio objeto(por Ej.: su numero de nodo-i)

Las listas de posibilidades son a su vez objetos y se les puede apuntar desde
otras listas de posibilidades; esto facilita la existencia de subdominios
compartidos.
Las listas de posibilidades o listas-c deben ser protegidas del manejo indebido
por parte del usuario.
Los principales mtodos de proteccin son:

Arquitectura marcada:
-

Necesita un diseo de hardware en el que cada palabra de


memoria tiene un bit adicional.

Indica si la palabra contiene una posibilidad o no

Solo puede ser modificado por el sistema operativo.

Lista de posibilidades dentro del sistema operativo:


-

Los procesos hacen referencia a las posibilidades mediante su


nmero.

Lista de posibilidades cifrada dentro del espacio del usuario


-

Cada posibilidad esta cifrada con una clave secreta desconocida


por el usuario

Muy adecuado para sistemas distribuidos

Generalmente las posibilidades tienen derechos genricos aplicables a todos los


objetos Ej.:

Copiar posibilidad:
-

Copiar objeto
-

Crear un duplicado del objeto con una nueva posibilidad

Eliminar posibilidad:
-

Crear una nueva posibilidad para el mismo objeto.

Eliminar un dato dentro de la lista-c sin afectar al objeto.

Destruir objeto:
-

Eliminar en forma permanente un objeto y una posibilidad.

Muchos sistemas con posibilidades se organizan como una coleccin de


mdulos con mdulos administradores de tipos para cada tipo de objeto y
entonces es esencial que el modulo administrador de tipos pueda hacer mas
cosas con la posibilidad de un proceso ordinario.
Se utiliza la tcnica de amplificacin de derechos:

Los administradores de tipo obtienen una plantilla de derechos que les da


ms derechos sobre un objeto de los que permita la propia lista de
posibilidades.

Modelos de Proteccin
Las matrices de proteccin no son ms estticas sino dinmicas
Se pueden identificar seis operaciones primitivas en la matriz de proteccin

Crear objeto

Eliminar objeto

Crear dominio

Eliminar dominio

Insertar dominio

Eliminar derecho

Las primitivas se pueden combinar en comandos de proteccin, que pueden


ser ejecutados por los programas del usuario para modificar la matriz de
proteccin.
En cada momento, la matriz de proteccin determina lo que puede hacer un
proceso en cualquier momento; no determina lo que no esta autorizado a
realizar.
La matriz es impuesta por el sistema.
La autorizacin tiene que ver con la poltica de administracin

Control de Acceso Por Clases de Usuarios


Una matriz de control de acceso puede llegar a ser tan grande que resulte
impractico mantenerla
Una tcnica que requiere menos espacio es controlar el acceso a varias
clases de usuarios.
Un ejemplo de esquema de clasificacin es el siguiente:

Propietario:
-

Usuario especificado
-

Suele ser el usuario que creo el archivo.

El propietario especifica quien mas puede usar el archivo.

Grupo o proyecto:
-

Los diferentes miembros de un grupo de trabajo sobre un proyecto,


acceden a los diferentes archivos relacionados con el proyecto.

Publico:
-

Un archivo publico puede ser accedido por cualquier usuario de la


computadora

Generalmente permite leer o ejecutar pero no escribir sobre el


archivo.

Respaldo y Recuperacin
La destruccin de la informacin, ya sea accidental o intencional, es una realidad
y tiene distintas causas.

Fallas de hardware y de software

Fenmenos meteorolgicos atmosfricos

Fallas en el suministro de energa

Incendios e inundaciones

Robos, vandalismo(incluso terrorismo)

Etc.

6.4.6 IMPLEMENTACION
Tal vez el aspecto ms importante de la implementacin del almacenamiento en
archivos sea poder relacionar bloques de disco con archivos. Se emplean
diversos mtodos en los diferentes sistemas operativos. En esta seccin
examinaremos algunos de ellos.
Asignacin Contigua
El esquema de asignacin ms sencillo es almacenar cada archivo como un
bloque contiguo de datos en el disco. As, en un disco con bloques de 1K, a un
archivo de 50K se le asignaran 50 bloques consecutivos.
Este esquema tiene dos ventajas importantes. Primera, la implementacin es
sencilla porque para saber dnde estn los bloques de un archivo basta con
recordar un nmero, la direccin en disco del primer bloque.
Segunda, el rendimiento es excelente porque es posible leer todo el archivo del
disco en una sola
Operacin. Desafortunadamente, la asignacin contigua tiene tambin dos
ventajas igualmente importantes. Primera, no es factible si no se conoce el
tamao mximo del archiv en el momento en que se crea el archivo. Sin esta
informacin, el sistema operativo no sabr cunto espacio en disco debe

reservar. Sin embargo, en los sistemas en los que los archivos deben escribirse
de un solo golpe, el mtodo puede usarse con gran provecho.
La segunda desventaja es la fragmentacin del disco que resulta de esta poltica
de asignacin. Se
Desperdicia espacio que de otra forma podra haberse aprovechado. La
compactacin del disco suele tener un costo prohibitivo, aunque tal vez podra
efectuarse de noche cuando el sistema estara ocioso.
Asignacin por lista enlazada
El segundo mtodo para almacenar archivos es guardar cada uno como una
lista enlazada de bloques de disco, como se muestra en la Fig. 5-8. La primera
palabra de cada bloque se emplea como apuntador al siguiente. El resto del
bloque se destina a datos.

A diferencia de la asignacin contigua, con este mtodo es posible utilizar todos


los bloques. No

Se pierde espacio por fragmentacin del disco (excepto por fragmentacin


interna en el ltimo bloque).
Adems, basta con que en la entrada de directorio se almacene la direccin en
disco del primer
Bloque. El resto del archivo puede encontrarse siguiendo los enlaces.
Por otro lado, aunque la lectura secuencial de un archivo es sencilla, el acceso
aleatorio es
Extremadamente lento. Adems, la cantidad de almacenamiento de datos en un
bloque ya no es una potencia de dos porque el apuntador ocupa unos cuantos
bytes. Si bien tener un tamao peculiar no es fatal, resulta menos eficiente
porque muchos programas leen y escriben en bloques cuyo tamao es una
potencia de dos.
Asignacin por lista enlazada empleando un ndice
Las dos desventajas de la asignacin por lista enlazada pueden eliminarse si se
toma la palabra de
Apuntador de cada bloque y se le coloca en una tabla o ndice en la memoria. La
Fig. 5-9 muestra el aspecto que la tabla tendra para el ejemplo de la Fig. 5-8. En
ambas figuras, tenemos dos archivos. El archivo A usa los bloques de disco 4, 7,
2,10 y 12, en ese orden, y el archivo B usa los bloques de disco 6, 3, 11 y 14, en
ese orden. Si usamos la tabla de la Fig. 5-9, podemos comenzar en el bloque 4 y
seguir la cadena hasta el final. Lo mismo puede hacerse comenzando en el
bloque 6.

Si se emplea esta organizacin, todo el bloque est disponible para datos.


Adems, el acceso
Directo es mucho ms fcil. Aunque todava hay que seguir la cadena para
encontrar una distancia dada dentro de un archivo, la cadena est por completo
en la memoria, y puede seguirse sin tener que consultar el disco. Al igual que
con el mtodo anterior, basta con guardar un solo entero (el nmero del bloque
inicial) en la entrada de directorio para poder localizar todos los bloques, por
ms grande que sea el archivo. MS-DOS emplea este mtodo para la asignacin
en disco.
La desventaja primordial de este mtodo es que toda la tabla debe estar en la
memoria todo el
Tiempo para que funcione. En el caso de un disco grande con, digamos, 500 000
bloques de 1K (500M), la tabla tendr 500 000 entradas, cada una de las cuales
tendr que tener un mnimo de 3 bytes. Si se desea acelerar las bsquedas, se
necesitarn 4 bytes. As, la tabla ocupar de 1.5 a 2 megabytes todo el tiempo,
dependiendo de si el sistema se optimiza en cuanto al espacio o en cuanto al

tiempo. Aunque MS-DOS emplea este mecanismo, evita manejar tablas muy
grandes empleando bloques grandes (de hasta 32K) en los discos de gran
tamao.
Nodos-i
Nuestro ltimo mtodo para saber cules bloques pertenecen a cul archivo
consiste en asociar a cada archivo una pequea tabla llamada nodo-i (nodondice), que lista los atributos y las direcciones en disco de los bloques del
archivo, como se muestra en la Fig. 5-10

Las primeras pocas direcciones de disco se almacenan en el nodo-i mismo, as


que en el caso de
Archivos pequeos toda la informacin est contenida en el nodo-i, que se trae
del disco a la memoria principal cuando se abre el archivo. En el caso de
archivos ms grandes, una de las direcciones del nodo-i es la direccin de un
bloque de disco llamado bloque de in direccin sencilla. Este bloque contiene
direcciones de disco adicionales. Si esto todava no es suficiente, otra direccin
del nodo-i, llamada bloque de in direccin doble, contiene la direccin de un
bloque que contiene una lista de bloques de indireccin sencilla. Cada uno de

estos bloques de indireccin sencilla apunta a unos cuantos cientos de bloques


de datos. Si ni siquiera con esto basta, se puede usar tambin un bloque de
direccin triple. UNIX emplea este esquema.
6.5 Llamadas al sistema (system calls)
Definicin breve: llamadas que ejecutan los programas de aplicacin para pedir
algn servicio al SO.
Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto
de llamadas es el interfaz del SO frente a las aplicaciones. Constituyen el
lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello
si cambiamos de SO, y abrimos un programa diseado para trabajar sobre el
anterior, en general el programa no funcionar, a no ser que el nuevo SO tenga
el mismo interfaz. Para ello:

Las llamadas correspondientes deben tener el mismo formato.

Cada llamada al nuevo SO tiene que dar los mismos resultados que la
correspondiente del anterior.

Modos de Ejecucin en un CPU


Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No
obstante el SO, tiene que poder utilizar todo el juego de instrucciones del CPU.
Por ello, una CPU debe tener (al menos) dos modos de operacin diferentes:

Modo usuario: el CPU podr ejecutar slo las instrucciones del juego
restringido de las aplicaciones.

Modo supervisor: la CPU debe poder ejecutar el juego completo de


instrucciones.

Llamadas al Sistema
Una aplicacin, normalmente no sabe dnde est situada la rutina de servicio de
la llamada. Por lo que si sta se codifica como una llamada de funcin, cualquier
cambio en el SO hara que hubiera que reconstruir la aplicacin.
Pero lo ms importante es que una llamada de funcin no cambia el modo de
ejecucin de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio,
sin tener que conocer su ubicacin, y hacer que se fuerce un cambio de modo
de operacin de la CPU en la llamada (y la recuperacin del modo anterior en el
retorno).
Esto se hace utilizando instrucciones mquina diseadas especficamente para
este cometido, distintas de las que se usan para las llamadas de funcin.
Bibliotecas de interfaz de llamadas al sistema
Las llamadas al sistema no siempre tienen una expresin sencilla en los
lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son
bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema.
Las hay para distintos lenguajes de programacin.
La aplicacin llama a una funcin de la biblioteca de interfaz (mediante una
llamada normal) y esa funcin es la que realmente hace la llamada al sistema.
Interrupciones y excepciones
El SO ocupa una posicin intermedia entre los programas de aplicacin y el
hardware. No se limita a utilizar el hardware a peticin de las aplicaciones ya
que hay situaciones en las que es el hardware el que necesita que se ejecute
cdigo del SO. En tales situaciones el hardware debe poder llamar al sistema,
pudiendo deberse estas llamadas a dos condiciones:

Algn dispositivo de E/S necesita atencin.

Se ha producido una situacin de error al intentar ejecutar una instruccin


del programa (normalmente de la aplicacin).

En ambos casos, la accin realizada no est ordenada por el programa de


aplicacin, es decir, no figura en el programa.
Segn los dos casos anteriores tenemos las interrupciones y las excepciones:

Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar


que la operacin de la que se estaba ocupando, ya ha terminado.

Excepcin: una situacin de error detectada por la CPU mientras


ejecutaba una instruccin, que requiere tratamiento por parte del SO.

Tratamiento de las interrupciones


Una interrupcin se trata en todo caso, despus de terminar la ejecucin de la
instruccin en curso.
El tratamiento depende de cul sea el dispositivo de E/S que ha causado la
interrupcin, ante la cual debe poder identificar el dispositivo que la ha causado.
Importancia de las interrupciones
El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU
en servicio de una aplicacin, mientras otra permanece a la espera de que
concluya una operacin en un dispositivo de E/S.
El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha
terminado y el SO puede intervenir entonces, si es conveniente, para hacer que
el programa que estaba esperando por el dispositivo, se contine ejecutando.

En ciertos intervalos de tiempo puede convenir no aceptar seales de


interrupcin. Por ello las interrupciones pueden inhibirse por programa (aunque
esto no deben poder hacerlo las mismas).
6.6 TIPOS DE INTERFAZ
Interfaz de preguntas y respuestas
Interfaz de men simple
Interfaz orientada a ventanas
Interfaz de cuarta generacin
Interfaz de preguntas y respuestas:
En los primeros das de las computadoras (antes de pantallas grficas, el ratn,
etc.) era la nica forma realista de interfaz. El usuario poda comunicarse con el
sistema especfico con rdenes de la forma indicada en la figura. Aunque es una
forma concisa, es muy propensa a errores, muy estricta y difcil de aprender.

Interfaz de men simple:


Es una variante de la forma anterior, se presenta al usuario una lista de opciones
y la seleccin se realiza por medio de un nmero, letra o un cdigo en particular.
Ofrece al usuario un contexto global y tiene menos porcentaje de errores que el
anterior, pero su uso puede llegar a ser tedioso. Este es el caso de las opciones

del ejemplo de la figura, que incluyen subopciones (que a su vez puede incluir
otras opciones) dentro de las opciones principales.

Interfaz orientada a ventanas:


A medida que el hardware se ha hecho ms eficiente y los ingenieros de
software han aprendido ms sobre los factores humanos, las tcnicas de interfaz
evolucionaron, llegando a lo que se conoce como interfaces de la tercera
generacin. Ofrece al usuario las siguientes ventajas:
- Se puede visualizar diferentes tipos de informacin simultneamente
- El esquema de mens desplegadles permite realizar muchas tareas
interactivas diferentes.
- Se realizan tareas de control y de dialogo en forma sencilla.
- La utilizacin de mens desplegadles, botones y tcnicas de presentacin
reducen el manejo del teclado.

Interfaz de cuarta generacin:


Esta es la generacin actual. Une todos los atributos de la generacin anterior
con el hipertexto y la multitarea (varias tareas simultneamente).
6.7 LENGUAJES DE COMUNICACION (comandos de control) y Pipelines o
Conductos.
Los lenguajes de comunicacin son aquellos que entiende la maquina ya sea en
MS-dos y cdigo ASCII y para el usuario serian los numricos, letras, caracteres
especiales etc.
Los pipelines sirven para ejecutar uno o varios procesos a la vez:
Por ejemplo:
En la lnea de tiempo aparentemente:

Conductos y Archivos Especiales:


Los conductos y los archivos especiales difieren de los archivos ordinarios en un
aspecto importante. Dando un proceso trata de leer de, o escribir en, un archivo
en disco, no hay duda de que la accin se completar en unos cuantos cientos
de milisegundos como mximo. En el peor de casos, podran necesitarse dos o
tres accesos a disco, no ms. Al leer de un conducto, la sitales diferente: si el
conducto est vaco, el lector tendr que esperar hasta que algn otro
proBcoloque datos en l, lo cual podra tardar horas. Asimismo, al leer de una
Terminal, un procera que esperar hasta que alguien teclee algo.
Por tanto, la regla normal que tiene el sistema de archivos de atender una
solicitud hasta ir no Funciona aqu.
Es necesario suspender las solicitudes y reiniciaras despus. Cuando so trata
de leer de, o escribir en, un conducto, el sistema de archivos puede verificar el
del conducto de inmediato para ver si la operacin puede completarse. Si se
puede, se ejecuta, pero si no, el sistema de archivos registra los parmetros de
la llamada al sistema en la e procesos, a fin de poder reiniciar el proceso cuando
llegue el momento.
Cabe sealar que el sistema de archivos no necesita emprender accin alguna
para hacer que el Irse suspenda; lo nico que tiene que hacer es no enviar una
respuesta, dejando al invocador Bloqueado esperndola.
As pues, despus de suspender un proceso, el sistema de archivos regresa a
su ciclo principal para esperar la siguiente llamada al sistema. Tan pronto como
otro proceso modifica el estado del conducto de modo tal que el proceso
suspendido ya puede completar la operacin, el sistema de archivos iza una
bandera para que en la siguiente iteracin del ciclo principal extraiga de la tabla
de procesos los parmetros del proceso suspendido y ejecute la llamada.

La situacin con las terminales y otros archivos especiales por caracteres es un


poco distinta. El nodo-i de cada archivo especial contiene dos nmeros, el
dispositivo principal y el dispositivo secundario.
El nmero de dispositivo principal indica la clase del dispositivo (p. ej., disco en
RAM, disquete, disco duro, Terminal) y se usa como ndice para consultar una
tabla del sistema de archivos que lo transforma en el nmero de la tarea
correspondiente (es decir, controlador de E/S). En efecto, el dispositivo principal
determina cul controlador de E/S debe invocarse. El nmero de dispositivo
secundario se pasa al controlador como parmetro, y especifica cul dispositivo
debe usarse, por ejemplo, la Terminal 2 o la unidad de disco 1.

También podría gustarte