Sistemas operativos modernos
vo, por lo general bastará un comando para realizar todas las sustituciones. En cambio, si el li bro está distribuido en 300 archivos, cada uno tendría que editarse por separado. Ahora consideremos qué sucede cuando el usuario de repente borra una oración de la pági na 1 de un documento de 800 páginas. Después de revisar la página modificada para asegurarse de que esté correcta, el usuario desea efectuar otro cambio en la página 600 y teclea un coman do para pedirle al procesador de texto que vaya a esa página (quizá buscando una frase que sólo existe allí). Éste se verá obligado a reformatear todo el libro hasta la página 600, porque no sa brá cuál es la primera línea de la página 600, en tanto no haya procesado todas las páginas ante riores. Podría pasar un tiempo apreciable antes de poder mostrar la página 600, lo cual no hará muy feliz al usuario. Aquí es donde pueden ayudar los subprocesos. Supongamos que el procesador de texto está escrito como un programa de dos subprocesos. Un subproceso interactúa con el usuario y el otro se encarga de reformatear en segundo plano. Tan pronto como se borra la oración de la página 1, el subproceso interactivo le dice al subproceso de reformateo que ajuste el formato de todo el libro. Mientras tanto, el subproceso interactivo seguirá pendiente del teclado y del ratón y res ponderá a comandos sencillos, como moverse en la página 1, mientras el otro está calculando frenéticamente en segundo plano. Con un poco de suerte, el reformateo estará listo antes de que el usuario pida ver la página 600, para que ésta pueda exhibirse en forma instantánea. Ya que estamos en eso, ¿por qué no añadir un tercer subproceso? Muchos procesadores de texto tienen una función que guarda de manera automática todo el archivo en disco cada cier to número de minutos, para proteger al usuario contra la pérdida de todo un día de trabajo en caso de una falla del programa, del sistema o de la electricidad. El tercer subproceso puede en cargarse de los respaldos en disco sin interferir con los otros dos. En la figura 2-9 se muestra la situación con tres subprocesos. fe. •» ÍMM Disco
RkJQdWJsaXNoZXIy MjI4NDcx