La escritura anticipada es una característica de las computadoras y el software (y algunas máquinas de escribir ) que permite a los usuarios continuar escribiendo independientemente del programa o la operación de la computadora: el usuario puede escribir a la velocidad que desee y, si el software receptor está ocupado en ese momento, se lo llamará para que se encargue de esto más tarde. [1] A menudo, esto significa que las pulsaciones de teclas ingresadas no se mostrarán en la pantalla de inmediato. Esta técnica de programación para el manejo utiliza lo que se conoce como un búfer de teclado .
El Typeahead tiene sus orígenes en la era de las máquinas de escribir. La máquina de escribir IBM Selectric , lanzada por primera vez en 1961, tenía una función de bloqueo mecánico de teclas diseñada para suavizar las pulsaciones irregulares de los mecanógrafos [2] que, para muchos usuarios, parecían una escritura anticipada.
Para lograr una verdadera escritura anticipada es necesario mantener un denominado " buffer de escritura anticipada " (una cola FIFO , por ejemplo), cuya función es almacenar una cantidad limitada de entradas del teclado hasta que se la solicite. La instalación de un buffer de este tipo se puede realizar tanto a nivel de hardware como de software ; la mayoría de los sistemas operativos modernos, como Unix , lo implementan mediante software, llamando a interrupciones del núcleo .
En algunas operaciones de red , se puede intentar enviar información a través de una red, independientemente de si el programa receptor logra seguir el ritmo o no, utilizando las funciones de escritura anticipada del receptor. Sin embargo, como esto depende demasiado de las especificaciones del ordenador con el que uno se está comunicando, no se suele utilizar.