La dirección bajo la cual la CPU espera que se inicie el programa suele estar cableada. Probablemente sea programable en el caso de algunas CPU muy específicas o similares, pero en el caso de x86, es FFFF0 o, para ser más exactos, FFFFFFF0, es decir, 16 bytes por debajo de la dirección física más alta de la CPU. La placa base generalmente asigna estas direcciones a la ROM, que contiene (muy probablemente) un salto al código del BIOS, que a su vez inicia la computadora.
Cuando se trata de los sistemas operativos, eligen dónde cargar el programa, luego hacen la carga real y le transfieren la ejecución. En el caso de DOS, por ejemplo, se cargaron pequeñas aplicaciones simples (distribuidas como archivos COM) en la dirección 100, y luego el símbolo del sistema ejecutó un salto a esa dirección, comenzando efectivamente la ejecución del código cargado en esa dirección. Con sistemas más avanzados que emplean memoria virtual, el problema es, por supuesto, más complicado.
- Tengo 4 GB de RAM, ¿puedo ponerle 16 GB de RAM?
- ¿Un móvil Android de 4 GB de RAM consumirá más batería que un móvil de 3 GB de RAM?
- Windows 7 no detecta RAM y está entrando en el ciclo de reinicio. ¿Qué tengo que hacer?
- ¿Cómo funciona el chip habilitado (CE) en la memoria flash?
- ¿Cuáles son los beneficios de 8GB RAM sobre 4GB RAM?