¿Cuál es la historia de Ctrl + Alt + Supr? ¿Por qué Ctrl + Alt + Supr ha sido históricamente una combinación utilizada para reiniciar computadoras, y quién la introdujo?

Antes del lanzamiento de la PC original de IBM, había muchas otras computadoras de varios fabricantes. La primera de estas computadoras no hizo nada cuando se encendieron por primera vez, ya que el contenido de RAM y los diversos registros y estados de sus CPU estaban en un estado desconocido. (Cuando la alimentación se enciende por primera vez en la mayoría de los sistemas de memoria volátiles, cada bit puede leerse como 0 o 1, dependiendo de muchos factores incontrolables). Para compensar esto, las CPU fueron diseñadas para aceptar una señal especial que fuerza el procesador interno circuitos en un estado conocido y luego comienza a ejecutar el código almacenado en una ubicación muy específica en la memoria. Esta ubicación siempre se asignó para ser utilizada por una memoria de solo lectura (ROM) cuyo contenido no podía modificarse, por lo que siempre se conocía cada vez que se ejecutaba. En las primeras máquinas, la señal de reinicio se activaba presionando un interruptor especial, lo que lleva a un proceso de dos pasos para encender una computadora: encienda la alimentación y luego presione reiniciar. En diseños posteriores, se incluyó un circuito que activaría un reinicio automático cuando se encendiera la alimentación. Este proceso de reinicio de encendido todavía se usa en todas las computadoras hoy en día.

Por lo general, esta rutina de reinicio forzaría al procesador de la computadora a pasar por toda la RAM y asegurarse de que se borre a un estado conocido, y luego haga lo mismo con todos los dispositivos de hardware conectados a la computadora. Las iteraciones posteriores de las rutinas de reinicio agregan más funciones, como probar todo el hardware de la computadora para asegurarse de que esté funcionando y cargar código adicional desde un dispositivo de almacenamiento (como una unidad de cinta, disquete o disco duro) que realizaría funciones más complejas y eventualmente cargue un sistema operativo robusto en la memoria. No hace falta decir que todas estas funciones pueden llevar una cantidad considerable de tiempo.

Era bastante común que las computadoras tuvieran que reiniciarse, después de que ya se habían encendido. Otros han mencionado que, a veces, un programa se “bloquea” y hace que la computadora deje de responder. (Esto fue especialmente cierto al escribir y depurar programas, pero también les sucedió a los usuarios de esos programas). Lo que no han mencionado es que esto fue en los días antes de que las computadoras tuvieran multitarea, lo que significa que las computadoras de esa época solo podían ejecutar un programa único a la vez y muchos de esos programas fueron diseñados para que no pueda salir de ellos. (Especialmente juegos). Esto significaba que para ejecutar algún otro programa, primero tenía que reiniciar la computadora. Como se mencionó anteriormente, las rutinas de reinicio a menudo tomaron una cantidad considerable de tiempo en ejecutarse, lo que fue una molestia tanto para los programadores como para los usuarios.

Para reducir la molestia, las rutinas de reinicio comenzaron a incluir la capacidad de detectar si ya se habían ejecutado desde que se encendió la computadora. Si detectaran que se habían ejecutado, la rutina de restablecimiento omitiría varias de las funciones que de lo contrario habría realizado suponiendo que, dado que trabajaron antes, funcionarían ahora. Esto nos dio dos rutas de reinicio diferentes que podrían tomarse, una en la que se ejecutarían todas las tareas de rutina de reinicio (reinicio en frío) y una en la que solo se ejecutarían algunas de estas tareas (reinicio en caliente).

Una forma muy común de hacer esto era hacer que la rutina de restablecimiento en frío, cuando se ejecuta por primera vez, pruebe un valor específico (llamado token) en una ubicación de memoria a los programadores que se les dijo que nunca usaran. Ese valor se establecería como uno de los últimos pasos cuando se ejecutó la rutina de reinicio, por lo que encontrarlo cuando comenzó la rutina significaba que la rutina tenía que haberse ejecutado antes. Una revisión adicional a esta idea también almacenó un valor personalizado (llamado vector) en otra ubicación de memoria reservada. El vector representaba la dirección de memoria a la que el procesador debería saltar cuando detecta el token. Esta revisión permitió que se escribieran rutinas de reinicio personalizadas.

Algunos diseños de computadoras y procesadores comenzaron a admitir esta dualidad al permitir reconocer dos señales de reinicio diferentes. Por lo general, el circuito de encendido al reinicio se usaba para activar intencionalmente un reinicio en frío, mientras que el botón de reinicio vestigial (que algunas máquinas habían retenido en su diseño) se reutilizaba para activar un reinicio en caliente.

En la mayoría de las primeras máquinas, el botón de reinicio se había colocado donde podía presionarse accidentalmente. Esto fue especialmente cierto en la Apple] [computadora, que era la plataforma informática dominante antes de la PC IBM. La Apple] [colocó su botón de reinicio como la tecla superior derecha de su teclado, lo que provocó la frustración de muchos de los programadores y usuarios de esta plataforma.

En 1980, IBM decidió finalmente ingresar al mercado de las microcomputadoras, después de haberlo ignorado y denigrado durante años. Esto llevó a su desarrollo del DataMaster y luego el PC 5150 de IBM. Aprendiendo de muchos diseños de computadoras anteriores, el PC de IBM usaría un reinicio de encendido, tendría una memoria ROM que almacenaría sus rutinas de reinicio, proporcionaría la funcionalidad de reinicio en frío y en caliente. usando una ficha y un vector.

Como señalaron otros aquí, David Bradley fue uno de los 12 ingenieros del equipo que diseñó la PC de IBM. y anteriormente había trabajado en DataMaster. Fue su innovación requerir la presión de varios botones simultáneamente (CTRL-ALT-DELETE) en lugar de un solo interruptor de reinicio para activar un reinicio en caliente para que no se pudiera hacer accidentalmente.

Con los años, pocos programadores incluso pensaron en usar la funcionalidad de token y puntero para alterar la rutina de reinicio. Aquellos que lo hicieron a menudo lo limitaron a simplemente hacer que la rutina de restablecimiento volviera a lo que estaba sucediendo antes de presionar CTRL-ALT-DELETE. (Esto fue utilizado principalmente por juegos altamente protegidos contra copias para evitar que el usuario de la computadora acceda fácilmente al contenido de la memoria RAM de la computadora. Para el usuario normal, la computadora tendría que apagarse y luego volver a encenderse para salir de estos juegos. los usuarios usaron algo similar a un reinicio llamado Interrupción no fumable para acceder a la memoria, pero esa es otra historia)

Cuando se desarrolló Microsoft Windows, Microsoft descubrió que la función de reinicio de la PC de IBM podía causar estragos en su sistema operativo. Los archivos que se abrieron y se modificaron podrían corromperse, lo que haría que el sistema operativo fuera inestable e incapaz de arrancar. Para evitar que esto suceda, Microsoft cambió el vector de reinicio almacenado en la memoria para que se ejecute su propio programa personalizado. Esto permitió a Microsoft evitar que el usuario salga de Windows de una manera que podría causar daños en los datos.

Las personas que han usado Windows en sus primeros años encontraron esto irónico, ya que Windows no era muy estable para empezar y con frecuencia se bloqueaba. Era tan común que Windows se bloqueara varias veces al día, que la gente comenzó a preocuparse mucho cuando no se producían bloqueos, lo que generó una cantidad innumerable de chistes sobre el fenómeno. Cuando Windows fallaba, no se reiniciaba por sí solo, como lo hace hoy. En cambio, a menudo se colgaba en una pantalla de error dando un montón de números de código que un programador podría usar para depurar el sistema y descubrir qué había sucedido. Esa pantalla se presentó como una pantalla azul con texto blanco, y se ha conocido coloquialmente como la Pantalla Azul de la Muerte. La única forma de salir de esta pantalla era presionar CTRL-ALT-DELETE (o en generaciones posteriores de las PC con Windows, presionar el pequeño botón de reinicio en la carcasa de la computadora) para reiniciar la computadora.

(Dado que Microsoft Windows estaba controlado principalmente por un mouse, pero el BSOD requería el uso de CTRL-ALT-DELETE, a menudo se bromeaba que esas eran las únicas tres teclas necesarias en un teclado).

El vector de reinicio personalizado de Microsoft les permitió hacer más que simplemente evitar que el usuario salga de Windows de una manera insegura, les permitió usar la secuencia de teclas de reinicio para su propio beneficio y el de sus usuarios. Microsoft usó la rutina para obligar a la computadora a entrar en modo de bloqueo, donde se podría requerir una contraseña. Usaron esta rutina para mostrar las indicaciones de inicio de sesión en sistemas multiusuario, también usaron esta rutina para permitir un acceso rápido a herramientas de depuración como el programa Administrador de tareas de Windows y a funciones para permitir al usuario apagar la computadora o cerrar sesión una cuenta. La versión personalizada de Microsoft de la función Warm Reset aún puede acceder a todas estas funciones.

Solo se han producido algunos cambios desde que Microsoft tomó el control de CTRL-ALT-DELETE dentro de Windows. Primero, lo hicieron para que realmente tenga que presionar esa combinación de teclas dos veces seguidas muy rápidamente para acceder a ella. En segundo lugar, los fabricantes de BIOS de la computadora y los fabricantes de la placa base alteraron sus rutinas de reinicio para permitir un tercer método de reinicio de la computadora, un botón de reinicio físico que omite la función Warm Reset secuestrada de Microsoft y activa la que está incorporada directamente en el BIOS de la placa base. Cabe señalar que el botón de reinicio en las computadoras con Windows debe usarse solo como último recurso; Cuando lo presiona, puede dejar los archivos en los que se está escribiendo actualmente en un estado dañado y puede provocar la pérdida de sus datos y un sistema operativo inestable o inutilizable.

Fue inventado por David Bradley, uno de los ingenieros originales que trabajaban en la PC de IBM en 1980 o 1981.

Una versión anterior del software se reinició en CTRL-ALT-ESC, pero David descubrió que era demasiado fácil hacerlo golpeando un lado del teclado, por lo que lo cambió a una combinación que no se podía activar con una mano.

http://en.wikipedia.org/wiki/Con

Bill Gates ha admitido por primera vez que usar la combinación de teclas Control-Alt-Delete para iniciar sesión en una PC fue un error.
Gates comentó sobre el llamado “saludo de tres dedos” en una charla en un evento de recaudación de fondos de la Universidad de Harvard.
La combinación incómoda ha sido una característica del sistema operativo Windows desde los primeros días de las computadoras personales.
“Fue un error”, dijo Gates. “Podríamos haber tenido un solo botón, pero el tipo que hizo el diseño del teclado de IBM no quería darnos nuestro único botón”.

El padre de la combinación Ctrl + Alt + Del es David Bradley, un diseñador de la PC original de IBM. Después de encontrar la combinación Ctrl + Alt + Esc, que desencadenaba un reinicio suave, demasiado propenso a presiones accidentales, decidió usar otra tecla (Supr) desde el otro extremo del teclado para que no se pudiera reiniciar accidentalmente la máquina con una mano .

Más en la página wikipedia Control-Alt-Delete.

Si desea conocer esto con mayor detalle, puede leer este artículo.

Una breve historia de Ctrl + Alt + Del: The 3 Finger Salute