sábado, 10 de noviembre de 2012






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. 
  • 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. 

Protección en java 2

  • La protección la maneja la máquina virtual (JVM) 
  • La JVM asigna un dominio de protección a una clase cuando la carga. 
  • El dominio de protección indica qué operaciones puede (y no puede) realizar la clase. 
  • Si se invoca un método de biblioteca y éste realiza una operación privilegiada, se examina el stack para asegurar que la biblioteca pueda realizar la operación



La protección que se ofrece en los sistemas de computación existentes casi siempre se ha logrado con la ayuda del núcleo de un sistema operativo, que actúa como agente de seguridad que inspecciona y valida cada intento por acceder a un recurso protegido. Puesto que la validación de todos los accesos puede dar pie a un gasto extra considerable, debemos apoyarla con hardware para reducir el costo de cada validación o bien debemos aceptar que el diseñador del sistema podría inclinarse por sacrificar los objetivos de la protección. Es difícil satisfacer todos estos objetivos si los mecanismos de soporte con que se cuenta restringen la flexibilidad para implementar diversas políticas de protección.



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: 

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.

Las necesidades de protección pueden expresarse independientemente de los recursos que ofrezca un sistema operativo en particular.

El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la protección.

Una notación declarativa es natural porque los privilegios de acceso están íntimamente relacionados con el concepto lingüístico de tipo de datos. 

Hay diversas técnicas que una implementación de lenguaje de programación puede utilizar para hacer cumplir la protección, pero cualquiera de ellas deberá depender hasta cierto punto del grado de soporte de una máquina subyacente y su sistema operativo. 


¿Qué ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un núcleo, en comparación con el cumplimiento forzado en gran medida por un compilador?

Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de seguridad del sistema de protección mismo, que el que ofrece la generación de código de verificación de protección por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo correcto que sea el traductor, de algún mecanismo subyacente de gestión de almacenamiento que proteja los segmentos desde los cuales se ejecuta el código compilador y, en última instancia, de la seguridad de los archivos desde los que se carga el programa.


Flexibilidad: Hay límites a la flexibilidad de un núcleo de protección para implementar una política definida por el usuario, aunque podría proporcionar recursos suficientes para que el sistema haga cumplir sus propias políticas. Con un lenguaje de programación, se puede declarar la política de protección y hacerse cumplir según sea necesario en una implementación.

Eficiencia: Se logra la eficiencia máxima cuando hardware apoya directamente el cumplimiento de la protección. En la medida en que se requiera soporte de software, el cumplimiento basado en el lenguaje tiene la ventaja de que es posible verificar el cumplimiento del acceso estático fuera de línea en el momento de la compilación.



En síntesis, la especificación de la protección en un lenguaje de programación permite describir un alto nivel de políticas de asignación y uso de recursos.



Bibliografia:

http://es.scribd.com/doc/55509163/unidad-6-SO#download 










19 comentarios:

  1. El grado de protección que se proporciona en los sistemas informáticos existentes suele conseguirse inmediatamente en el kernel del sistema operativo que actúa como agente de seguridad para inspeccionar y validar cada intento de acceder a un recurso protegido.

    lo que puedo comentar es que en investigación que realice descubrí que Silberschantz. (1999). Menciona que 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 sub-sistema 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.

    ResponderEliminar
  2. A mi parecer sobre el tema de "Protección Basada En El Lenguaje", este es un tipo de protección se encuentra dentro del núcleo del sistema operativo el cual permite la descripción de alto nivel de políticas para la asignación y uso de recursos; actúa como agente de seguridad que valida e inspecciona cada intento por acceder a un recurso protegido que se encuentra dentro del sistema.
    Publicado Por: Jonathan De Jesús Torres Hernández.

    ResponderEliminar
  3. La Protección Basada En El Lenguaje, brinda mucha mas seguridad debido a que esta se encuentra dentro del núcleo también demuestra una mayor flexibilidad y eficiencia,y esta protección actúa como un mejor agente de seguridad que inspecciona cada intento de acceso a los elementos y recursos del sistema, así poder tener una mejor calidad de protección.

    ResponderEliminar
  4. La protección que se ofrece en los sistemas de computación existentes casi siempre se ha logrado con la ayuda del núcleo de un sistema operativo, que actúa como agente de seguridad que inspecciona y valida cada intento por acceder a un recurso protegido. Puesto que la validación de todos los accesos puede dar pie a un gasto extra considerable.

    ResponderEliminar
  5. coincido con mis compañeros,el sistema operativo necesita un sistema de protección que actué como el agente de seguridad. y a si tener una inspección y validación del sistema.

    ResponderEliminar
  6. Un punto importante tambien de la implementación de un lenguaje de programación, es que puede proporcionar diversas técnicas para imponer la protección, pero todas estas técnicas dependen hasta cierto punto del soporte proporcionado por la maquina subyacente y por su sistema operativo.

    ResponderEliminar
  7. pues a mi opinión 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 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.

    ResponderEliminar
  8. estoy de acuerdo con mi compañero jose eduardo pero haciendo incapie en lo que menciona de que los sistemas operativos ofrecen interfaces de alto nivel esto nos lleva tener una proteccion mas refinada, en mi opinion es por eso que se a echo la proteccion por lenguajes ya que cada lenguaje tiene diferentes interfaces.

    ResponderEliminar
  9. Este tipo de proteccion es basado en un lenguaje en un sistema operativo, donde permite una descripcion de alto nivel para asignacion y usos de recursos. Debido a esto brinda mucha seguridad y es de mayor felixibilidad y eficiencia.

    ResponderEliminar
  10. como mi compañera lo menciona La especificación de protección en un lenguaje de programación que permite la descripción del alto nivel de políticas para la asignación y uso de recursos, así también como la validación de la seguridad al momento de utilizar dicho sistema, donde dicho sistema debe ser flexible, confiable, eficiente, complejo,etc

    ResponderEliminar
  11. En cierta forma uno como usuario debe de ver muy bien las características específicas de un sistema, tener en cuenta que el núcleo sea el adecuado, ya que la especificación de protección en un lenguaje de programación permite la descripción del alto nivel de políticas para la asignación y uso de recursos.

    ResponderEliminar
  12. estoy de acuerdo con mi compañera rosa cada uno de los usuarios debe tener en cuenta que sistema va a ocupar y especificar la proteccion que posee el mismo ya que el sistema 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.

    ResponderEliminar
  13. la protección basada en lenguaje nos brinda una mejor seguridad ya que esta es muy flexible y eficiente y se encuentra dentro del núcleo del sistema operativo,
    y permite la descripción de un alto nivel de políticas para el uso y la asignación de recursos.

    ResponderEliminar
  14. algunos de los objetivos de la Protección son los siguientes:
    Inicialmente protección del so frente a usuarios poco confiables.
    Control para que cada componente activo de un proceso sólo pueda acceder a los recursos especificados, y sólo en forma congruente con la política establecida.
    La mejora de la protección implica también una mejora de la seguridad.

    ResponderEliminar
  15. Cruz Ruiz Carlos Ivan

    Apoyo los comentarios de mis compañeros pero leei algo por hay y me pareció interesante aportarlo espero les sea de su agrado también y les sirva como aporte que encontre en otro blog.

    De acuerdo con Martínez Martha (2000) 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.

    Según Según Martínez Martha (2000) 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.


    esperando les sea de ayuda la informacion en este comentario

    ResponderEliminar
  16. Es aquí donde entra dentro del panorama de los lenguajes de programación. Especificar el control de acceso deseado a un recurso compartido con un sistema no es otra cosa que realizar un enunciado declaratorio acerca del recurso. Este tipo de enunciado puede integrarse en un lenguaje extendiendo su funcionalidad de definición de tipos.

    La implementación de un lenguaje de programación puede proporcionar diversas técnicas para imponer la protección, pero todas estas técnicas dependen hasta cierto punto del soporte proporcionado por la maquina subyacente y por su sistema operativo.

    ResponderEliminar
  17. en mi opinion la "proteccion basada en el lenguaje" es una gran eficencia y mas protegida el SO por que para desifrar se necesitaria entrar profundamente al nucleo del sistema

    atte: RUBEN ESCOBEDO VALDEZ 09500468

    ResponderEliminar