? En informatique, le terme est court I /O pour « Input /Output », qui désigne le transfert de données depuis ou vers une application informatique . Un clavier agit comme un périphérique d'entrée , le transfert de tout ce que vous tapez dans l'ordinateur , tandis qu'un moniteur ou imprimante serait un exemple d'un dispositif de sortie, car ils présentent les données transmises à l'utilisateur. Blocage I /O joue un rôle clé dans l'ensemble du processus , aider à gérer le flux de données d'entrée et de sortie. Caractéristiques
Blocage I /O, parfois appelé synchrone E /S, bloque le processus de transfert de données jusqu'à ce que le conducteur consultée peut répondre à la demande souhaitée . Par exemple, si vous entrez un appel pour lire un disque quand il n'ya pas de données présente , bloquant I /O met le processus de dormir jusqu'à ce que il ya des données à lire . Une fois que le lecteur ne peut répondre à la demande , le processus se réveille et achève la commande . Blocage I /O joue le même rôle que si vous tentez d'écrire sur un disque avant qu'il possède un espace tampon suffisamment disponibles , l'arrêt de la procédure jusqu'à ce que l'espace nécessaire est disponible.
Fonctions
programmeurs écrivent blocage des commandes d'E /S dans le code de programmation pour assurer des transferts de données efficaces et bon fonctionnement. Sans blocage I /O , les utilisateurs rencontrer des messages d'erreur persistants et une stagnation des performances . Blocage I /O entre souvent en jeu lorsque la gestion des serveurs , où il peut immédiatement déclencher d'autres threads pour exécuter chaque fois qu'un thread se bloque .
Avantages
Blocage I /O est plus facile à écrire que d'autres formes plus avancées de traitement d'E /S , d'économiser du temps et des efforts considérables pour les programmeurs. Mis à part sa simplicité , bloquant I /O offre également une plus grande efficacité dans la gestion des sockets serveur et offre une compatibilité accrue , car il peut être utilisé dans un certain nombre de différentes plateformes, y compris Unix, Win95 et variantes 4.0 WinNT .
< Br > blocage I /O par rapport à non bloquant I /O
La principale alternative au blocage I /O est non -bloquante I /O, également connu comme E /S asynchrones Contrairement blocage I /O, qui arrête un processus jusqu'à ce que la demande complète peut être respectée, non-bloquant E /S peut répondre à la demande dans les segments . Par exemple , si les données n'est pas disponible dans son intégralité en cas d'appel , un non-bloquant I /O récupère toutes les données disponibles , puis retourne , alertant l'utilisateur toute la demande n'a pas été remplie . Le non-bloquante I /O se poursuit ensuite à la boucle arrière et recueillir plus d'informations jusqu'à compléter la requête désirée. Bien que plus difficiles à coder de blocage I /O, non bloquant I /O fournit plus de puissance et permet à d'autres procédés de continuer tout en complétant la transmission de données d'origine .