6.5 PROTECCIÓN BASADA EN EL LENGUAJE

La especificación de protección en un lenguaje de programación permite la descripción de alto nivel de políticas para la asignación y uso de recursos.
 las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse como un asunto que sólo concierne al diseñador de un sistema operativo; también debe estar disponible como herramienta que el diseñador de aplicaciones pueda usar para proteger los recursos de un subsistema de aplicación contra intervenciones o errores.
Aquí es donde los lenguajes de programación entran en escena. Especificar el control de acceso deseado a un recurso compartido en un sistema es hacer una declaración acerca del recurso. Este tipo de declaración se puede integrar en un lenguaje mediante una extensión de su mecanismo de tipificación. Si se declara la protección junto con la tipificación de los datos, el diseñado de cada subsistema puede especificar sus necesidades de protección así debería darse directamente durante la redacción del programa, y en el lenguaje en el que el programa mismo se expresa.

Este enfoque tiene varias ventajas importantes:
Una notación declarativa es natural porque los privilegios de acceso están íntimamente relacionados con el concepto lingüístico de tipo de datos.
Las necesidades de protección se declaran sencillamente y no llamando procedimientos del SO.
Las necesidades de protección pueden expresarse independientemente de los recursos que ofrece el SO.
El diseñador no debe proporcionar mecanismos para hacer cumplir la protección.

Los privilegios de acceso están íntimamente relacionados con el tipo de datos que se declara. Diferencias entre las distintas formas de protección:

Seguridad:
La obligación de cumplimiento por núcleo ofrece un grado de seguridad que el código de seguridad ofrecido por el compilador.

Flexibilidad:
La flexibilidad de la implementación por núcleo es limitada. Si un lenguaje no ofrece suficiente flexibilidad, se puede extender o sustituir, perturbando menos cambios en el sistema que si tuviera que modificarse el núcleo.

Eficiencia:
Se logra mayor eficiencia cuando el hardware apoya la protección. La especificación de protección en un lenguaje de programación permite describir en alto nivel las políticas de asignación y uso de recursos. El programador de aplicaciones necesita un mecanismo de control de acceso seguro y dinámico para distribuir capacidades a los recursos del sistema entre los procesos de usuario. Las construcciones que permiten al programador declarar las restricciones tienen tres operaciones básicas:

Distribuir capacidades de manera segura y eficiente entre procesos clientes.Especificar el tipo de operaciones que un proceso podría invocar en un recurso asignado. Especificar el orden en que un proceso dado puede invocar las operaciones de un recurso.          

No hay comentarios.:

Publicar un comentario