The design of the UNIX operating system
The design of the UNIX operating system
Advanced programming in the UNIX environment
Advanced programming in the UNIX environment
Applied operating system concepts
Applied operating system concepts
Modern Operating Systems
Operating Systems: A Design-Oriented Approach
Operating Systems: A Design-Oriented Approach
Operating Systems, Third Edition
Operating Systems, Third Edition
Visualizing berkeley socket calls in students' programs
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
A three pronged approach to teaching undergraduate operating systems
ACM SIGOPS Operating Systems Review
Hi-index | 0.00 |
This paper describes a simulator that allows users to explore concurrent I/O in UNIX. UNIX I/O provides an interesting example of how a shared variable, in this case the file offset, can be affected by concurrent access. The examples given can run on the simulator or a real UNIX-like system such as Linux, Solaris for Mac OS X. The simulator can run programs written by the user and display pictorially the relationship among various data structures involved in I/O, including the process file descriptor table, the system open file table, the inodes, and the data stored on disk. The user can run the program slowly, or step forward or back through the program to examine the data structures in detail. The simulator supports the creation of both child processes and threads as well as open, close, read, write, wait, join and detach functions. The simulator is freely available for download. It can be also be used directly from a browser without the need for installation.