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 datos. travs de redes de comunicacin de

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 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. dominios con distintos

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. 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) Un campo derechos:

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. Los procesos hacen referencia a las posibilidades mediante su nmero. Lista de posibilidades cifrada dentro del espacio del usuario

Lista de posibilidades dentro del sistema operativo:

objetos Ej.:

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

Copiar posibilidad: Crear una nueva posibilidad para el mismo objeto. Crear un duplicado del objeto con una nueva posibilidad Eliminar un dato dentro de la lista-c sin afectar al objeto. Eliminar en forma permanente un objeto y una posibilidad. Copiar objeto Eliminar posibilidad: Destruir objeto:

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: Suele ser el usuario que creo el archivo. El propietario especifica quien mas puede usar el archivo. 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. Usuario especificado Grupo o proyecto:

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