Use of Interaction Networks in teaching Minix
Minix is a modular operating system designed for use in teaching of operating systems [3, 4]. In Minix, the operating system is structured as multiple independent processes. These processes communicate with each other, and with user mode processes, via message passing. While the modular structure of Minix simplifies the individual components, the message passing patterns that occur at run-time can be complex. The interaction network has been proposed as a way of representing all processing (process execution and message passing) that is the direct result of a single user input . An interaction network is an acyclic digraph. Each vertex in the graph represents an event and each edge represents a period of thread execution, or message progression, between two events. Message patterns are shown very well in displays of interaction networks. In this paper, we use displays of interaction networks to illustrate some of the complex message patterns that occur in Minix. The interaction networks were all recorded for SunOS Minix, a version of Minix that has been ported to run as a SunOS process . The interaction networks selected show the message passing that occurs in the following situations: Input of character that is part of a command line. Process creation and termination. Execution of a new process image. Two user processes communicating through a pipe. We show the value of the interaction network as a tool for understanding distributed processing by using it to provide insights into the messages exchanged in a number of situations that frequently arise in Minix.
SubjectsFields of Research::280000 Information, Computing and Communication Sciences::280100 Information Systems::280104 Computer-human interaction
- Engineering: Reports