stringtranslate.com

Direccionamiento basado en capacidades

En informática , el direccionamiento basado en capacidades es un esquema utilizado por algunas computadoras para controlar el acceso a la memoria como una implementación eficiente de la seguridad basada en capacidades . Bajo un esquema de direccionamiento basado en capacidades, los punteros se reemplazan por objetos protegidos (llamados capacidades ) que especifican tanto una ubicación en la memoria como derechos de acceso que definen el conjunto de operaciones que se pueden llevar a cabo en la ubicación de la memoria. [1] Las capacidades solo se pueden crear o modificar mediante el uso de instrucciones privilegiadas que pueden ser ejecutadas únicamente por el núcleo o algún otro proceso privilegiado autorizado para hacerlo. Por lo tanto, un kernel puede limitar el acceso al código de la aplicación y a otros subsistemas a las porciones mínimas necesarias de memoria (y deshabilitar el acceso de escritura cuando corresponda), sin la necesidad de utilizar espacios de direcciones separados y, por lo tanto, requerir un cambio de contexto cuando se produce un acceso.

Implementaciones prácticas

Hay dos técnicas disponibles para su implementación:

Direccionamiento de capacidades en IBM System/38 y AS/400

El sistema operativo System/38 CPF admitía dos tipos de punteros de objetos: punteros autorizados y punteros no autorizados ; el primero era la implementación de la plataforma de direccionamiento basado en capacidades. [2] Ambos tipos de puntero sólo podían manipularse mediante instrucciones privilegiadas y se diferenciaban únicamente en si las autorizaciones de objetos (es decir, derechos de acceso) estaban codificadas o no en el contenido del puntero. Los punteros no autorizados no codificaban las autorizaciones de objetos y requerían que el sistema operativo verificara la autorización del objeto por separado para determinar si se permitía el acceso al objeto. Los punteros autorizados codificaban autorizaciones de objetos, lo que significa que la posesión del puntero implicaba acceso y no era necesario que el sistema operativo verificara la autorización por separado. Los punteros autorizados eran irrevocables por diseño: si se modificaban las autorizaciones del objeto, no se alterarían las autorizaciones codificadas en ningún puntero autorizado que ya existiera.

Las primeras versiones del sistema operativo OS/400 para AS/400 también soportaban punteros autorizados y, por extensión, direccionamiento basado en capacidades. Sin embargo, los punteros autorizados se eliminaron en la versión V1R3 de OS/400 ya que su naturaleza irrevocable pasó a ser vista como un problema de seguridad. [3] Desde entonces, todas las versiones de OS/400 (más tarde IBM i) se basan únicamente en punteros no autorizados que no admiten el direccionamiento basado en capacidades.

Cronología de sistemas que adoptan direccionamiento basado en capacidades

Referencias

  1. ^ Levy, Henry M. (16 de mayo de 2014). "Conceptos de capacidad y sistemas basados ​​en objetos" (PDF) . Sistemas informáticos basados ​​en capacidades . Prensa digital. pag. 3-4. ISBN 978-1-4831-0106-4.
  2. ^ Levy, Henry M. (16 de mayo de 2014). "El sistema IBM/38" (PDF) . Sistemas informáticos basados ​​en capacidades . Prensa digital. ISBN 978-1-4831-0106-4.
  3. ^ Soltis, Frank (1997). Dentro del AS/400: presenta la serie AS400e (2ª ed.). Prensa de Duque. ISBN 978-1-882419-66-1.

Otras lecturas

enlaces externos