bloqueo de E /S , a veces conocido como E /S síncrona , bloquea el proceso de transferencia de datos hasta que el conductor visitada de satisfacer la solicitud deseada . Por ejemplo, si se introduce un llamado a leer una unidad cuando no hay presencia de datos , bloqueo de E /S pone el proceso a dormir hasta que haya datos disponibles para leer. Una vez que la unidad puede cumplir la solicitud , el proceso despierta y completa el comando . El bloqueo de E /S tiene la misma función que si intentará escribir en la unidad antes de que haya suficiente espacio de búfer disponible, detener el proceso hasta que el espacio necesario esté disponible.
Funciones
programadores informáticos escriben bloqueando los comandos de E /S en el código de programación para asegurar la transferencia de datos eficiente y de buen funcionamiento . Sin el bloqueo de E /S , los usuarios podrían encontrar mensajes de error persistentes y pobre rendimiento . El bloqueo de E /S a menudo entra en juego cuando la administración de servidores , donde se puede desencadenar de inmediato otros subprocesos ejecutarse cada uno secuencias de roscado .
Beneficios
Bloqueo I /O es más fácil escribir que otras formas más avanzadas de procesamiento de I /O , el ahorro de tiempo y esfuerzo considerables para los programadores. Aparte de su simplicidad , el bloqueo de E /S también ofrece una mayor eficacia en la gestión de sockets de servidor y proporciona una mayor compatibilidad , ya que se puede utilizar en un número de diferentes plataformas, incluyendo Unix , Win95 y variantes WinNT 4.0 .
bloqueo de E /S sin bloqueo contra I /O
La principal alternativa al bloqueo de E /S es no-bloqueo de E /S , también conocido como E /S asíncrona A diferencia de bloqueo de E /S , lo que detiene el proceso hasta que la solicitud completa se pueden cumplir, sin bloqueo de E /S puede satisfacer la petición de los segmentos . Por ejemplo , si el dato solicitado no está disponible en su totalidad cuando se le llama , el no bloqueo de E /S recupera todos los datos disponibles y luego lo devuelve , alertando al usuario , la solicitud no se cumplió . La no-bloqueo de E /S y luego permanece allí atrás y recopilar más información hasta completar la solicitud deseada . Mientras más difícil de código de bloqueo de E /S no bloqueante I /O proporciona más potencia y permite que otros procesos para continuar al completar la transmisión de datos original.