martes, 25 de noviembre de 2008

UNIDAD 5: SISTEMAS DE ARCHIVOS

INTRODUCCION

Un Archivo es un conjunto de elementos de información relacionados entre si y que fueron definidos por su creador. Por lo general, los archivos representan datos y programas. Un archivo de datos puede ser numérico, alfabético o binario. Los archivos pueden ser de formato libre, como los archivos de texto, o pueden estar rigurosamente formateados. En general, un archivo es una secuencia de bits, bytes, líneas o registros cuyo significado es definido por el creador del archivo y por el usuario.

Un archivo se puede manipular como una unidad mediante operaciones tales como abrir, cerrar, crear, destruir, copiar, renombrar y listar. Los elementos de información individuales que conforman un archivo se pueden manipular con acciones tales como leer, escribir, modificar y eliminar.

De acuerdo a las características y tipo de trabajo que se realicen sobre los archivos, estos pueden caracterizarse por su: Volatilidad, Actividad y Tamaño.


5.1 Concepto

Según Moshe Bar (McGraw-Hill, 2001).Los sistemas de archivos (filesystem en inglés), 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.

Menciona Moshe Bar (McGraw-Hill, 2001). Que 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.

Según Moshe Bar (McGraw-Hill, 2001). 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, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix).

5.2. Noción de un archivo virtual y real

Dice Marco Cesati (O'Reilly Media, 2005). Que un sistema de archivos virtual (abreviado como VFS, del inglés Virtual File System), también denominado conmutador de sistema de archivos virtual, es una capa de abstracción encima de un sistema de archivos más concreto. El propósito de un VFS es permitir que las aplicaciones cliente tengan acceso a diversos tipos de sistemas de archivos concretos de una manera uniforme. Puede ser utilizada para tender un puente sobre las diferencias en los sistemas de archivos de Windows, de Mac OS y Unix, de modo que las aplicaciones pudieran tener acceso a archivos en los sistemas de archivos locales de esos tipos sin tener que saber a qué tipo de sistema de archivos están teniendo acceso.

Un VFS especifica un interfaz (o un contrato) entre el kernel y un sistema de archivos en concreto.

5.3 Componentes de un sistema operativo

Según Silberschatz, Abraham (2006). La gestión de procesos. Puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.

Según Silberschatz, Abraham (2006).La Gestión de la memoria principal tiene las siguientes funciones:

  • Conocer qué partes de la memoria están utilizadas y por quién.
  • Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
  • Asignar y reclamar espacio de memoria cuando sea necesario.

Gestión del almacenamiento secundario

Silberschatz, Abraham (2006). Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

  • Planificar los discos.
  • Gestionar el espacio libre.
  • Asignar el almacenamiento.

El sistema de E/S

Según Silberschatz, Abraham (2006). Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

Sistema de archivos

Según Silberschatz, Abraham (2006). Los Sistema de archivos estructuran la información guardada en una unidad de almacenamiento, y 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.

Sistemas de protección

Dice Silberschatz, Abraham (2006). Que es un Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:

  • Distinguir entre uso autorizado y no autorizado.
  • Especificar los controles de seguridad a realizar.
  • Forzar el uso de estos mecanismos de protección.

Sistema de comunicaciones

Según Silberschatz, Abraham (2006). Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.

Intérprete de órdenes

(Shell de línea de comandos)

Según Silberschatz, Abraham (2006). El Shell del sistema es el principal componente del SO que utiliza el usuario. Este uso se realiza siempre directa o indirectamente a través del intérprete. Generalmente incorpora un lenguaje de programación para automatizar las tareas.

Hay dos tipos de intérpretes de órdenes:

  • Alfanuméricos: las órdenes se expresan mediante un lenguaje específico usando las cadenas de caracteres introducidas por el terminal.
  • Gráficos: normalmente las órdenes se especifican por medio de iconos y otros elementos gráficos.

Programas de sistema

Según Silberschatz, Abraham (2006). Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

  • Manipulación y modificación de archivos.
  • Información del estado del sistema.
  • Soporte a lenguajes de programación.
  • Comunicaciones.

Gestor de recursos

Según Silberschatz, Abraham (2006). Como gestor de recursos, el Sistema Operativo administra

  • La CPU (Unidad Central de Proceso, donde está alojado el microprocesador).
  • Los dispositivos de E/S (entrada y salida)
  • La memoria principal (o de acceso directo).
  • Los discos (o memoria secundaria).
  • Los procesos (o programas en ejecución).
  • y en general todos los recursos del sistema.

Administración de tareas

  • Según Silberschatz, Abraham (2006). Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.

  • Según Silberschatz, Abraham (2006). Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Administración de usuarios

  • Según Silberschatz, Abraham (2006). Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
  • Según Silberschatz, Abraham (2006). Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

Manejo de recursos

  • Según Silberschatz, Abraham (2006). Centralizado: Si permite utilizar los recursos de una sola computadora.
  • Según Silberschatz, Abraham (2006). Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos) de más de una computadora al mismo tiempo.