22 ene 2012

UNIDAD 6 ADMINISTRADOR DE ARCHIVOS

Un “Archivo” es un conjunto de registros relacionados.

El “Sistema de Archivos” es un componente importante de un S. O. y suele contener :

  • “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
  • “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
  • “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
  • “Integridad del archivo” para garantizar la integridad de la información del archivo.

El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.

Una forma de organización de un sistema de archivos puede ser la siguiente:

  • Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ”.
  • El “directorio raíz ” 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.

En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.



6.2 JERARQUIA DE DATOS


En este tipo de jerarquía cada lista define un nodo que representa un nuevo nivel en la jerarquía. Los datos de la estructura definen los elementos finales de la jerarquía y los llamamos hojas.

 Como sabes, los árboles son el tipo de datos típico que se usa en computación para representar estructuras jerárquicas. ¿Qué diferencia fundamental hay entre los árboles y las listas jerárquicas? En un árbol todos los nodos tienen un dato asociado, mientras que en las listas jerárquicas los datos sólo se encuentran en las hojas. Por esta razón, los árboles definidos por estas listas no son verdaderos y los llamaremos pseudo árboles.

 La utilidad principal de las listas jerárquicas es doble. Por una parte definen una estructura relativamente sencilla en la que podemos definir y probar un conjunto de funciones que después van a ser directamente adaptables a los árboles. Por otra parte, representan una estructura de datos muy flexible con la que representar gran cantidad de objetos.

 En los nombres de las funciones definidas para listas jerárquicas usaremos el sufijo pt (pseudo tree) para no confundirlas con las funciones que definiremos más adelante para árboles verdaderos. Por ejemplo, la función levels-pt contará el número de niveles de un pseudo árbol o lista jerárquica, mientras que la función levels-tree contará el número de niveles de un árbol genérico.



6.3 TIPOS DE ARCHIVOS

En computación existen básicamente dos tipos de archivos, los archivos ascii y los archivos binarios.

 El vocablo ascii es un acrónimo para American Standard Code for Information Interchange. Es un estándar que asigna un valor numérico a cada carácter, 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 demás. 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 común por los programas de bioinformática están los siguientes:

-Formato PHYLIP

-GenBank

-EMBL

-PIR

-FASTA

-CLUSTAL

-MSF

-MSF del GCG



6.4 INTERFAZ CON USUARIO

La interfaz de usuario es el medio con que el usuario puede comunicarse con una máquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo, normalmente suelen ser fáciles de entender y fáciles de accionar.

Las interfaces básicas de usuario son aquellas que incluyen cosas como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos que la computadora hace, en general, todos aquellos canales por los cuales se permite la comunicación entre el ser humano y la computadora. La mejor interacción humano-máquina a través de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia.

Dentro de las Interfaces de Usuario se puede distinguir básicamente dos tipos: A) Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratón y pantalla visualizadora. B) Una interfaz de software, destinada a entregar información acerca de los procesos y herramientas de control, a través de lo que el usuario observa habitualmente en la pantalla. C) Una interfaz de Software-Hardware, esta permite un puente entre la maquina y las personas, permite a la maquina entender la instruccion y a el hombre entender el codigo binario traducido a informacion legible.


 6.4.1  EL SISTEMA DE ARCHIVO VISTO POR EL USUARIO

Los usuarios y aplicaciones desean usar los archivos. Las operaciones típicas que deben soportarse incluyen las siguientes:

1. Recuperar Todo ( Retrieve_all):Recuperar todos los registros de un archivo. Esto va a requerir de una aplicación que deba procesar toda la información de un archivo una vez.. Esta opcion es usualmente equivalente con el termino de sequential proccessing, ( proceso secuencial), porque todos los registros son accedidos en secuencia.

2. Recuperar_Uno (Retrieve_One): Esta operacion requiere la recuperación de un solo un registro. Las

soluciones interactivas orientadas a la transacción necesitan esta operación.

1. Recuperar_siguiente (Retrieve_Next): Esta operación implica la recuperación del registro que es el siguiente ,según una secuencia lógica, el recuperado hace menos tiempo. Un programa que realice búsquedas puede usar también esta operación.

2. Recuperar Previo (Retrieve_Previous): Es similar a Recuperar Siguiente, pero en este caso el registro que es "previo" al que se esta accediendo en el momento actual.

3. Insertar Uno (Insert One): Inserta un nuevo registro dentro del archivo. Es necesario que el nuevo registro se ajuste a una posición particular para preservar la secuencia del archivo.

4. Borrar uno (Delete One): Borra un registro existente. Ciertos enlaces o otras estructuras

puede que necesiten actualizarse para preservar la secuencia del archivo.

1. Actualizar Uno ( Update_one): Recupera un registro o actualiza uno o más de sus campos, y rescribe la actualización en el archivo. Es necesario preservar la secuencia con esta operación. Sí el tamaño del registro esta cambiado, la operación de actualización es más difícil si el tamaño es preservado.

1. Recuperar Varios (Retrieve_ Few): Recupero un numero de registros.

La naturaleza de las operaciones que comúnmente se ejecutan. sobre un archivo va a influenciar sobre el modo en que se va a organizar el mismo.


 6.4.2 Diseño del Sistema de Archivos

El diseño del sistema es la estrategia de alto nivel para resolver problemas y construir una solución. Éste incluye decisiones acerca de la organización del sistema en subsistemas, la asignación de subsistemas a componentes hardware y software, y decisiones fundamentales conceptuales y de política que son las que constituyen un marco de trabajo para el diseño detallado.

 El diseño de sistemas es la primera fase de diseño en la cual se selecciona la aproximación básica para resolver el problema. Durante el diseño del sistema, se decide la estructura y el estilo global. La arquitectura del sistema es la organización global del mismo en componentes llamados subsistemas. La arquitectura proporciona el contexto en el cual se toman decisiones más detalladas en una fase posterior del diseño. AL tomar decisiones de alto nivel que se apliquen a todo el sistema, el diseñador desglosa el problema en subsistemas, de tal manera que sea posible realizar más trabajo por parte de varios diseñadores que trabajarán independientemente en distintos subsistemas. El diseñador de sistemas debe tomar las siguientes decisiones:

- Organizar el sistema en subsistemas

- Identificar la concurrencia inherente al problema

- Asignar los subsistemas a los procesadores y tareas

- Seleccionar una aproximación para la administración de almacenes de datos

- Manejar el acceso a recursos globales

- Seleccionar la implementación de control en software

- Manejar las condiciones de contorno

- Establecer la compensación de prioridades


 6.4.3 Servidor de Archivos

ipo de servidor en una red de ordenadores cuya función 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 localización 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 máquina.

Un servidor de archivos proporciona una ubicación 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, podrán 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 través de la red.

Si tiene toda la información de la empresa almacenada en su servidor de archivos, el respaldo de este es mas simple de realizar

Algunos protocolos comúnmente utilizados en servidores de archivos:

SMB/CIFS (Windows, Samba en Unix)

NFS (Unix)


 6.4.4 Seguridad en Archivos

El sistema de archivos bajo Linux es una estructura de arbol construida bajo archivos y directorios. Linux almacena distintos tipos de información sobre cada archivo en sus sistema de archivos, incluyendo la siguiente información:
 El nombre del archivo.
El tipo de archivo.
El tamaño del archivo.
La ubicación fisica del archivo en el disco.
Varios horarios de permisos controlan los derechos de acceso del propietario, los miembros del grupo asociado y otros utilitarios. Si se utiliza el comando ls-l se creará una lista de archivos que muestra el campo de permisos. Los permisos del archivo se modifican mediante el comando chmod.



6.4.5 Mecanismos de Proteccion de Archivos

Existen 2 bits adicionales de permiso asociados a un archivo: los bits SUID y SGID.

SUID representa Establecer el identificador del usuario y SGID representa Establecer el identificador de grupo. Cuando se ejecutan programas con estos permisos, éstos se comportan como si pertenecieran a identificadores de usuarios distintos. Cuando se ejecuta un programa con SUID, su identificador de usuario efectivo es el mismo que el del usuario propietario del programa en el sistema de archivo, independientemente de quién esté ejecutando realmente el programa. SGID es similar, salvo que cambia el identificador de grupo.

Los problemas de seguridad de los programas SUID surgen cuando el programa ejecuta una línea de comandos, activa un shell o ejecuta una archivo que los usuarios pueden modificar para que contenga sus propios comandos.
Aunque algunos programas SUID son necesarios, es mejor reducirlos al mínimo.


 6.4.6 Implementacion Sistemas de Archivos
Mecanismos de Protección
Dominios de Protección
Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él. Un dominio es un conjunto de parejas (objeto, derechos):

• Cada pareja determina:

• Un objeto.

• Un subconjunto de las operaciones que se pueden llevar a cabo en él.

Un derecho es el permiso para realizar alguna de las operaciones. Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio.

Un proceso se ejecuta en alguno de los dominios de protección:

• Existe una colección de objetos a los que puede tener acceso.

• Cada objeto tiene cierto conjunto de derechos.

Los procesos pueden alternar entre los dominios durante la ejecución. Una llamada al S. O. provoca una alternancia de dominio. En algunos S. O. los dominios se llaman anillos.

Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a 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 ej.: leer, escribir, ejecutar.

Listas Para Control de Acceso

Las “matrices de protección” son muy grandes y con muchos lugares vacíos:

• Desperdician espacio de almacenamiento.

• Existen métodos prácticos que almacenan solo los elementos no vacíos por filas o por columnas. La lista de control de acceso (ACL: access control list):

• Asocia a cada objeto una lista ordenada con:

• Todos los dominios que pueden tener acceso al objeto.

• La forma de dicho acceso (ej: lectura ®, grabación (w), ejecución (x)).

 Control de Acceso Por Clases de Usuarios

Una matriz de control de acceso puede llegar a ser tan grande que resulte impráctico mantenerla. Una técnica que requiere menos espacio es controlar el acceso a varias clases de usuarios. Un ejemplo de esquema de clasificación es el siguiente:

• Propietario:

• Suele ser el usuario que creó el archivo.

• Usuario especificado:

• El propietario especifica quién más 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.

• Público:

• Un archivo público puede ser accedido por cualquier usuario de la computadora.

• Generalmente permite leer o ejecutar pero no escribir sobre el archivo.



6.5 Llamadas al Sistema System Calls

Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.

Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de Proceso del inglés Process Control Block), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.



6.6 Tipos de Interfaz

Interfaz de preguntas y respuestas

En los primeros días de las computadoras (antes de pantallas gráficas, el ratón, etc.) era la única forma realista de interfaz. El usuario podía comunicarse con el sistema especifico con ordenes de la forma indicada en la figura. Aunque es una forma concisa, es muy propensa a errores, muy estricta y difícil de aprender.

Interfaz de menú simple

Es una variante de la forma anterior, se presenta al usuario una lista de opciones y la selección se realiza por medio de un número, letra o un código 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 mas eficiente y los ingenieros de software han aprendido mas sobre los factores humanos, las técnicas de interfaz evolucionaron, llegando a lo que se conoce como interfaces de la tercera generación. Ofrece al usuario las siguiente ventajas:

Se puede visualizar diferentes tipos de información simultáneamente El esquema de menús desplegables permite realizar muchas tareas interactivas diferentes. Se realizan tareas de control y de dialogo en forma sencilla. La utilización de menús desplegables, botones y técnicas de presentación reducen el manejo del teclado.


6.7 Lenguaje de Comunicacion (comandosdecontrol) y pipelines o conductos

Un lenguaje informático es un lenguaje usado por, o asociado con, ordenadores. Muchas veces, este término es usado como sinónimo de lenguaje de programación, pero un lenguaje informático no tiene por qué ser un lenguaje de programación.

Como ejemplo un lenguaje de marcas como el HTML no es un lenguaje de programación, pero sí es un lenguaje informático.

En general, como cualquier otro lenguaje, un lenguaje de ordenador es creado cuando hay que transmitir una información de algo a alguien basado en computadora.

El lenguaje de programación es el medio que utilizan los programadores para crear un programa de ordenador; un lenguaje de marcas es el medio para describir a un ordenador el formato o la estructura de un documento; etc.

No hay comentarios:

Publicar un comentario