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:
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.
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.
- 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.
- La
implementación del lenguaje puede proveer software para hacer cumplir la
protección cuando no se pueda validar si el hardware está soportado.
- Interpretar
las especificaciones de protección para generar llamadas en cualquier
sistema de protección provisto por el hardware y el SO.
No hay comentarios.:
Publicar un comentario