Estoy buscando una definición formal de archivo que no solo incluya almacenamiento, sino también abstracciones como procfs o / dev / null (o cualquier archivo basado en fusibles) que no se relacionen con el almacenamiento.
Hasta ahora sé que todos los archivos son abstracciones que
- puede ser identificado
- puede tener nombres (generalmente organizados en estructuras jerárquicas)
- se puede acceder como una secuencia de bytes
- generalmente proporcionan permisos y otros metadatos (específicos del sistema)
sin embargo, no pude encontrar ninguna definición formal útil en ningún libro de SO que haya leído hasta ahora.
operating-systems
os-kernel
filesystems
Giacomo Tesio
fuente
fuente
Respuestas:
Según Wikipedia, un archivo de computadora es simplemente un recurso para almacenar información. El término parece haberse originado en la era de las tarjetas perforadas, donde un programa de computadora estaba literalmente almacenado en un archivo (como en una caja utilizada para almacenar páginas sueltas, ver imagen a continuación). A medida que se introdujeron otras formas de medios, como los discos, siguió la nomenclatura.
Desde el punto de vista de * nix, todo es un archivo: enchufes, dispositivos, terminales, pantallas / monitores, archivos de datos, tuberías, etc. Microsoft Windows, en cambio, tiende a llamar "archivos" de datos de almacenamiento permanente y recursos volátiles como lo que sean, como tuberías con nombre, enchufes, dispositivos ráster, etc. Otros sistemas pueden tener definiciones similares en algún punto entre estos dos extremos.
Desafortunadamente, como acabo de decir, no existe una definición única de lo que es un archivo, porque son cosas diferentes para diferentes personas, excepto que todos tienden a estar de acuerdo con la definición de la línea base de que un archivo es un recurso con nombre que almacena datos en medios permanentes (permanente no implica que nunca se pueda modificar, simplemente que persiste durante los ciclos de alimentación).
( Wikipedia )
fuente
Pienso en un archivo como una secuencia de bytes. Incluso después de que pierde su nombre (generalmente causado por una llamada a rm, que lo desvincula), todavía existe en el disco hasta que sus partes se sobrescriban con otras cosas. Los formatos de archivo son contextos para leer archivos. Todo se remonta al principio de que la información es bytes más contexto.
El póster anterior dice que los dispositivos, aunque se tratan como archivos, no son realmente archivos. Este es un truco muy útil.
Entonces, mi definición de un archivo: una secuencia de bytes almacenados en la memoria.
fuente