sábado, 21 de enero de 2012

Unidad 6 - Administración de Archivos

6.1 Sistema de Archivos

Los sistemas de archivos o ficheros, estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.

Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados.
Un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red.

Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear.

El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acceso.


6.2 Jerarquía de Datos
Internamente los Sistemas Operativos estructuralmente se clasifican según como se hayan organizado internamente en su diseño.

• Sistemas monolíticos: 
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la última ofrece algún cálculo útil que la primera necesite.
Esta organización sugiere una estructura básica del sistema operativo:
1.- Un programa central que invoque el procedimiento de servicio solicitado (Shell o Kernel)
2.- Un conjunto de procedimientos de servicios que realice las llamadas al sistema.
3.- Un conjunto de procedimientos de uso general que ayude a los procedimientos de servicio.

• Sistemas en estratos: 
Estos sistemas operativos se organizan como una jerarquía de estratos, cada uno construido arriba del que está debajo de él.
El sistema tenía 6 estratos, estos se muestran en la siguiente tabla:
5 Operador de THE
4 Programas del usuario
3 Administración de Entrada/Salida 
2 Comunicación entre el operador y el proceso
1 Administración de la memoria y el tambor magnético
0 Distribución del procesador y multiprogramación

6.3 Tipos de Archivos

Un archivo virtual
Es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se están ejecutando dichos procesos. Estos archivos se crean durante la ejecución de un sistema y los utiliza para el almacenamiento de información, intercambio y organización mientras se ejecuta el sistema, su tamaño es muy variable y terminan al detener la ejecución del sistema, muchos de ellos son borrados.
Se le conoce como archivo virtual, aquel que contiene los datos generados por el usuario.

Archivo virtual

Ejecución del proceso

Archivos temporales (*.tmp)

Archivo Real
Es un objeto que contiene programas, datos o cualquier otro elemento. Un archivo se muestra de manera real, en la información del espacio que ocupa en un disco duro o sistema de almacenamiento, en otras palabras su tamaño en bytes. 



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 elementos como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos que la computadora hace, y 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.



6.4.1 El Sistema de Archivo visto por el usuario
Dentro de las Interfaces de Usuario se puede distinguir básicamente tres 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, que establece un puente entre la máquina y las personas, permite a la máquina entender la instrucción y a el hombre entender el código binario traducido a información legible.


Sus principales funciones son las siguientes:
  • ·         Puesta en marcha y apagado.
  • ·         Control de las funciones manipulables del equipo.
  • ·         Manipulación de archivos y directorios.
  • ·         Herramientas de desarrollo de aplicaciones.
  • ·         Comunicación con otros sistemas.
  • ·         Información de estado.
  • ·         Configuración de la propia interfaz y entorno.
  • ·         Intercambio de datos entre aplicaciones.
  • ·         Control de acceso.
  • ·         Sistema de ayuda interactivo.


6.4.2 Diseño del Sistema de Archivos

Pasos a seguir
• Inventario Preliminar: Relevamiento sin mucho detalle para ver el volumen de la tarea a realizar. 
• Etapa de Análisis: (crítica y detallado de la organización) (Análisis de Sistemas: usando herramientas, encuestas, estadísticas, etc., arman una carpeta que marca la organización actual de la empresa con las modificaciones propuestas para organizar el sistema). 
• Etapa de Diseño: Cuál es la mejor solución informática en función de la carpeta (Ingeniería de Sistemas) (Diagnósticos). Esto nos llevará a una carpeta técnica con instructivo, manual de funciones, etc., para llegar a la última etapa. 
• Programación e Implementación: Se elige el lenguaje y programadores. 
• Puesta en Marcha 
• Mantenimiento: Se lo mantiene con actualizaciones, con el tiempo, la perfomance del sistema decrece por lo que se requiere más mantenimiento. Cuando este tiempo es muy grande se intenta renovarlo. 
• Diseño: Varias metodologías y herramientas o software que nos facilitan la tarea, algunas veces orientadas.
• Metodologías:
1. Lineal 
2. Estructurada o Modular
3. Diseño Orientado a Objetos 
4. Metodologías CASE

En todas se llega al concepto fundamental de la informática "archivo". En el sistema Lineal, las aplicaciones son definidas o diseñadas en secuencias, como una escala o etapa de un proceso productivo.
En el sistema Modular, se parte de una idea general de lo que es el sistema y se empieza a seccionar el sistema en estructuras de acuerdo a un criterio pre establecido. 
Se llegará a un nivel donde ya no se podrá realizar subdivisiones y se tendrá entonces las aplicaciones.

• Archivos: Contenedores de los datos que nos suministran información de la organización.
Hay dos grupos de archivos o ficheros (entidad).

• Registro: Un registro de un archivo contiene todas las informaciones relativas a un mismo individuo o a un mismo objeto perteneciente al fichero. El individuo de un registro es una información que figura en todos los registros del fichero y que permite distinguirlos y buscarlos en el mismo. 

Las operaciones que conciernen a todos los registros de un archivo son:
• Creación de un archivo: Con técnicas. 
• Anulación o destrucción de un fichero. 
• Selección o clasificación del fichero: Ordenar todos los artículos (grabaciones) de un archivo siguiendo los valores crecientes y/o decrecientes de uno o varios campos que figuran en los registros de dicho fichero. Los campos utilizados para este fin (ordenamiento) se llaman llaves o claves o argumentos de clasificación, ordenamiento o entresacado.


6.4.3 Servidor de Archivos

Tipo 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.

CARACTERÍSTICAS
- Dar soporte al almacenamiento de información en archivos continuos, que son archivos que contienen series de datos largas y continuas. Estas series de datos podrían ser, por ejemplo, el texto de un documento o los elementos de imagen de una imagen. 
- Los documentos almacenados en carpetas de Series son archivos continuos. Otros ejemplos de archivos continuos son los archivos de PC y los archivos de sistema. 
- El soporte de archivo continuo está diseñado para que su uso en las aplicaciones de cliente y servidor sea eficiente. Una estructura de directorio jerárquica que permite organizar los objetos como si fueran las ramas de un árbol. 
- Para acceder a un objeto, especifique la vía de acceso desde los directorios al objeto. Una interfaz común que permite al usuario y a las aplicaciones acceder a archivos continuos, archivos de bases de datos, documentos y otros objetos que están almacenados en el servidor.

FUNCIONES
El servidor de archivos permite al cliente almacenar y acceder a información, por ejemplo archivos y programas, que está ubicada en el servidor. Este servidor sustituye al servidor de carpeta de tipo 2 compartido que se utilizaba antes. El servidor de archivos de OS/400 intercambia información con el sistema de archivos integrado del servidor. Sus posibilidades de servicio de archivos equivalen a las de una carpeta compartida, pero los clientes pueden acceder también a la información de cualquiera de los sistemas de archivos nuevos. Los clientes utilizan su propia interfaz para interactuar con los sistemas de archivos.


6.4.4 Seguridad en Archivos

PHP está sujeto a la seguridad integrada en la mayoría de sistemas de servidores con respecto a los permisos de archivos y directorios. Esto permite controlar qué archivos en el sistema de archivos se pueden leer. Se debe tener cuidado con los archivos que son legibles para garantizar que son seguros para la lectura por todos los usuarios que tienen acceso al sistema de archivos.

Desde que PHP fue diseñado para permitir el acceso a nivel de usuarios para el sistema de archivos, es perfectamente posible escribir un script PHP que le permita leer archivos del sistema, modificar sus conexiones de red, enviar trabajos de impresión masiva, etc. Esto tiene algunas implicaciones obvias, es necesario asegurarse que los archivos que se van a leer o escribir son los apropiados.


6.4.5 Mecanismos de Protección de Archivos
La función de la protección en un sistema computacional es la de proveer un mecanismo para la aplicación de políticas que gobiernen el uso de los recursos. Estas políticas pueden ser establecidas de varias maneras. Algunas son fijadas durante el diseño del sistema, mientras que otras son formuladas como parte de la administración en la ejecución del sistema. Algunas otras son definidas por usuarios individuales para proteger sus archivos y programas. Un sistema de protección debe tener la flexibilidad para aplicar las políticas que sean declaradas para ello. 
Las políticas para el uso de recursos pueden variar, dependiendo de la aplicación y pueden estar sujetas a cambios. Por estas razones, la protección no puede ser considerada como un problema que solamente concierne al diseñador de un Sistema Operativo, sino que debe considerarse, como una herramienta para los programadores de aplicaciones, de manera que los recursos creados y soportados por un subsistema de aplicación, puedan ser protegidos contra el mal uso.

Un principio importante es la separación entre política y mecanismo. Los mecanismos determinan como será realizado algo. En contraste, las políticas deciden que es lo que se realizará. Es posible que las políticas cambien de lugar en lugar o de tiempo en tiempo. En el peor de los casos, cada cambio en la política requerirá un cambio en el subyacente mecanismo. 


6.4.6 Implementación Sistemas de Archivos

Una implementación o implantación es la realización de una aplicación, o la ejecución de un plan, idea, modelo científico, diseño, especificación, estándar, algoritmo o política.
En ciencias de la computación, una implementación es la realización de una especificación técnica o algoritmos como un programa, componente software, u otro sistema de cómputo. Muchas implementaciones son dadas según a una especificación o un estándar. Por ejemplo, un navegador web respeta (o debe respetar) en su implementación, las especificaciones recomendadas según el World Wide Web Consortium, y las herramientas de desarrollo del software contienen implementaciones de lenguajes de programación.


6.5 Llamadas al Sistema System Calls

En informática, llamada al sistema (en inglés system call) 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

Al iniciar cualquier sistema operativo, el usuario ve e interactúa con un conjunto de elementos en la pantalla que constituyen lo que se denomina la interfaz del usuario. La interfaz de usuario constituye la manera en que el usuario interactúa con la computadora. 
En los sistemas operativos actuales es común el uso de una interfaz gráfica de usuario: una colección de objetos sobre un fondo coloreado (basada en la metáfora del escritorio) con iconos, ventanas redimensionables, menús y cuadros de diálogo.



Tipos de Interfaz:

Interfaz de línea
 de comando. Requiere que el usuario introduzca la instrucción o comando por medio del teclado. El usuario teclea o escribe los comandos, carácter a carácter ante un indicador, usando la sintaxis y nomenclatura correctas y luego oprime “Enter” para ejecutarlo. Los usuarios experimentados en esta interfaz afirman que es más simple, más rápida y que proporcionan mejor información que las interfaces gráficas.


Interfaz controlado por menús. Esta interfaz proporciona menús para seleccionar opciones del programa, así el usuario no tiene que memorizar comandos. En lugar de esto los comandos son seleccionados del menú presentado en pantalla, como cuando se escoge algún plato en un restaurante.

Interfaz gráfica del usuario (GUI - Graphical User Interfaz). En este tipo de interfaz, los usuarios controlan el sistema señalando y haciendo clic en gráficos o iconos de la pantalla que representan las características del programa. Se basa en el hecho de que la gente reconoce con más rapidez y facilidad las representaciones gráficas que las palabras o frases que lee. Se le asocia generalmente a otras características, como el uso de una interfaz de ratón activo con menús de despliegue descendente, cajas de diálogo, cajas de verificación, botones de radio y elementos semejantes.


6.7 Lenguaje de Comunicación (comandos de control) y pipelines o conductos

Secuencia de comandos de control

· Comprobar si alguien está utilizando activamente el producto y, si es así, impedir la reinstalación, la actualización o la eliminación.
· Asegurarse de que el sistema host local es compatible con el software (las secuencias de comandos pueden realizar comprobaciones de compatibilidad más a fondo que las aplicadas por los atributos úname del producto).
· Eliminar archivos anticuados o versiones del producto instaladas con anterioridad.
· Crear enlaces con los archivos o copias adicionales de los mismos después de instalarlos.
·  Copiar los archivos configurables en su lugar durante la primera instalación.

No hay comentarios: