References - OS Abstracts

An incomplete list at best, but provided as an abstract source. Some of these have historical importance, some are seminol papers, and some are just fluf. The text books also have a list of references, so also try them.

Operating Systems

  1. Edsger W. Dijkstra, The Structure of "THE" - Multiprogramming System, CACM, Vol26, #1, Jan 1983.

  2. D.M. Ritchie and K. Thompson, The UNIX Time-Sharing System, CACM, Vol17, #7, Jul 1974.
    Historical overview of original UNIX.

  3. Brian W. Kernighan and John R. Mashey, The UNIX Programming Environment, SP&E, Vol 9, 1979.
    Good overview of the UNIX environment

  4. W. Wulf, et. al., HYDRA: The Kernel of a Multiprocessor Operating System, CACM, Vol 17, #6, Historical: early attemptsat a multiprocessor system.

  5. Ritchie, Dennis M., The Evolution of the UNIX Time-sharing System, AT&T Bell Laboratories Techinical Journal, Vol. 63., No. 8, October 1984, pp. 1577-1593.

  6. R. Brown, et. al., Advance Operating Systems, Computer, Oct 1984.
    Great overview of OS concepts.

  7. Peter J. Denning Third Generation Computer Systems, Computing Surveys, Vol 3, #4, Dec. 1971.
    Historical overview of architecture of OS.

  8. Pike, Rob, et. al., Plan 9 from Bell Labs Proceedings of the Summer 1990 UKUUG Conference, London, July 1990, pp. 1-9.

  9. Presotto, Dave, et. al., Plan 9, A Distributed System, Proceedings of the Spring 1991 EurOpen Conference, Troms, May 1991, pp. 43-50.

  10. Lewis, Darrin, C.F.Yurkoski, and Samuel J. Paone Inferno ...The Solution for Thin Client Distributed Computing

  11. The Inferno Namespace

  12. Will Lucent's new Inferno OS catch on?

  13. Berglund, Eric J., An Introduction to the V-System, IEEE Micro, August 19986, pp. 35-52.

  14. Jefferson, David, Virtual Time, ACM Transactions on Programming Languages and Systems, Vol. 7, No. 3, July 1985, pp. 404-425.

  15. Tanenbaum, A.S., and Van Renesse, R., Distributed Operating Systems, Computing Surveys, Vol. 17, Dec 1985.

  16. Stefan Savage and Brian N. Bershad, Issues in the Design of an Extensible Operating System USENIX Symposium on OS Design and Implementation, November 1994.

  17. A new Look at Microkernel-Based UNIX Operating Systems: Lessons in Performance and Compatibility, Proceedings of the EurOPen Spring 91 Conference, May20-24, 1991, http:/

  18. John Ousterhout, Why Aren't Operating Systems Getting Faster as Fast as Hardware? USENIX Summer Conference, June, 1990.

  19. James Mitchell, An Overview of the Spring System http:/

  20. Matena, Vlada, yousef Khalidi, and Ken Shirriff, Solaris MC File System Framework

  21. Solaris MC: A Multi-Computer OS

Processes and Interprocess Communication

  1. C.A. Hoare, Monitors: An Operating System Structuring Concept, CACM, Vol 17, #10, Oct 1974.
    Historical. First detailed explanation of monitors.

  2. Peter J. Denning Low Contention Semaphores and Ready Lists, CACM, Vol 24, #10, Oct 1981.
    Definition and application of semaphores.

  3. Sechrest, Stuart, An Introductory 4.3 BSD Interprocess Communication Tutorial, PS1:7.

  4. Wegner, Peter and Scott A. Smolka Processes, Tasks, and Monitors: A Comparative Study of Concurrent Programming Primitives IEEE Transactions on Software Engineering, Vol. SE-9, No. 4, July 1983.

  5. Beck, Bob, and Dave Olien A Parallel Programming Process Model Usenix, December 1986.

Memory & Virtual Memory

  1. November 1997, IEEE Micro, Devoted to Advanced Memory Technology.

  2. Peter J. Denning, Virtual Memory, Computing Surveys, Historical - 1st readable VM survey.

  3. R. W. Doran, Virtual Memory, Computer, October 1976.
    Another historical look at VM.

  4. David Notkin, et. al., Heterogeneous Computing Environments: Report on the ACM SigOps Workshop on Accommodating Heterogeneity, CACM, Vol 30, #2, Feb 1987.
    The new OS problems.

  5. Furht, Borivoje and Veljko Milutinovic, A Survey of Microprocessor Architectures for Memory Management, Computer, March 1987.

  6. Smith, Alan Jay, Line (Block) Size Choice for CPU Cache Memories, IEEE Transactions on Computers, Vol. C-36, No. 9, Sept. 87.

  7. Software Prefectching and Caching for Translation Lookaside Buffers, USENIX OSDI Symposium, Nov 14-17, 1994.

  8. Yasunao Katayama Trends in Semiconductor Memories IEEE Micro, Nov/Dec 1997.

  9. Archibald and Baer, Cache Coherence Protocols: Evaluation Using a Multiprocessor Simulation Model, ACM Trans. Comp. Sys., Vol 4, November 1986, 273--289.

  10. Lilja, Cache Coherence in Large-scale Shared-memory Multiprocessors: Issues and Comparisons, ACM Computing Surveys, Vol 25, September 993, 303--338.

  11. Zhang, Chenxi, Xiaodong Zhang, and Yong Yan Two Fast and High-Associativity Cache Systems IEEE Micro, Sep/Oct, 1997, pp40-49.

  12. Tomasevic and Mulutinovic, Hardware Approaches to Cache Coherence in Shared-memory Multiprocessors, IEEE Micro, Vol 14, October 1994, 52--59 and Vol 14, December 1994, 61--68.

  13. Furht, B., and V. Milutinovic, Microprocessor Memory Management, IEEE Computer, March 1987, pp 48-67.

I/O, Disks, & Files

  1. Kridle, Bob, and Marshall Kirk MuKusick, Performance Effects of Disk Subsystem Choices for VAX Systems Running 4.2BSD UNIX, UNIX System Manager's Manual.

  2. Marshall Kirk McKusick, et. al., A Fast File System for UNIX, UNIX System Manager's Manual.
    Documents the file system improvements.

Computer Architecture

Java Machine

  • M. D. Janssens, et. al., Adapting UNIX for a Multiprocessor Environment, CACM, Vol 29, #9, Sept 1986.
    The problems and some solutions. Bach, Maurice J., and Steven J. Buroff, Multiprocessor UNIX Operating Systems, AT&T Bell Labs Technical Journal, Vol. 63, No. 8, October 1984, pp. 1733-1749.

  • Henry, Gary J., The Fair Share Scheduler, AT&T Bell

  • Beck, Bob, and Dave Olien A Parallel Programming Process Model Usenix, December 1986.

  • Stefan Savage and Brian N. Bershad, Issues in the Design of an Extensible Operating System USENIX Symposium on OS Design and Implementation, November 1994.

  • A new Look at Microkernel-Based UNIX Operating Systems: Lessons in Performance and Compatibility, Proceedings of the EurOPen Spring 91 Conference, May20-24, 1991, http:/

  • Richard M. Adler Distributed Coordination Models for Client/Server Computing Computer, April 1995.

  • John Ousterhout, Why Aren't Operating Systems Getting Faster as Fast as Hardware? USENIX Summer Conference, June, 1990.

  • James Mitchell, An Overview of the Spring System http:/

  • Jeffery Chase, et. al., Sharing and Protections in a Single-Address-Space Operating Systems, ACM Transactions on Computer Systems, Vol 12, No 4, November 94.

  • Ted G. Lewis Where is Client/Server Software Headed, Computer, Vol 28, No. 4, April 1995.

  • Arjuna, USENIX Computing Systems Journal, Vol 8, No 3, 1995, http:/

  • Richard Adler, Distributed Coordination Models for Client/Server Computing Computer, Vol 28, #4, April 1995.

  • ftp:/

  • Andrews, G.R., and Schneider, FB, Concepts and notations for Concurrent Programming Computing Surveys, vol 15. pp. 3-42, March 1983.

  • Buboix, M., Scheurich, C., and Briggs, F.A., Synchronization, Coherence, and Event Ordering in Multiprocessors IEEE Computer, vol. 21, pp.9-21, Feb 1988

  • Denning, P.J., Virtual Memory Computing Surveys, vol. 2, pp. 153-189, Sept 1970.

  • Chen, J. Bradley, Yasuhiro Endo, et. al. The Measured Performance of Personal Computer Operating Systems ACM SIGOPS '95, 12/95, p299-313.

  • UltraSPARC I: A Four-Issue Processor Supporting Multimedia IEEE Micro, April 1996.

  • Madany, Peter JavaOS: A Standalone Java Environment

  • The UltraSPARC Processor -- Technology White Paper

  • An Overview of the Spring Operating System

  • Werner, T., and V. Akella Asynchronous Processor Survey Computer, November 97, vol 30, no 11

  • Yue, Kelvin, and David Lilja An Effective Processor Allocation Strategy for Multiprogrammed Shared-Memory Multiprocessors IEEE Trans on Parallel and Distributed Systems, vol 8, no 12, Dec 97.

  • Challenges and Trends in Processor Design Computer 31, 1998, p39-51

  • Leslie Lamport How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor IEEE Trans on Computers, Vol 46, No.7, July 1997.

  • J. Michael O'Connor, Marc Tremblay picoJava-I: The Java Virtual Machine in Hardware IEEE Micro, March/April 1997, pp.45-53

  • picoJava I Microprocessor Core Architecture

  • Van Engen, Anita J., Michael Bradshaw, and Nathan Oostendorp Extending Java to Support Shared Resource Protection and Deadlock Detection in Threads Programming, Crossroads, the ACM Student Magazine, Winter 97.

  • Yeager, Kenneth C. The MIPS R10000 Superscalar Microprocessor, IEEE Micro, April 1996, pp. 28-40.

  • Powell, ML, Kleiman, S.R., et. al. SunOS Multi-thread Architecture, USENIX, Winter 91.

  • McKusick, Marshall Kirk, Keith Bostic, Michael J. Karels and John Quarterman Back to Basics: The Network Filesystem (NFS) Connexions, Oct 96.

  • Stodolsky, Daniel, J. Bradley Chen, and Brian Bershad Fast Interrupt Priority management in Operating System Kernels Proceedings fo the USENIX Symposium on Microkernels and Other Kernel Architectures, Sept, 93.

  • Shared Memory Uncovered, SunWorld Magazine, Sept. 97.

  • Hartig, Hermann, et. al. The Performance of Micro-Kernel Based Systems SOSP'97: 16th Annual Symposium on OS Principles, 10/97

  • Multithreaded Implementations and Comparisons: A Whitepaper

  • Eggers, Susan J., Joel S. Emer, et a. Simultaneous Multithreading: A Platform for Next-Generation Processors IEEE Micro, Sep/Oct 1997, pp. 12-19

  • O'Connor, Michael J., and Marc Tremblay picoJava-I: The Java Virtual Machine in Hardware IEEE Micro, Mar/Apr 1997, pp 45-53.

  • The Java Enterprise Server Platform

  • Multithreaded implementations and Comparisons: A WhitePaper

  • Ritchie, Stuart Systems Programming in Java IEEE Micro, May/Jun 97, Vol 17, #3

  • Goldberg, What Every Computer Scientist Should Know about Floating- point Arithmetic, ACM Computing Surveys, Vol 23, March 1991, 5--48.

  • Patterson, et al., A Case for Intelligent Ram, IEEE Micro, Vol 17, March/April 1997, 34--44.

  • Moudgill and Vassiliadis, Precise Interrupts, IEEE Micro, Vol 16, February 1996, 58--67.

  • Sima, Dezso, Superscalar Instruction Issue IEEE Micro, Sep/Oct 1997, Vol 17, # 5.

  • Wallach, Dan S., et. al. Extensible Security Architectures for Java ACM SOSP-16, 10/97, p 116-128.

  • Jumanoya, Masaki, et. al Advances in DRAM Interfaces IEEE Micro, DEC 95, p 30-36.

  • Madany, Peter, Roy Campbell, Panor Kougiouris Experiences Building an Object-Oriented System in C++ fttp://

  • Cox, Alan An Implementation of Multiprocessor Linux Linux Kernel Documentation, 2.1.89 source tree

  • Espasa, Roger & Mateo Valero Exploiting Instruction and Data-level Parallelism IEEE Micro, Sep/Oct 1997, p20-27

  • Tai, KC and Richard H. Carver VP: A New Operation for Semaphores ACM Operating Systems Review, Vol 30, #3, 7/96, p 5-11.

  • Waldo, Jim, Geoff Wyant, Ann Wollrath, and Sam Kendall A Note on Distributed Computing

  • Papworth, David, Tuning the Pentium Pro Microarchitecture IEEE Micro, April 1996.

  • Engler, Dawson, M. Frans Kaashoek, James O'Toole Jr. The Operating System Kernel as a Secure Programmable Machine http: //

  • Young, Wayne C., Bing J. Sheu Unraveling the Future of Computing Circuits & Devices, Nov 97, p 14-21

  • Thadani, Moti N. and Yousef A. Khalidi An Efficient Zero Copy I/O Framework for UNIX

  • M32R/D-Integrating DRAM and Microprocessor IEEE Micro Nov/Dec 1997, p 40-48.

  • Lee, Chao-Hsien, Meng Chang Chen, and Ruei-Chuan Chang HiPEC: High Performance External Virtual Memory Caching USENIX Journal on Operating Systems Design and Implementation

  • Thiebaut, Dominique, Harold Stone and Joel Wolf Improving Disk Cache Hit-Ratios Through Cache Partitioning IEEE Transactions on Computers, Vol. 41, No. 6, June 1992.

  • Sproull, Robert, Ivan Sutherland, Charles Molnar Couterflow Pipeline Processor Architecture

  • Wiel, Vander, S. Lilja. When Caches Aren't Enough: Data Prefetching Techniques IEEE Computer, Vol 30. No. 7, July 1997.

  • Alpert, D. & D. Avnon Architecture of the Pentium Microprocessor IEEE Micro, Vol 13, June 1993.

  • The Next Generation of Microprocessor ARchitecture: A 64-bit Instruction Set Architecture Based on EPIC Technology

  • Hui-Lan Lu and Igor Faynberg, et. al Network Evolution in the Context of the Global Information Infrastructure IEEE Communications, August 1998, Vol 36, No. 8, p98-102

  • P. Emerald Chung, Yennun Juang, Shalini Yajnik DCOM and CORBA Side by Side, Step by Step and Layer by Layer

  • WebNFS

  • The Case for a Single-Chip Multiprocessor 7th International Conf on Architectural Support for Programming Languages and Operating Systems, Oct 1-5, 1996, p2-12

  • UltraSPARC-II Enhancements: Support for Software Controlled Prefetch

  • The PowerPC 604 RISC Microprocessor IEEE Micro, Oct 94, p 8-17

  • The Design, Implementation, and Evaluation of Jade ACM Transactions on Programming Languages and Systems

  • CPU Cache Prefetching: Timing Evaluation of Hardware Implmentations IEEE Transactions on Computers, May 1998, p 509-526.

  • Self-Monitoring and Self-Adapting Operating Systems

  • Nayfeh, Dasem, Lance Hammond, and Kunle Olkotum Evaluation of Design Alternatives for a Multiprocessor Microprocessor Computer Architecture News, Vol24, No. 2., May 1996.

  • ADistributed Shared Memory Facility for FreeBSD, ENIX 1997 Annual Technical Conference, Jan 97, p149-162.

  • Self-Monitoring and Self-adapting Operating Systems,

  • A comparative Study of Parallel and Sequential Priority Queue Algorithms ACM TMCS Vol 7, no 2, april 97, p 157-209.

  • Approaching Be (An introduction to programming for BeOS

  • David Solomon, The Windows NT Kernel Architecture, Computer, October, 1998, p 40-47.

  • J.K. Eykholt, et al, Beyond Multiprocessing ... Multithreading and the SunOS Kernel

  • Andrew Appel Simple Generational Garbage Collection and Fast Allocation Software P&E, 2/89, p171-183.

  • A. Varma and Q. Jacobson Destage Algorithms for Disk Arrays with Non-volitaile Caches IEEE Transactions on Computers, Feb., 98, Vol 45, No 2., 228-235.

  • Limited Bandwidth to Affect Processor Design IEEE Micro, 10-11/97, pg 55.62. p>
  • Intel Pentium II Xeon Processors and Intel 450NX PCIset p>
  • Mark Bohr Silicon Trends and Limits for Advanced Microprocessors CACM, Mar 98, Vol 41, # 3.

  • Richard McDougall, Triet Vo, Tom Pothier, Priority Paging

  • Taivalsaari, Antero Implementing a Java Virtual Machine in the Java Programming Language

  • Abstract Title: Trends in Semiconductor Memories Journal Ref: Katayama, Yasunao. IEEE Micro Nov/Dec 1997.

    Installation and Configuration

  • Michael J. Karels, et. al., Installing and Operating 4.3BSD on the VAX, April 1, 1986. UNIX System Manager's Manual.
    The bible on installing a system.

  • Samual J. Leffler and Michael J Karels, Building Berkeley UNIX Kernels with Config, UNIX System Manager's Manual.
    Additional detail on installing a system.

  • Playstation 2, cpu