Cuando la gente dice "En Unix, todo es un archivo", lo que quieren decir es que también las cosas que no son archivos se tratan como archivos.
Por supuesto, la mayoría de los sistemas operativos funcionan con archivos. Archivos de texto, archivos de imagen, archivos de sonido. Pero no todos los sistemas operativos tratan los dispositivos como archivos. Esa es una diferencia importante. Si enumero el contenido de mi carpeta / dev / en mi sistema operativo Ubuntu (que está basado en Unix), obtengo una lista de más de 200 dispositivos. Algunos de esos dispositivos son hardware, pero se muestran dentro de una carpeta. Por ejemplo, discos duros, puertos USB, mouse y teclado, dispositivos de audio e impresoras, entre otros. Algunos de los dispositivos son virtuales, por ejemplo / dev / urandom, que se comporta como un archivo infinito lleno de números aleatorios. No es un archivo real en mi disco duro.
Todos esos dispositivos se tratan como archivos. Puedo leer datos y / o escribir datos en esos dispositivos. Aquí hay ejemplos de copia de datos de diferentes dispositivos en el dispositivo de audio. Esto es posible porque se tratan como archivos. El resultado (geek) es la capacidad de escuchar el contenido del disco duro, el movimiento del mouse, la memoria de la computadora o los píxeles de una imagen. Esto sería mucho más difícil de lograr si los dispositivos no se trataran como archivos, porque cada dispositivo requeriría diferentes métodos para leer y escribir datos.
Dicho esto, lo que significa "todo" varía de un sistema a otro. Por ejemplo, OS X se basa en Unix, pero no tiene un dispositivo / dev / audio. Utiliza un sistema de audio patentado llamado CoreAudio. Entonces, en este caso, uno podría decir "casi todo es un archivo". Luego, en sistemas como Windows, donde "todo no es un archivo", aún podría hacer cosas como copiar el contenido de un archivo al puerto de la impresora (escribir algo como copy mydocument.txt >lpt1:
), que es similar a copiar un documento en el dispositivo de la impresora en Unix sistemas.
¿Otros sistemas operativos como Windows y OS X no funcionan con archivos? Ellos si. Windows y OS X funcionan con archivos, pero Windows no trata los dispositivos como archivos, lo cual es parte de lo que significa "todo es un archivo".