Hoy abordaremos el tema del Sistema de Mensajes, especialmente orientado al control de controladores básicos de entrada/salida que encontraremos en el Espacio de Direcciones y que nos ayudará a trabajar con los recursos reales que ofrece el Sistema Informático.
Hace un par de días hablaba de que los controladores (ese tipo de dispositivo a través del cual dos soluciones electrónicas se comunican entre ellas) nos brindarían acceso a recursos reales (como discos, red, demás periféricos, etc.) bajo una estandarización completa. La mayoría de las soluciones electrónicas que se comunicarán con nuestro Sistema Informático implementarán algún tipo de característica que obligue a realizar una operación de entrada o de salida por demanda; es decir, que les solicitaremos o enviaremos información o nos la solicitará.
Voy a poner ejemplos de este tipo de operaciones de entrada/salida:
- Solicitamos a un disco duro un paquete:
- Primero se revisará que el discoduro está disponible.
- Se generará un mensaje que incluya la orden de solicitud.
- Se escribirá el mensaje, poniendo los valores correspondientes en los registros E del controlador.
- Después se enviará el mensaje, escribiendo el valor 1 en el registro E0.
- Enviamos a una impresora un paquete:
- Primero se revisará que la impresora está disponible.
- Se generará un mensaje que incluya el paquete con los datos.
- Se escribirá el mensaje, poniendo los valores correspondientes en los registros E del controlador.
- Después se enviará el mensaje, escribiendo el valor 1 en el registro E0.
- Recibimos del ratón un paquete:
- Primero se revisará que el ratón está disponible.
- Se supervisará el estado del valor L0.
- Se recibirá el mensaje, leyendo los registros L del controlador.
- Se procesará el mensaje obteniendo una orden (error, otro mensaje) o un paquete con los datos.
Un mensaje es un valor que, como veremos en profundidad cuando hagamos las controladoras (drivers) del Sistema Operativo, se forma, si la instrucción es de lectura/escritura, por dicha instrucción seguida de un paquete (información binaria); en caso de ser otro tipo de instrucción, se denominará orden y podrá estar acompañada de parámetros. Los mensajes son de longitud dinámica, es decir, pueden ocupar uno o más bits dependiendo de la controladora. El estándar marca unas instrucciones básicas de control y las instrucciones de lectura/escritura (entrada/salida) de paquetes; aunque veremos que hay otras también estandarizadas para determinados recursos críticos.
Hay que tener muy claro que para esta arquitectura, los controladores serían como repositorios o, más ejemplificador, un árbol de directorios (paquetes) que están numerados y pueden ser solicitados o modificados. Esto se llevará más al extremo haciendo que los discos (duros, flexibles, ópticos, sólidos) sean considerados un mismo tipo de recurso, con algunas consideraciones (como si se puede escribir), pero iguales de implementar. Cualquier recurso se comunicará con el Sistema Informático recibiendo/enviando datos a través del Sistema de Mensajes. Esto tiene mucho que ver con pensar que "todo son archivos", aunque como vimos ayer, quizás la generalización sería "todo son funciones".
Por último, y para enlazar con lo que veremos pronto, todo el tema del Sistema de Mensajes estará a su vez controlado por el Sistema de Aplicaciones que se ejecutará sobre el Sistema Operativo... que tendría funciones de sistema de archivos, pero utilizando recursos más globales.