6.4 Protección basada en el lenguaje
La protección basada en el lenguaje es la protección
declarada por los diseñadores de aplicaciones mediante herramientas de los
lenguajes de programación. Pueden declarar
la protección junto con la tipificación de los datos.
Debido a que la protección de los sistemas operativos
es hecha por el núcleo del sistema operativo, se gastan grandes recursos
simplemente inspeccionando y validando intentos de acceso, sin ni siquiera
realizar acciones y al aumentar la complejidad del SO, también se deben refinar los
mecanismos de protección.
Debido a que
los sistemas de protección, no solo se preocupan de si puedo acceder a un
recurso, sino también de cómo lo accedo, es importante que los diseñadores de
aplicaciones se preocupen en protegerlos.
Algunas de las Ventajas que proporciona esta protección son:
- · No se necesitan llamadas al 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.
- · En flexibilidad 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.
Una de las desventajas en seguridad de este tipo de protección es que el
núcleo ofrece un nivel de seguridad que el código ofrecido por el compilador.
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.
Operaciones básicas que permiten al
programador declarar las restricciones:
·
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.
22/11/15
No hay comentarios:
Publicar un comentario