Vuelvo después de dos semanas de descanso, en las que avancé el tema de la multiplataforma, potenciada directamente por la disposición para cada plataforma (navegadores, windows, java...) de diferentes Sistemas Informáticos. El tema a tratar hoy es el último del SOM propiamente dicho. A partir de hoy, me centraré más en la parte del SAM, donde aparecen la mayoría de los Administradores; pero sin olvidar que muchos de éstos se basan en controles (reales o virtuales) proporcionados por el módulo LiSi del Sistema Operativo.
En todo Sistema Operativo, cuya definición se podría resumir en un proceso que permite ejecutar una o más soluciones informáticas de forma segura, debe existir un mecanismo de seguridad que garantice ese cometido. Para abordar este tema, todos los módulos tendrán que cumplir unas políticas que afectarán a diferentes partes críticas del sistema.
Quizás la política más importante es la de estanqueidad, de la cual hablé ya en anteriores entradas. En esencia, esta política garantiza que un proceso que esté siendo ejecutado sobre un Sistema nunca interferirá entre otro sin consentimiento de ambos. Esta política se garantiza tanto en procesos (salvo en los módulos, ejecutados sobre el Sistema Informático principal directamente, donde se confiará por otras vías) donde los cambios en el flujo de ejecución estarán revisados por el Sistema Operativo y, por definición, éstos conectarán con las Librerías del Sistema (LiSi); como en los programas, debido a que se ejecutan sobre Sistemas Informáticos independientes; y también en las aplicaciones, ya que se interpretan por el SAM que generará entornos diferentes para cada una.
Una política también importante es la de privacidad. Ésta persigue que los diferentes datos personales de los usuarios del sistema y los propios datos de los programas estén a buen recaudo. Con el cumplimiento de la política de estanqueidad la de privacidad se cumple sin muchos problemas. El Sistema Operativo, aunque es multiacceso, no es multiusuario (tampoco se podría considerar monousuario), esto se debe a que en el kérnel sólo toma una identidad, y generará las demás a partir del Administrador de Usuarios. Digamos que es un poco como tener un súper-usuario raíz (root), pero que no tiene acceso a todo el Sistema, sino, sólo al Sistema Operativo.
Es decir, el Sistema Operativo está controlado por esa única identidad, mientras que los procesos, programas y aplicaciones tendrán sus propias jerarquías de usuarios provistas por el Administrador de Usuarios. De esta forma, es imposible suplantar con un usuario la identidad del kérnel, ya que serán incompatibles. Esto dará mucha seguridad al Sistema dotándolo de un alto grado de privacidad. De igual forma, los datos personales propios de cada uno de los usuarios del Sistema guardados en los medios de almacenamiento estarán supervisados por el Sistema de Aplicaciones, por ejemplo, gracias al Administrador de Discos y otros administradores que velarán por el correcto uso de esos datos.
Otra política que se llevará a cabo es la de robustez. Tanto el Sistema Operativo como las propias soluciones informáticas que aparezcan junto a él, deben cumplir también esta política orientada a dar una respuesta válida, estándar, e interoperativa a todos los niveles. Por ejemplo, si un programa se encuentra con algún tipo de problema, debe de saber recuperarse a un estado conocido y presentar las posibles soluciones a sus dependencias. En el caso general de recuperarse de problemas automáticamente tenemos al propio Sistema Operativo. Por construcción, siempre se podrá recuperar a un estado conocido tomando el control absoluto del Sistema. En el caso de los procesos virtualizados, deteniendo la máquina virtual; en el caso de programas, deteniendo su flujo de ejecución; y en las aplicaciones, deteniendo el SAM.
Estos son algunos ejemplos de ejemplos de políticas encargadas de ofrecer un mecanismo de seguridad potente que permita que el Sistema Operativo y todos sus recursos, tanto reales como virtuales, puedan ser usados de forma segura tanto por procesos, programas y aplicaciones que se ejecuten sobre el Sistema.