This thought-provoking chapter by Simon Yuill in Software Studies: A Lexicon discusses the transition from batch processing (collecting programs in a batch and running them sequentially) to interactive computing (allowing programs to be stopped and started by the operator). This required a mechanism for receiving external signals, either through periodically checking for them (polling) or handling them whenever they arrive (interrupts). It facilitated “more sophisticated forms of interaction between a computer and the external world” and became “the main mechanism through which an operating system seeks to maintain a coherent environment for programs to run within, co-ordinating everything external to the central processor, whether that be events in the outside world, such as a user typing on a keyboard or moving a mouse, or things outside the system’s internal coherence, such as a buffer overflow or an operational error in a piece of software”.
In the process it transformed how computers operate and the software they run. What makes this so important is the “opening in its operational space” which allows the “outside world to ‘touch’ and engage with an algorithm”. Yuill argues that this is what makes software social, leaving its operation shaped by actors and actions taking place elsewhere. He makes the fascinating argument that the interrupt vectors through which interrupts are enacted by an operating system (categorised and tied to a handler program) becomes the means through which “different elements of a social assemblage are associated”. These are the modalities through which the social can become part of software and through which the spaces in which different actors operate can become associated through the operation of the software. It follows from this that they are the means through which software can become part of the social, linking together what might otherwise have been discrete processes through the associations they render possible. As Yuill puts it, “[t]o understand software in terms of the interrupt is to understand it in terms of its place within larger structures of social formation and governance”. I found this chapter genuinely mind expanding to read in a way I haven’t experienced for a while.