tabla de descriptores, un componente central de un sistema informático

tabla de descriptores, un componente central de un sistema informático

La función más básica en un sistema informático es almacenar datos e instrucciones en la memoria y recuperarlos cuando sea necesario para su ejecución por parte de la CPU. Pero la memoria y la CPU están conectadas entre sí a través del bus del sistema, no directamente, por lo que se necesita un mecanismo para asignar direcciones de memoria al bus. Este mecanismo se conoce en muchas arquitecturas como "tabla de descriptores", es decir, una tabla que consta de un conjunto de descriptores, cada uno de los cuales corresponde a una página de memoria o dispositivo y le indica al sistema cómo acceder a él.

Tabla de descriptores de segmentos del sistema (SDT)

La tabla de descriptores de segmentos del sistema (SDT) es una tabla de descriptores especiales que contiene muchas tablas diferentes, cada una de las cuales describe un aspecto del sistema. Por ejemplo, una tabla podría describir la ubicación de diferentes segmentos en la memoria y otra tabla podría describir cómo se produce la comunicación entre procesos. Estas tablas las completa y administra el kernel del sistema operativo, por lo que normalmente son de solo lectura.

Tabla de descriptores globales (GDT)

La tabla de descriptores globales (GDT) es una estructura de datos muy importante y se usa ampliamente en computadoras con arquitectura Intel x86. Contiene todos los descriptores de segmento que pueden usarse en el sistema, como segmento de código, segmento de datos, segmento de pila, etc. Cuando la CPU necesita acceder a la memoria, primero busca en el GDT para determinar el descriptor de segmento para acceder a los datos requeridos.

GDT incluye muchos descriptores de segmento diferentes, cada uno de los cuales describe la dirección base, el tamaño y los atributos de un segmento de memoria, como legible, escribible, ejecutable, etc. Cuando la CPU quiere acceder a un segmento de memoria, primero debe obtener el descriptor del segmento del GDT y acceder a él según la información especificada en el descriptor.

Tabla de descriptores locales (LDT)

La tabla de descriptores locales (LDT) es una tabla de descriptores especiales que se utiliza para admitir la multitarea en computadoras con arquitectura x86. Cada tarea (proceso) tiene un LDT separado, que contiene los descriptores de segmento requeridos por la tarea. Cuando el sistema operativo cambia el control de una tarea a otra, cambia el LDT para garantizar que la tarea en ejecución pueda acceder al segmento correcto.

selector

Además de las tablas de descriptores, la arquitectura x86 tiene muchos otros mecanismos para acceder a la memoria. El más importante de ellos es el selector, que es un valor de 16 bits a menudo llamado "selector de segmento". El selector tiene dos partes: el índice de la tabla de descriptores de segmento y el nivel de privilegio solicitado.

El índice de la tabla de descriptores de segmento apunta a una tabla de descriptores específica, como GDT o LDT. El nivel de privilegio solicitado se utiliza para determinar el nivel de permiso necesario para acceder al segmento. Cuando la CPU necesita acceder a la memoria, utiliza un selector para localizar el descriptor de segmento correspondiente.

Resumir

En resumen, la tabla de descriptores es una parte muy importante del sistema informático, que permite a la CPU acceder a la memoria y a los periféricos. Para garantizar la seguridad y la confiabilidad, la tabla de descriptores generalmente es administrada por el kernel del sistema operativo para garantizar que solo los procesos autorizados puedan acceder a segmentos de memoria específicos, y al mismo tiempo siguen las reglas de seguridad y protección de la memoria.

Este artículo presenta brevemente las tres formas de tablas de descriptores en las computadoras con arquitectura x86: tabla de descriptores de segmentos del sistema (SDT), tabla de descriptores globales (GDT) y tabla de descriptores locales (LDT), así como selectores. Estos son mecanismos importantes que son críticos para comprender los componentes centrales de los sistemas informáticos.

Supongo que te gusta

Origin blog.csdn.net/m0_72410588/article/details/133001796
Recomendado
Clasificación