Abstract
UNIX was primarily designed by Ken Thompson and Dennis Ritchie at Bell Labs. It was, and continues to be, regarded as a seminal contribution to operating systems design methodology, architecture and research. The primary strengths of UNIX lie in the soundness of underlying design principles. This article aims at providing insights into the making of UNIX and in particular, how the notion of open software helped in taking a utility- and tool-driven approach. This approach provides both usability1 and extensibility besides maintainability. In fact, we see that the designers used best software architecture practices. We discuss UNIX shell and its operating environment, kernel, file systems, process creation and management, version management and documentation standard. Every effort has been made to quote from authentic sources to trace history.
Similar content being viewed by others
Suggested reading
John von Neumann, First Draft of a Report on the EDVAC ContractNo.W-670-ORD-4926, Between the United States Army Ordnance Department and the University of Pennsylvania Moore School of Electrical Engineering, University of Pennsylvania, June 30, 1945.
http://news.softpedia.com/news/40-Years-of-UNIX-119827.shtml
Eric Foster Johnson, UNIX Programming Tools, M&T Books Press, 1997.
Dennis M Ritchie’s home page at http://cm.bell-labs/who/dmr
K Bhaskar, C — Past, Presesent, and Future — A Perspective, Resonance, Vo.17, No.8, pp.748–758, 2012.
Dennis M Ritchie and Ken Thompson, The UNIX Time Sharing System, Communications of ACM, Vol.17, No.7, pp.365–375, 1974.
Dennis M Ritchie, Reflections on Software Research, Communications of ACM, Vol.27, No.8, pp. 758–760, 1984.
Pramod Chandra P Bhatt, An Introduction to Operating Systems: Concepts and Practice, 3rd Edition, PHI Learning, 2010.
http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
Ken Thompson, Reflection on Trusting Trust, Communications from ACM, Vol.27, No.8, pp.761–763, 1984.
Maurice J Bach, The Design of UNIX Operating System, PHI Learning, 9th Printing, May 1994.
Brian W Kernighan and Dennis M Ritchie, The C Programming Language, PHI Learning, 1985.
Graham Glass and King Ables, UNIX for Programmers and Users, Prentice Hall, 1999.
http://www.sei.cmu.edu/library/assets/Architecture_and_Design.pdf
Brian W Kernigham, and Rob Pike, The UNIX Programming Environment, Prentice Hall, 1987.
Chris Brown, UNIX: Distributed Programming, Prentice Hall, UK, 1994.
William Gropp, et al, Using MPI, MIT Press, 1994.
James F Kurose and Keith W Ross, Computer Networking, 3rd Edition, Pearson, 2005.
http://www.fiction.net/tidbits/computer.true_story_UNIX.html
Additional information
Pramod Chandra P Bhatt retired as a Professor of Computer Science and Engineering from IIT Delhi. Later he worked at IIIT Bangalore as a senior professor. He also taught at IISc, Bangalore. Currently he operates as a freelance consultant in software engineering related areas.
Rights and permissions
About this article
Cite this article
Bhatt, P.C.P. UNIX: Genesis and design features. Reson 17, 727–747 (2012). https://doi.org/10.1007/s12045-012-0084-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12045-012-0084-x