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
6.3 TIPOS DE ARCHIVOS
En computación existen básicamente dos tipos de archivos, los archivos ascii y los 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 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.
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.
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.
- 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
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)
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 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.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)).
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.
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