Profundo conocimiento del sistema informático --- 1

Estructura y ejecución del programa.

Representación y procesamiento de información.

La mayoría de las computadoras usan 8 bits, que es 1 byte, como la unidad de memoria más pequeña que se puede buscar, ni un solo bit

Los programas a nivel de máquina tratan la memoria como una gran variedad de bytes, llamada memoria virtual

Cada byte de memoria tiene un número único para identificar, es decir, la dirección

La colección de todas las direcciones es el espacio virtual de direcciones.

Un puntero es una característica importante del lenguaje C. Proporciona un mecanismo para elementos de una estructura de datos. Es similar a una variable. Un puntero también tiene dos valores y tipos. El valor representa la posición de un objeto y su tipo representa la ubicación almacenada en esa posición. Tipo de objeto

La representación general de bytes que usamos hexadecimal para representar, la razón bit: si usar binario para representar un valor de ocho bits es demasiado largo y la conversión decimal es demasiado complicada, por lo que generalmente usamos hexadecimal para representar (Binario significa que hexadecimal es fácil, puede convertir cada cuatro grupos de derecha a izquierda) Así que también puede ver que dos números hexadecimales son un byte

En lenguaje c, los números hexadecimales comienzan con 0x o 0X

Cada computadora tiene una longitud de palabra, el tamaño nominal de los datos de puntero conocidos

Debido a que la dirección virtual está codificada con dicha palabra, el parámetro del sistema más importante determinado por la longitud de la palabra es el tamaño máximo del espacio de dirección virtual (es decir, para una máquina con una longitud de palabra de s bits, el rango de la dirección virtual es 0-2 ^ s-1, es decir, el programa puede acceder a hasta 2 ^ s bytes 0)

La mayoría de las máquinas ahora se cambian de máquinas de 32 palabras a máquinas de 64 palabras (la mayoría de las máquinas de 64 bits pueden ejecutar programas de 32 palabras, que es compatible con versiones anteriores)

El espacio de dirección virtual de 32 palabras es de 4 gigabytes (es decir, 4 GB) y el espacio de dirección virtual se expande a 16EB después de que la longitud de la palabra de 64 bits se extiende a aproximadamente 1.84 * 10 ^ 19 bytes

(1EB = 1024PB , 1PB = 1024TB , 1TB = 1024GB)

La diferencia entre un programa de 32 bits y un programa de 64 bits es cómo se compila el programa, no el tipo de máquina en la que se ejecuta la máquina

 Direccionamiento y orden de bytes

Para los objetos de programa que abarcan varios bytes, debemos establecer dos reglas: 1 cuál es la dirección de este objeto 2 cómo organizar estos bytes en la memoria

Los objetos de varios bytes se almacenan como una secuencia continua de bytes, y la dirección del objeto es la dirección más pequeña de los bytes utilizados.

Algunas máquinas eligen almacenar objetos en el orden de bytes efectivos de menor a mayor en la memoria, y algunas máquinas almacenan objetos en orden de mayor a menor. El byte menos significativo de la primera regla se llama little endian en el frente, y el byte más significativo de la última regla se llama big endian en el frente

 

 La mayoría de las máquinas Intel usan el modo little-endian

Los sistemas operativos Android e IOS en el teléfono solo pueden ejecutarse en modo little-endian

Representación a nivel de máquina del programa.

Ingeniería inversa: a través del estudio del sistema y el trabajo inverso, para comprender el proceso de creación del sistema.

Memoria de acceso aleatorio

Tipo: estático, dinámico

La RAM estática (SRAM) es más rápida que la RAM dinámica (DRAM) pero también más costosa

SRAM se utiliza como memoria caché en el chip de la CPU o fuera del chip

DRAM se utiliza como memoria principal y búfer de cuadros del sistema gráfico

 

Supongo que te gusta

Origin www.cnblogs.com/fire-works/p/12664702.html
Recomendado
Clasificación