sábado, 24 de noviembre de 2012

6.4.-Protección basada en el leguaje


La protección se logra con la ayuda del núcleo del SO que valida los intentos de acceso a recursos. El gasto de inspeccionar y validar todos los intentos de acceso a todos los recursos es muy grande, por lo tanto debe ser apoyada por hardware. Al aumentar la complejidad del SO, se deben refinar los mecanismos de protección. Los sistemas de protección, no solo se preocupan de si puedo acceder a un recurso, sino también de cómo lo accedo, por lo tanto los diseñadores de aplicaciones deben protegerlos, y no solo el SO. 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. Ventajas:

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