Limitat per E/S és una situació en què el rendiment d'un programa, procés o sistema està condicionat principalment per les operacions d'entrada/sortida i no per la capacitat de càlcul del processador. En aquests casos, el temps d'espera per llegir o escriure dades és superior al temps dedicat a executar instruccions de càlcul.
El terme prové de l'anglès I/O bound, on I/O significa input/output. Una tasca limitada per E/S pot quedar frenada per operacions com l'accés a disc, la comunicació per xarxa, les consultes a bases de dades o la interacció amb dispositius externs.
Característiques Un procés es considera limitat per E/S quan la unitat central de processament no és el recurs principalment saturat. En lloc d'això, el programa passa una part significativa del temps esperant que es completin operacions d'entrada o sortida. Això pot fer que un processador potent no millori substancialment el rendiment si el coll d'ampolla continua sent la lectura o escriptura de dades.
Aquesta situació es diferencia d'un procés limitat per CPU, en què el rendiment depèn sobretot de la velocitat de càlcul del processador. En un procés limitat per E/S, millorar la velocitat del processador pot tenir poc efecte si el temps dominant continua sent l'espera de dades.
Exemples Alguns exemples habituals de tasques limitades per E/S són:
la lectura o escriptura de fitxers grans en disc; les consultes lentes a una base de dades; la descàrrega o enviament de dades a través d'una xarxa d'ordinadors; les peticions a serveis web o API externes; la comunicació amb dispositius d'emmagatzematge o perifèrics.
En aquests casos, el programa pot no estar fent un ús intensiu del processador, però pot continuar funcionant lentament perquè espera la resposta d'un dispositiu, servidor o sistema extern.
Optimització Les estratègies per millorar el rendiment d'un procés limitat per E/S solen centrar-se en reduir el temps d'espera o aprofitar-lo millor. Entre les tècniques habituals hi ha l'ús de memòries cau, la reducció del nombre d'accessos a disc o xarxa, l'optimització de consultes a bases de dades, la lectura i escriptura per blocs, l'ús d'operacions asíncrones i la concurrència.
En alguns llenguatges i entorns de programació, els fils d'execució poden ser útils per a tasques limitades per E/S, ja que permeten que un programa continuï executant altres tasques mentre espera operacions com l'accés a fitxers o peticions de xarxa.
Referències
Vegeu també Entrada/sortida Processador Concurrència Coll d'ampolla
Categoria:Informàtica