1 votos

Ningún sistema de archivos es el mismo no hay ningún Sistema Operativo?

Algunos legado de computadoras y/o los controladores no tienen el sistema de ficheros con ellos es que debido a que estos dispositivos no tienen un Sistema Operativo? Si los archivos no pueden ser guardados en estos dispositivos, ¿cómo puede la fábrica de la lógica de control/programa y otros datos guardados en el dispositivo?

1voto

gronostaj Puntos 15369

Sistema de archivos es, básicamente, el método para almacenar archivos en la memoria.

Los dispositivos de almacenamiento, tales como discos duros, unidades flash, discos ópticos, tarjetas de memoria, etc. puede almacenar un número fijo de bytes. Un vacío, borrado, 48 bytes de memoria contiene esto:

00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00

Ahora, digamos que tengo dos archivos de texto

  1. Primero se llama Greetings.txt y contiene la palabra Hello.
  2. El otro se llama Username.txt y contiene la palabra gronostaj.

Los archivos están codificados con ASCII, de modo que cada letra corresponde a un byte. Después de la codificación en el uso de ASCII, los archivos " bytes son:

  1. Nombre 47 72 65 65 74 69 6e 67 73 2e 74 78 74

    Contenido 48 65 6c 6c 6f

  2. Nombre 55 73 65 72 6e 61 6d 65 2e 74 78 74

    Contenido 67 72 6f 6e 6f 73 74 61 6a

(Estoy usando hexadecimal los valores de la segunda columna de la tabla en ese sitio web.)

Puedo poner primero el contenido del archivo en nuestra memoria como este:

48 65 6c 6c 6f 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00

Hay algunos problemas, sin embargo.

  • Lo que si quiero colocar un segundo archivo en la memoria? ¿Cómo puedo saber cuando un archivo termina y comienza la otra?
  • Los archivos tienen nombres, ¿cómo debo almacenar estos?

Para solucionar esto, podemos inventar un simple sistema de ficheros. Supongamos que nos interleave nombres de archivo con su contenido, de modo que cada nombre de archivo es seguido por el contenido de ese archivo, y por separado con cero bytes. Dos secuencial de bytes cero significa "no más archivos".

47 72 65 65 74 69 6e 67    <- first 8 bytes of name 1
73 2e 74 78 74 00 48 65    <- next 5 bytes of name 1, then 00, then 2 bytes of content 1
6c 6c 6f 00 55 73 65 72    <- next 3 bytes of content 1, then 00, then 4 bytes of name 2
6e 61 6d 65 2e 74 78 74    <- next 8 bytes of name 2
00 67 72 6f 6e 6f 73 74    <- 00, then 7 bytes of content 2
61 6a 00 00 00 00 00 00    <- 2 bytes of content 2, then 00 00, so no more files

O lo mismo, pero sin la codificación ASCII: (que no puede almacenarlo en la memoria como eso, simplemente en aras de la legibilidad)

 G  r  e  e  t  i  n  g
 s  .  t  x  t 00  H  e
 l  l  o 00  U  s  e  r
 n  a  m  e  .  t  x  t
00  g  r  o  n  o  s  t
 a  j 00 00 00 00 00 00

Un sistema de ficheros real también:

  • Archivo de almacén de fechas de creación y modificación, atributos, permisos, metadatos y otras cosas
  • Contienen algún tipo de tabla de contenido para que los archivos se puede acceder casi de inmediato, sin necesidad de escanear todo el disco hasta que se encuentren
  • Soporte de directorios
  • Soporte de archivos y nombres de archivo que contengan 00 bytes
  • Ser capaz de recuperarse de algunos errores
  • Apoyar el cambio de la longitud de archivo sin mover archivos siguientes

Pero usted consigue la idea.

Ahora, los sistemas operativos. Los sistemas operativos para la mayoría de los equipos constan de archivos, por lo que necesita un sistema de archivos para almacenar el sistema operativo en él. Pero se podría crear un monolítico OS que no tienen que trabajar con la persistencia de los archivos y no se almacena en un archivo. FreeRTOS es un ejemplo. Así, mientras que los sistemas de archivos y sistemas operativos son generalmente bien acoplados, que en realidad puede existir el uno sin el otro.

Por "monolítico" me refiero a "una sola pieza de código binario". Sería un llamado de blob: una secuencia de bytes sin nombre, fecha de creación o de cualquier otra propiedad. Después de todo, la Cpu sólo secuencias de instrucciones. Ellos no se preocupan por los metadatos de los archivos o sistemas de ficheros, ellos solo quieren ser alimentados con las tareas a ejecutar. Y si puede expresar estas instrucciones como bytes, entonces blobs son suficientes!

Y blob puede ser fácilmente almacenado en la memoria sin ningún tipo de sistema de archivos. En realidad, nosotros lo hicimos en nuestro primer ejemplo, cuando acabamos de poner el contenido del archivo 1 en la memoria.

Espero que esto responda a tu pregunta!

0voto

Wayne Puntos 101

El bios, el sistema operativo y el sistema de archivos son distintos e independientes de los elementos, y un sistema operativo puede existir en la memoria de sólo lectura en el dispositivo. Así que no hay de que los mensajes no son iguales, pero el sistema operativo tiene un trabajo, para ser la interfaz entre los programas y el hardware. Si el dispositivo no tiene un sistema operativo, a continuación, el programa o programas que se ejecutan en el dispositivo son el sistema operativo.

Parece probable que el sistema no tiene un sistema operativo si es que informes de ningún sistema de archivos o un roto o incompleto de la partición/sistema de archivos; Pero

... Puede ser que el dispositivo de almacenamiento masivo está mal configurado; o, más específicamente, el número de cabezas y pistas que el bios está configurado para utilizar no es el mismo que el número de cabezas y pistas de que el dispositivo ha sido formateado para su uso. Cuando esto ocurre, el bootstrap no se puede cargar el archivo completo sistema de asignación. ¿El sistema tiene una batería que acabó resultando en la pérdida de la información de configuración. Si es así correctamente la coincidencia de la configuración del bios para el formato de recuperar el sistema ...

La Bios es la interfaz básica de hardware. El sistema operativo es la interfaz de los programas que ha sido estandarizado por lo que los programas no necesita preocuparse acerca de lo específico de hardware que se utiliza. El sistema de archivos es el estándar de la tabla de datos para acceder a un dispositivo de almacenamiento masivo.

La bios se carga primero de la memoria de sólo lectura en la interfaz de controlador de dispositivo establece interrupción de puntos de acceso. Int 13 es el punto de acceso para los dispositivos de almacenamiento masivo.

https://en.wikipedia.org/wiki/INT_13H ... la bios carga la tabla de particiones, desde la pista 0, sector 0 del dispositivo y una rutina de inicio. http://www.ntfs.com/fat-partition-sector.htm

La tabla de particiones dice a todo lo grande que sea el disco duro y la rutina de inicio en la máquina de dirección de la tabla de particiones+3E hexagonal, (si mal no recuerdo de mis ingeniería inversa correctamente esto es en 0000:063E hexagonal de la máquina), que normalmente se carga el sistema operativo y los controladores que son capaces de ser más avanzadas.

Si el sistema operativo del equipo no tiene almacenamiento masivo apoyo que usted todavía puede enlazar a este bios del apoyo y fortalecimiento de una extensión para el sistema basado en el dispositivo de almacenamiento masivo. Pero tenga en cuenta que el sistema operativo puede ser de inflexión de las interrupciones de encendido y apagado para mantener las solicitudes a la bios secuencial.

La bios no puede manejar multi-threaded operaciones. Específicamente se realiza una llamada a la bios para instruir a la unidad de disco duro para estar listo para leer o escribir en una ubicación específica. La lectura de las operaciones de escritura a continuación, tendrá lugar en una segunda llamada a la bios. Una más avanzada del sistema operativo es necesario porque algo tiene que evitar que un programa de preparación para leer datos, mientras que el otro programa quiere escribir datos o los datos se sobrescribirán.

Un sistema de archivos es necesario para que los programas para usar el dispositivo de almacenamiento masivo sin correr el riesgo de que se sobrescriban los datos o el bloqueo de otros programas de uso de la unidad de disco duro o en el bios.


El sistema operativo utilizado por Altair basic en los días de el 8080 fue muy Minimalista. Usted puede guardar los archivos en el disco duro, especificando lo que la cabeza y el seguimiento a comenzar diciendo que el archivo en. Ningún archivo de sistema se utiliza, el usuario tenía que recordar la cabeza y el número de pista se guardó el archivo en sí mismo.

No mucho de un sistema operativo de disco, pero funcionó. Las rutinas para leer el teclado y enviar información a la pantalla fueron mínimos así.

0voto

Attie Puntos 223

Creo que hay dos puntos a la dirección aquí:

  • Algunos sistemas no tienen un sistema de ficheros - ¿eso significa que no tienen un sistema operativo?
  • Donde puede de configuración se almacenan si no hay ningún sistema de ficheros (o sea de solo lectura)

Metalicos

Algunos sistemas no tienen un sistema operativo en la que hay una aplicación, y que la aplicación de software que interactúa directamente con el hardware. Esto es común con microcontrolador pequeño de los sistemas, donde la complejidad es baja. En este escenario, el software suele ser a medida, con el equipo de desarrollo de la escritura de los controladores y la abstracción a partir de cero, o utilizando el código de proveedor para facilitar su objetivo de diseño.

Dicho esto, estos sistemas pueden apoyar un sistema de ficheros. Simple de sistemas de archivos como FAT , son comúnmente utilizados para almacenar los registros y proporcionar la actualización de firmware funcionalmente.

Configuración de la frecuencia será formateado y escrito directamente a raw no volátil de almacenamiento, sin necesidad de utilizar un sistema de ficheros.

Sistemas Embebidos - Programador

Subir un nivel, nos encontramos un poco más grande de los sistemas y un aumento en la complejidad. En este punto vamos a encontrar Sistemas Operativos de Tiempo Real (RTOS) - aunque no todos tienen el tiempo real de los requisitos que están diseñados con un conjunto específico si las características. Estos sistemas pueden ser construidos con una serie de "tareas" que están programados para la ejecución de otros arbitraria o tareas no se pueden ejecutar. Es común que estos sistemas fácilmente el apoyo de los sistemas de ficheros, redes, etc... mediante el uso de proveedores o de la comunidad de código producido.

La configuración puede ser escrito para el almacenamiento en raw, o guardar como un archivo en un sistema de ficheros.

Buscar en FreeRTOS, ThreadX, etc...

Sistemas Embebidos

Ahora nos encontramos con sistemas integrados que son aún mayores. La complejidad ha aumentado, y en este nivel encontramos una dependencia en un sistema de archivos para organizar la configuración del sistema y de las aplicaciones / software. Ahora somos capaces de ejecutar aplicaciones arbitrarias, y los granos se vienen con toda una carga de controladores para diversos componentes de hardware.

Aquí estamos viendo en Linux, QNX, "Windows Embedded Compact", etc...

Software normalmente será construido para el sistema, llamando en proyectos como el busybox para proporcionar gran parte de la funcionalidad, y el uso de proyectos como buildroot y Yocto para construir las diversas aplicaciones y producir una imagen.

La configuración más probable es que se escriben en un archivo - aunque el no es nada para que los desarrolladores dejen de usar raw de almacenamiento como antes, ya que estos sistemas funcionan generalmente en hardware personalizado.

El sistema de archivos es necesario, pero no puede ser modificable, y puede ser puramente "en memoria" - limitado en tamaño, y todos los cambios (si RW) se pierden en un reinicio.

Completo Cliente / Servidor Sistemas

Aquí estamos buscando en PCs de escritorio que ejecutan un sistema de ventanas, de lectura-escritura de los sistemas de ficheros (normalmente en grandes discos), la ejecución de código arbitrario en abundancia, la configuración es, sin duda almacena como un archivo - este es el tipo de sistema que usted está familiarizado con. Los servidores son generalmente muy similares a las Pc de escritorio, en los términos que estamos discutiendo aquí.

En el mundo Linux, esto sería una "distribución". Normalmente encontrará alguna forma de gestión de paquetes, por lo que la instalación / desinstalación de una aplicación, es una cuestión de descargar y descomprimir (compilar demasiado si estás usando la talla de Gentoo).

Aquí estamos en Linux, Windows, Windows Server, etc...


Anteriormente he mencionado que los sistemas más pequeños suele almacenar la configuración en raw almacenamiento no volátil. Esto se hace por decidir lo que desea almacenar, clasificar los datos, y la escritura en el almacenamiento.

Por ejemplo, es posible que desee almacenar la siguiente configuración:

  • La brida de precicely 52458 pasos de la rotación
  • La brida debe ser girado a la posición 5547 a 05:00
  • La brida debe ser girado a la tomografía por 49885 a 18:00

Los números caben todos en un entero de 16 bits, así que vamos a utilizar para representar los pasos. Por el momento, hemos de decidir la tienda en BCD para una mejor compatibilidad con un RTC, así que es eso.

Tenemos los siguientes datos:

  • 52458 --> 0xCCEA
  • 5547 --> 0x15AB
  • 05:00 --> 0x0500
  • 49885 --> 0xC2DD
  • 18:00 --> 0x1800

Hay valores pueden ser recopilados y escritos de almacenamiento de 10 bytes:

0x00000000    CC EA 15 AB 05 00 C2 DD 18 00

La aplicación sabe cómo interpretar esto, así que no necesita de apoyo. Por el apoyo que me estoy refiriendo a la localización de la zona de almacenamiento por su nombre (e.g: sistema de archivos y el nombre de archivo), y compartir la comprensión de la configuración con un humano (e.g: JSON / XML / YAML / TOML).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: