stringtranslate.com

Sistema de archivos sintético

En informática , un sistema de archivos sintético o un pseudosistema de archivos es una interfaz jerárquica para objetos que no son archivos y que aparecen como si fueran archivos normales en el árbol de un sistema de archivos basado en disco o de almacenamiento a largo plazo . Se puede acceder a estos objetos que no son archivos con las mismas llamadas al sistema o programas de utilidad que a los archivos y directorios normales . El término común tanto para archivos normales como para objetos que no son archivos es nodo .

El beneficio de los sistemas de archivos sintéticos es que la semántica de los sistemas de archivos conocidos se puede reutilizar para un enfoque universal y fácilmente implementable para la comunicación entre procesos . Los clientes pueden utilizar dicho sistema de archivos para realizar operaciones de archivos simples en sus nodos y no tienen que implementar métodos complejos de codificación y paso de mensajes ni otros aspectos de la ingeniería de protocolos . Para la mayoría de las operaciones, se pueden utilizar utilidades de archivos comunes, por lo que incluso la creación de secuencias de comandos es bastante sencilla.

Esto se conoce comúnmente como que todo es un archivo y generalmente se considera que se originó en Unix .

Ejemplos

/sistema de archivos proc

En el mundo Unix, normalmente hay un sistema de archivos especial montado en /proc . Este sistema de archivos se implementa dentro del kernel y publica información sobre los procesos . Para cada proceso, hay un directorio (nombrado por el ID del proceso ), que contiene información detallada sobre el proceso: estado , archivos abiertos, mapas de memoria , montajes, etc.

/proc apareció por primera vez en Unix 8.ª edición, [1] y su funcionalidad se amplió enormemente en el Plan 9 de Bell Labs . [2]

Sistema de archivos Linux/sys

El sistema de archivos /sys en Linux complementa /proc, al proporcionar mucha información detallada (no relacionada con el proceso) sobre el estado del kernel al espacio de usuario. Los sistemas Unix más tradicionales ubican esta información en llamadas sysctl.

ObexFS

ObexFS es un sistema de archivos basado en FUSE que proporciona acceso a objetos OBEX a través de un sistema de archivos. Las aplicaciones pueden funcionar en objetos remotos a través del protocolo OBEX como si fueran simples archivos (locales).

Plan 9 servidores de archivos

En la familia de sistemas operativos Plan 9 de Bell Labs , el concepto de sistema de archivos sintético 9P se utiliza como método IPC genérico . A diferencia de la mayoría de los otros sistemas operativos, el diseño de Plan 9 está muy distribuido: mientras que en otros mundos de sistemas operativos hay muchas (y a menudo grandes) bibliotecas y marcos para cosas comunes, Plan 9 los encapsula en servidores de archivos. El beneficio más importante es que las aplicaciones pueden ser mucho más simples y que los servicios se ejecutan independientemente de la red y la plataforma: pueden residir en prácticamente cualquier host y plataforma de la red, y prácticamente en cualquier tipo de red, siempre que la aplicación pueda montar el servidor de archivos. .

Plan 9 impulsa este concepto de manera expansiva: la mayoría de los servicios del sistema operativo, por ejemplo, el acceso al hardware y la pila de redes, se presentan como servidores de archivos. De esta manera, es trivial utilizar estos recursos de forma remota (por ejemplo, un host que accede directamente a los dispositivos de bloque o interfaces de red de otro host) sin la necesidad de protocolos adicionales.

También existen otras implementaciones del protocolo del sistema de archivos 9P para muchos otros sistemas y entornos. [3]

Sistemas embebidos

Es bien sabido que la depuración de sistemas integrados o incluso dispositivos de sistema en chip (SoC) es difícil. [ cita necesaria ] Se han implementado varios protocolos para proporcionar acceso directo a dispositivos en el chip, pero tienden a ser propietarios, complejos y difíciles de manejar.

Basado en 9P , el sistema de archivos en red de Plan 9, los estudios sugieren utilizar sistemas de archivos sintéticos como esquema de acceso universal a esa información. El principal beneficio es que 9P es muy simple y, por lo tanto, bastante fácil de implementar en hardware y puede usarse fácilmente en prácticamente cualquier tipo de red (desde un enlace serie hasta Internet).

Pros y contras

El principal argumento a favor del uso de sistemas de archivos sintéticos podría ser la flexibilidad y el fácil acceso a las arquitecturas orientadas a servicios . Una vez que un número notable de aplicaciones utilice este esquema, la sobrecarga general (código, consumo de recursos, trabajo de mantenimiento) se puede reducir significativamente. Muchos argumentos generales a favor de las SOA también se aplican aquí.

Los argumentos en contra de los sistemas de archivos sintéticos incluyen el hecho de que la semántica del sistema de archivos puede no adaptarse a todos los escenarios de aplicación. Por ejemplo, las llamadas a procedimientos remotos complejos con muchos parámetros tienden a ser difíciles de asignar a los esquemas del sistema de archivos [ cita necesaria ] y pueden requerir un rediseño de la aplicación.

Referencias

  1. ^ "página de proceso de la Sección 4 del octavo manual de Unix". Man.cat-v.org . Consultado el 28 de agosto de 2015 .
  2. ^ "Página de proceso de la Sección 3 del manual del plan 9". Man.cat-v.org . Consultado el 28 de agosto de 2015 .
  3. ^ "Implementaciones del 9P". 9p.cat-v.org . Consultado el 28 de agosto de 2015 .

enlaces externos