Ciò che sta bloccando IO?

June 5

In informatica, il termine di I / O è l'abbreviazione di "Input / Output", che si riferisce al trasferimento di dati da o verso un'applicazione informatica. Una tastiera agisce come dispositivo di input, trasferendo qualsiasi digitazione al computer, mentre un monitor o stampante sarebbe un esempio di un dispositivo di uscita, in quanto essi presentano i dati trasferiti all'utente. Blocco I / O gioca un ruolo fondamentale in tutto il processo, aiutare a gestire il flusso di dati di ingresso e di uscita.

Caratteristiche

Blocco I / O, talvolta indicato come sincrono O, blocca il processo di trasferimento dati di I / finché il conducente letta può soddisfare la richiesta desiderata. Ad esempio, se si immette una chiamata a leggere un disco quando non ci sono dati presente, il blocco di I / O mette il processo di dormire finché di là dei dati disponibili per la lettura. Una volta che l'unità può soddisfare la richiesta, il processo si risveglia e completa il comando. Blocco I / O svolge lo stesso ruolo se si tenta di scrivere su un disco prima che abbia abbastanza spazio buffer disponibile, arrestare il processo fino a quando lo spazio necessario diventa disponibile.

funzioni

I programmatori Computer Scrivere il blocco di I / O comandi nel codice di programmazione per garantire trasferimenti di dati efficienti e funzionamento regolare. Senza il blocco di I / O, gli utenti avrebbero incontrato i messaggi di errore persistenti e peggioramento delle prestazioni. Blocco I / O spesso entra in gioco quando la gestione dei server, dove può immediatamente innescare altri thread per eseguire ogni qualvolta uno blocchi di filettatura.

Benefici

Blocco I / O è più facile da scrivere rispetto ad altre forme più avanzate di elaborazione I / O, notevole risparmio di tempo e fatica per i programmatori. A parte la sua semplicità, il blocco di I / O offre anche una maggiore efficienza nella gestione socket server e fornisce una maggiore compatibilità, in quanto può essere utilizzato in una serie di differenti piattaforme, tra cui Unix, Win95 e WinNT 4,0 varianti.

Blocco I / O rispetto ai non-blocking I / O

La principale alternativa al blocco I / O è non-blocking I / O, noto anche come I / O asincrono. A differenza di blocco I / O, che si ferma un processo fino a quando la richiesta completa può essere soddisfatta, non-blocking I / O può soddisfare la richiesta in segmenti. Per esempio, se i dati richiesti non sono disponibili nella sua interezza quando viene chiamato, un I / O non bloccante recupera tutti i dati disponibili e lo restituisce, avvisando l'utente l'intera richiesta non è stata soddisfatta. Il I non bloccante / O continua poi ad anello indietro e raccogliere ulteriori informazioni fino a completare la richiesta desiderata. Mentre più difficile da codice di blocco I / O, non-blocking I / O fornisce una maggiore potenza e permette di altri processi per continuare, mentre il completamento della trasmissione dei dati originali.