Blocco I /O , a volte indicato come I /O sincrono , blocca il processo di trasferimento dei dati fino a quando il conducente accede in grado di soddisfare la richiesta desiderata . Per esempio, se si immette un invito a leggere un disco quando non vi è nessun dato presente, il blocco di I /O mette il processo a dormire fino a quando ci sono 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 ha lo stesso ruolo se si tenta di scrivere su un disco prima che abbia sufficiente spazio di buffer , arrestare il processo fino a quando lo spazio necessario diventa disponibile .
Funzioni
I programmatori scrivono il blocco comandi di I /O nel codice di programmazione per garantire trasferimenti di dati efficiente e un funzionamento regolare . Senza blocco di I /O , gli utenti potrebbero incontrare messaggi di errore persistenti e peggioramento delle prestazioni . Blocco I /O spesso entra in gioco quando la gestione dei server , dove può innescare immediatamente gli altri thread per eseguire ogni volta che si blocchi di filettatura .
Vantaggi
Blocco I /O è più facile da scrivere rispetto ad altre forme più avanzate di elaborazione I /O , un 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 dei socket server e fornisce una maggiore compatibilità , in quanto può essere utilizzato in una serie di diverse piattaforme tra cui Unix , Win95 e WinNT varianti 4.0 .
blocco I /O rispetto ai non-blocking I /O
La principale alternativa al blocco I /O è non-blocking I /O , anche noto come I /O asincroni A differenza di blocco I /O , che arresta un processo fino a quando la richiesta completa può essere rispettata, 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 non -blocking I /O consente di recuperare tutti i dati disponibili e poi lo restituisce , avvisando l'utente l'intera richiesta non è stata soddisfatta . Il non-blocking I /O allora continua 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 più potenza e permessi di altri processi di continuare , mentre il completamento della trasmissione di dati originale .
networking © www.354353.com