Het vermogen van een computer of mobiele processor om door te gaan met het interpreteren en uitvoeren van instructies terwijl een printer afdrukt, is te wijten aan parallelle verwerking en asynchrone bewerkingen .
* Parallelle verwerking: Moderne processors zijn in staat meerdere taken tegelijkertijd uit te voeren. Ze verwerken niet één instructie tegelijk opeenvolgend, maar splitsen taken op in kleinere delen die tegelijkertijd kunnen worden verwerkt door verschillende delen van de CPU (meerdere cores) of via technieken zoals pipelining. Terwijl de processor gegevens naar de printer verzendt (een relatief langzame I/O-bewerking), kan hij zijn verwerkingskracht aan andere taken besteden, zoals het uitvoeren van applicaties, het reageren op gebruikersinvoer of het uitvoeren van achtergrondprocessen.
* Asynchrone bewerkingen: De communicatie met de printer gebeurt asynchroon. Het besturingssysteem (OS) en het printerstuurprogramma zorgen op de achtergrond voor de overdracht van gegevens naar de printer. De processor hoeft niet te wachten tot de gehele afdruktaak is voltooid voordat hij doorgaat met andere taken. Het besturingssysteem gebruikt interrupts of signalen om de processor te waarschuwen wanneer de printer meer gegevens nodig heeft of wanneer het afdrukproces is voltooid. Hierdoor kan de processor efficiënt schakelen tussen verschillende taken.
In wezen fungeert de printer als een afzonderlijk, relatief langzaam randapparaat. De processor delegeert de taak van het verzenden van gegevens naar de printer naar het besturingssysteem en gespecialiseerde hardware (zoals een printcontroller) en gaat vervolgens verder met andere taken. Hij hoeft slechts kort in te grijpen als de printer meer gegevens nodig heeft of een voltooiingssignaal geeft. Dit maakt multitasking en een responsieve gebruikerservaring mogelijk, zelfs tijdens het uitvoeren van langdurige I/O-bewerkingen zoals afdrukken. |