CS422S: Operating Systems Organization (Spring 2003)


Home
Overview
Instructor
Graders
Notes
Homework
References

References

General Operating System References
  • Modern Operating Systems, 2nd Edition, Andrew Tanenbaum, Prentice Hall, 2001.
  • Operating System Concepts, 6th edition, Silberschatz, Galvin and Gagne, John Wiley & Sons, 2002
  • Applied Operating System Concepts, 1st Edition, Silberschatz, Galvin and Gagne, John Wiley & Sons, 2000
  • Operating Systems: A Modern Perspective, 2nd Edition, Gary Nutt, Addison Wesley, 2002.
  • Advanced Concepts in Operating Systems, Mukesh Singhal, Niranjan G. Shivaratri, McGraw Hill, 1994.
UNIX and Windows:
  • UNIX Internals: The New Frontiers, Uresh Vahalia, Prentice Hall, 1996.
  • The Design and Implementation of the 4.4 BSD Operating System, M.K. McKusick and K. Bostic and M.J. Karels and J.S. Quarterman, Addison-Wesley, 1996.
  • The Design of the UNIX Operating System, Maurice J. Bach, Prentice Hall, 1986.
  • Inside Windows NT, 2nd edition, David Solomon, Microsoft Press, 1993.
Programming Systems
  • Advanced Programming in the UNIX Environment, W. Richard Stevens, Addison Wesley, 1992.
  • UNIX Network Programming: Networking APIs, 2nd Edition, Volume 1, W. Richard Stevens, Prentice Hall, 1998.
  • UNIX Network Programming: Interprocess Communications, 2nd edition, Volume 2, W. Richard Stevens, Prentice Hall, 1998.
  • UNIX System V Network Programming, Steve Rago, Addison-Wesley, 1993.
C and C++ Programming, Programming Style
  • The C Programming Language, 2nd edition, Kernighan and Ritchie, Prentice Hall, 1991.
  • The C++ Primer: Second Edition, Stan Lippman, Addison-Wesley, 1991.
  • The C++ Programming Language: Second Edition, Bjarne Stroustrup, Addison-Wesley, 1991.
  • Effective C++, Scott Meyers, Addison-Wesley, 1992.
  • The Practice of Programming, Brian Kernighan and Rob Pike, Addison-Wesley, 1999.
  • Amended indian hill style guide (HTML or PDF).
  • C Language FAQ
  • C and C++ Style Guides references at the University of Maryland (umb).
  • And of course the The NetBSD kernel normal form (KNF) - or see kernel programming guide.
UNIX specific references and guides Development Tools
  • gcc - currently version 2.95.X. See GCC Docs for a current set of gnu gcc documents.
  • gdb, the GNU source level debugger. See GDB Docs for a complete description.
  • binutils - the GNU binary utilities, see GNU binutils, are useful for building and debugging programs. Example utilities are:·
    • ar: Create, modify, and extract from archives.
    • nm: List symbols from object files.
    • objcopy: Copy and translate object files.
    • objdump: Display information from object files
    • ranlib: Generate index to archive contents.
    • readelf: Display the contents of ELF format files.
    • size: List section sizes and total size
    • strings: List printable strings from files
    • strip: Discard symbols
    • addr2line: Convert addresses to file and line
  • ctags - ctags (and etags) generate an index file of language specific tags. Editors such as vi (or vim) and emacs can use this index file to navigate through the various source files. ctags can also generate a cross reference list using the -x option.
  • gprof - reports profiling data when the application is compiled with the -pg options. See GPROF Docs for a compelte descriptions.
  • make - We use GNU make
  • Freely available Text editors useful for code development (this is certainly not exhaustive):·
    • vim - or vi Improved, available from the vim website.
    • emacs - Another gnu tool, documentation is available in the usual place.
    • pine - another popular editor.

Mon Dec 23 16:54:54 CST 2002 by fredk@arl.wustl.edu