Cómo obtener la dirección lógica

depende del hardware exacto pero, en general, en un sistema de direcciones planas como Windows o Linux, un programa recibe una porción de memoria para el código, otra porción de datos y la dirección base de esos segmentos se carga en un código y datos registro de segmento Por ejemplo, si imprime lo que está en los registros DS y CS, tendrán un pequeño índice como $ 2F y $ 3F. El programa simplemente se ejecuta, y si quiere almacenar $ 1234 en su ubicación de memoria $ 5678, solo usa algunas instrucciones como: mov $ 1234, ds: [$ 5678]. La CPU luego busca el valor en el DS, que es $ 2F, luego se indexa en la tabla de segmentos global y encuentra que el segmento $ 2F comienza en la dirección física absoluta $ 3000000 y continúa por $ 15000 bytes, por lo que está bien almacenar $ 1234 en dirección $ 30005678 y lo hace.

La mayoría de los programas se compilan y vinculan suponiendo que en tiempo de ejecución tendrán acceso a un espacio de memoria local dirigido a partir de alguna dirección, varía, pero a menudo puede comenzar en 00000 si se desea. El compilador y el enlazador asignan este espacio de direcciones. Es solo en el tiempo de ejecución del programa, luego el sistema operativo selecciona un área libre de memoria, apunta DS y CS y el programa se ejecuta.

More Interesting

¿Cuál es la mejor manera de comenzar con la visión por computadora como individuo?

¿Cuáles son todos los tipos de aprendizaje automático y todos utilizan los mismos principios?

¿Qué debemos preparar antes de comenzar las pruebas automatizadas de comercio electrónico?

¿Cuál es la diferencia entre un modelo de datos y un esquema de base de datos?

¿Qué alternativas a la informática basada en silicio (excepto la informática cuántica) existen hoy en desarrollo, o al menos teóricamente?

¿Cómo manipulan las computadoras la aleatoriedad?

¿Cuál es la prueba intuitiva más simple del algoritmo de ruta más corta de Dijkstra?

¿Qué es OLAP (procesamiento analítico en línea) y para qué se utiliza?

¿Cómo gestionar modelos de aprendizaje automático? ¿Cómo realiza un seguimiento de los modelos de aprendizaje automático mientras los itera? ¿Cómo se compara el rendimiento de diferentes modelos / conjuntos de datos? ¿Cuáles son algunos puntos débiles en su flujo de trabajo?

Con respecto a la computación paralela, ¿cómo puedo construir un servidor de almacenamiento de 5-6 computadoras antiguas?

Cómo saber que he alcanzado el límite de overclock en mi 4690k

Se me ocurrió una idea para una aplicación móvil. Me acabo de enterar de que una empresa multinacional acaba de lanzar una aplicación que es muy similar, ¿cómo debo proceder?

¿Cómo se usa exactamente el aprendizaje automático en los motores de recomendación?

¿Es posible generalizar el algoritmo K-Means para cualquier espacio métrico?

¿Es cierto que en el futuro cercano, todos los softwares populares tendrán las características de IA / aprendizaje automático?