A
medida que ha aumentado la complejidad de los sistemas operativos,
sobre todo al trata de ofrecer interfaces de más alto nivel con el
usuario, lo objetivos de la protección se han vuelto mucho más
refinados. En esta refinación observamos que los diseñadores de los
diseñadores de los sistemas de protección se han apoyado mucho en ideas
que se originaron en los lenguajes de programación y especialmente en
los conceptos de tipos de datos abstractos y objetos. Los sistemas de
protección ahora se ocupan no sólo de la identidad de un recurso al cual
se intenta acceder, sino también de la naturaleza funcional de ese
acceso. En los sistemas de protección más nuevos, el interés en la
función que se invocará se extiende más allá de un conjunto de funciones
definidas por el sistema, como los métodos de acceso a archivos
estándar, para incluir funciones que también podrían ser definidas por
el usuario.
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:
1.
Las necesidades de protección se declaran de forma sencilla en vez de
programarse como una secuencia de llamadas a procedimientos de un
sistema operativo.
2.
Las necesidades de protección pueden expresarse independientemente de
los recursos que ofrezca un sistema operativo en particular.
3. El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la protección.
4.
Una notación declarativa es natural porque los privilegios de acceso
están íntimamente relacionados con el concepto lingüístico de tipo de
datos.
No hay comentarios:
Publicar un comentario