Home Up Questions?

1 April 2015


Personal Data

Name: James Lyle Peterson

Current Employment: Retired

Net Address: jklp.org

E-mail Address: lyle@austin.rr.com

Citizenship: United States of America

Home Address: 10601 Barker Ridge Cove, Austin, Texas 78759-5108
Home Phone: (512) 345-6304

University Education

B.S., Computer Science, March 1970
Michigan State University, East Lansing, Michigan 48823

M.S., Electrical Engineering, June 1971
Stanford University, Stanford, CA 94305

Ph.D., Electrical Engineering, January 1974
Stanford University, Stanford, CA 94305
Thesis: ``Modelling of Parallel Systems''

Employment Background

  • IBM Austin Research Lab, Austin, Texas
    Research Staff Member, March 2001 - September 2010
    Research into the K42 Operating System (March 2001-June 2002) [Manager: Elmootazbellah Elnozahy (Mootaz)]
    Mambo Full System Simulator for the PowerPC (June 2002-Sept 2010) [Manager: Pat Bohrer, Ahmed Gheith, Mike Kistler]

  • Netpliance, Austin, Texas
    Development Programmer, July 1999 - March 2001 [Manager: Wayne Blackard, Mark Weiland, Craig Cantrell]
    Software design and development for a consumer Internet Appliance; web browser porting and development; Operating System abstraction layer.

  • IBM, Austin, Texas

  • MCC, Austin, Texas
    Senior Member of the Technical Staff, July 1985 - Jan 1989 [Manager: Frank Halasz, Michael Begeman]
    Working on window systems, distributed computing, object-oriented development systems

  • Information Technology Center, CMU, Pittsburgh, PA
    Member of the Technical Staff, June 1983 - June 1985
    Working on Pascal-to-C translator, window systems, system construction

  • IBM Corporation, Austin, Texas
    Visiting Professor, May 1982 - August 1982
    With the IBM 5520 development group

  • Laboratory for Computer Science, MIT, Cambridge, MA
    Visiting Scholar, Sept 1978 - June 1979
    Working on Distributed Systems, Petri Nets, and Spelling Programs

  • Department of Computer Sciences, University of Texas, Austin, Texas
    Assistant Professor, 1974 - 1981
    Associate Professor, 1981 - 1985

    Professional Societies

    IEEE Computer Society, 1976 - 1993
    ACM Special Interest Group on Operating Systems (SigOps), 1973 - 1993
    ACM Special Interest Group on Programming Languages (SigPlan), 1973 - 1993

    Professional Activities

    Certificate in Computer Programming (CCP), 1978
    Institute for Certification of Computer Professionals (ICCP)

    Associate Editor, ``ACM Computing Surveys'', 1984 - 1987


    1. C.R. Attanasio, M. Butrico, J.L. Peterson, C.A. Polyzois, S.E. Smith, Virtual Shared Disks With Application Transparent Recovery , U.S. Patent Number 5,668,943, September 16, 1997.

    2. Bishop Brock, David Glasco, J. L. Peterson, Ram Rajamony, and Ron Rockhold, Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system , U.S. Patent Number 6,421,775, July 16, 2002; TW NI-142985, February 18, 2002.

    3. Michael Thomas Collins, James Lyle Peterson, Weiming Gu, Method and apparatus for efficiently allocating objects in object oriented systems , U.S. Patent Number 6,490,670, December 3, 2002.

    4. James Lyle Peterson, System and Method for Initializing Variables in an Object-Oriented Program , U.S. Patent Number 6,708,181 B1, March 16, 2004.

    5. Craig Alan Bennett, Christian Lita, James Lyle Peterson, Joseph Raymond Thompson, Client side socks server for an internet client , U.S. Patent Number 7,020,700, March 28, 2006. HTML version .

    6. James Lyle Peterson, Ramakrishnan Rajamony, Hazim Shafi, Directory Based Support for Function Shipping in a Multiprocessor System , U.S. Patent Number 7,080,214 B2, July 18, 2006.

    7. Ahmed Gheith, James Lyle Peterson, Richard Ormond Simpson, Extended Register Bank Allocation Based on Status Mask Bits Set By Allocation Instruction For Respective Code Block, U.S. Patent Number 7,231,509, June 12, 2007.

    8. Elmootazbellah Nabil Elnozahy, James Lyle Peterson, Ramakrishnan Rajamony, Hazim Shafi, Superpage coalescing which supports read/write access to a new virtual superpage mapping during copying of physical pages , U.S. Patent Number US 8,417,913 B2, April 9, 2013.

    9. Elmootazbellah Nabil Elnozahy, Heather Lynn Hanson, James Lyle Peterson, Freeman Leigh Rawson, III, Malcolm Scott Ware, Framework for scheduling multicore processors , U.S. Patent Number US 8,510,749 B2, August 13, 2013; U.S. Patent Number US 8,990,831 B2, March 24, 2015.

    10. Bohrer, Patrick J., Gheith, Ahmed, Peterson, James L., Creating a thread of execution in a computer processor without operating system intervention, U.S. Patent Number US 8,561,070 B2, October 15, 2013. U.S. Patent Number US 9,009,716 B2, April 14, 2015.

    11. Bohrer, Patrick J., Gheith, Ahmed, Peterson, James L., Inter-thread data communications in a computer processor , U.S. Patent Number US 8,572,628, October 29, 2013; U.S. Patent Number US 8,893,153, November 18, 2014.

    12. Bohrer, Patrick J., Gheith, Ahmed, Peterson, James L., Analyzing simulated operation of a computer, U.S. Patent Number US 8,762,126, June 24, 2014.

    13. Bohrer, Patrick Joseph, Gheith, Ahmed, Peterson, James Lyle, Managing data access in mobile devices , U.S. Patent Number US 10,469,979, November 5, 2019



    1. James L. Peterson, Computer Organization and Assembly Language Programming, Academic Press, New York, (March 1978), 448 pages, ISBN 0-12-552250-9. Digital Edition, (January 2019), ISBN 978-1-79288-496-2.
    2. James L. Peterson, Computer Programs for Spelling Correction: An Experiment in Program Design, Volume 96, Lecture Notes in Computer Science, Springer-Verlag, Berlin, (October 1980), 213 pages. ISBN 0-387-10259-0, 3-540-10259-0.
    3. James L. Peterson, Petri Net Theory and the Modelling of Systems, Prentice-Hall, Englewood Cliffs, New Jersey, (April 1981), 290 pages, ISBN 0-13-661983-5. Translated into Russian and Japanese. Digital Edition, (August 2019), ISBN 978-1-08-059117-6.
    4. James L. Peterson and Abraham Silberschatz, Operating Systems Concepts, Addison-Wesley, Reading, Mass., (1983), 548 pages, ISBN 0-201-06097-3. Second Edition 1985. Translated into Japanese and Dutch. Alternate Edition 1988. Third Edition 1991. Fourth Edition 1994.
    5. James L. Peterson and Abraham Silberschatz, Instructor's Manual to Accompany Operating Systems Concepts, Second Edition, Addison-Wesley, Reading, Mass., (1987), 373 pages. Third Edition (1991).

    Refereed Journal Articles

    1. James L. Peterson and T. H. Bredt, ``A Comparison of Models of Parallel Computation'', Information Processing 74: Proceedings of the IFIP 74 Congress, (August 1974), pages 466-470.
    2. K. K. Shen and James L. Peterson, ``A Weighted Buddy Method for Dynamic Storage Allocation'', Communications of the ACM, Volume 17, Number 10, (October 1974), pages 558-562; Corrigendum CACM, Volume 18, Number 4, (April 1975), page 202.
    3. James L. Peterson, ``Computation Sequence Sets'', Journal of Computer and Systems Science, Volume 13, Number 1, (August 1976), pages 1-24.
    4. James L. Peterson and T. A. Norman, ``Buddy Systems'', Communications of the ACM, Volume 20, Number 6, (June 1977), pages 421-430.
    5. James L. Peterson, ``Petri Nets'', Computing Surveys, Volume 9, Number 3, (September 1977), pages 223-252; translated to Japanese, Computer Science (BIT), Volume 10, Number 12, (1978), pages 99-127.
    6. James L. Peterson, James R. Bitner, and John H. Howard, ``On the Selection of Optimal Tab Settings'', Communications of the ACM, Volume 21, Number 12, (December 1978), pages 1004-1007.
    7. James L. Peterson, ``A Note on Colored Petri Nets'', Information Processing Letters, Volume 11, Number 1, (August 1980), pages 40-43.
    8. James L. Peterson, ``Computer Programs for Detecting and Correcting Spelling Errors'', Communications of the ACM, Volume 23, Number 12, (December 1980), pages 676-687.
    9. John S. Quarterman, Abraham Silberschatz, and James L. Peterson, ``4.2BSD and 4.3BSD as Examples of the UNIX System'', Computing Surveys, Volume 17, Number 4, (December 1985), pages 379-418; translated to Japanese, Computer Science (BIT), Volume 18, Number 3, (1986), pages 175-213.
    10. James L. Peterson, ``A Note on Undetected Typing Errors'', Communications of the ACM, Volume 29, Number 7, (July 1986), pages 633-637; Corrigendum, Communications of the ACM, Volume 29, Number 9, page 922.
    11. James L. Peterson, ``XSCOPE: A Debugging and Performance Tool for X11'', Information Processing 89: Proceedings of the IFIP 89 Congress, (August 1989), pages 49-54.
    12. James L. Peterson, ``Automatic generation of X11 client programs from intercepted communications'', The X Journal, Volume 1, Number 4, (March-April 1992), pages 44-51.
    13. B. C. Brock, G. D. Carpenter, E. Chiprout, M. E. Dean, P. L. De Backer, E. N. Elnozahy, H. Franke, M. E. Giampapa, D. Glasco, J. L. Peterson, R. Rajamony, R. Ravindran, F. L. Rawson, R. L. Rockhold, and J. Rubio, "Experience with building a commodity Intel-based ccNUMA system", IBM Journal of Research and Development, Volume 45, Number 2, (March 2001), pages 207-227.
    14. H. Shafi, P. J. Bohrer, J. Phelan, C. A. Rusu, and J. L. Peterson, ``Design and validation of a performance and power simulator for PowerPC systems'', IBM Journal of Research and Development, Volume 47, Number 5/6, (Nov 2003), pages 641-652.
    15. J.L. Peterson, P.J. Bohrer, L. Chen, E.N. Elnozahy, A. Gheith, R.H. Jewell, M.D. Kistler, T.R. Maeurer, S.A. Malone, D.B. Murrell, N. Needel, K. Rajamani, M.A. Rinaldi, R.O. Simpson, K. Sudeep, L. Zhang, ``Application of full-system simulation in exploratory system design and development'', IBM Journal of Research and Development, Volume 50, Number 2/3, Spring 2006.

    Invited Papers

    1. James L. Peterson, ``An Introduction to Petri Nets'', Proceedings of the National Electronics Conference, Volume 32, (October 1978), pages 144-148.
    2. Peter J. Denning, James C. Browne, and James L. Peterson, ``The Impact of Operating Systems Research on Software Technology'', in Peter Wegner (Editor), Research Directions in Software Technology, MIT Press, Cambridge, Mass., (June 1979), pages 490-513.
    3. James L. Peterson, ``Petri Nets'', Encyclopedia of Computer Science, Second Edition, Van Nostrand Reinhold Company, New York, 1982, pages 1139-1141.
    4. Michael K. Molloy and James L. Peterson, ``Petri Net'', Encyclopedia of Computer Science, Third Edition, Van Nostrand Reinhold Company, New York, 1993, pages 1162-1064.
    5. James L. Peterson, ``Spelling Programs'', Encyclopedia of Computer Science, Third Edition, Van Nostrand Reinhold Company, New York, 1993, pages 1266-1268.
    6. James L. Peterson, ``Spelling Programs'', Concise Encyclopedia of Computer Science, Edwin D. Reilly (Editor), John Wiley & Sons, West Sussex, England 2004, pages 716-717.

    Reviewed Publications

    1. James L. Peterson, Modelling of Parallel Systems, Ph.D. Dissertation, Department of Electrical Engineering, Stanford University, (December 1973), 255 pages; also Technical Report 46, Digital Systems Laboratory, Stanford University, (February 1974), 241 pages; also Technical Report STAN-VS-74-410, Computer Science Department, Stanford University, (February 1974), 241 pages.
    2. James L. Peterson, ``Dynamic Storage Allocation with Buddy Systems'', Proceedings of the Fourth Texas Conference on Computing Systems, (November 1975), pages 2B4.1 to 2B4.6.
    3. James L. Peterson, ``Use of Webster's Seventh New Collegiate Dictionary to Construct a Master Hyphenation List'', Proceedings of the AFIPS 1982 National Computer Conference, (June 1982), pages 665-670.
    4. Douglas R. McCallum and James L. Peterson, ``Computer-Based Readability Indexes'', Proceedings of the ACM '82 Conference, (October 1982), pages 44-48.
    5. James L. Peterson, ``Translating Pascal into C'', IEEE Software, (July 1984), page 82-86.
    6. James L. Peterson, ``The MACH Kernel'', Share Europe, Cannes, France, (March - April 1992), pages 571-578.
    7. Ronald L. Rockhold and James L. Peterson, ``Operating System Support for Shared Memory Clusters'', 27th Hawaii International Conference on System Sciences, Maui, Hawaii, (January 1994).
    8. Bishop Brock, Gary Carpenter, Eli Chiprout, Mark Dean, Elmootazbellah Elnozahy, David Glasco, James Peterson, Ramakrishnan Rajamony, Ron Rockhold and Andrew Zimmerman, ``Windows NT in a ccNUMA System'', 3rd USENIX Windows NT Symposium, Seattle, Washington, (July 1999).
    9. P. Bohrer, M. Elnozahy, A. Gheith, C. Lefurgy, T. Nakra, J. Peterson, R. Rajamony, R. Rockhold, H. Shafi, R. Simpson, E. Speight, K. Sudeep, E. Van Hensbergen, and Lixin Zhang, "Mambo -- A Full System Simulator for the PowerPC Architecture", ACM SIGMETRICS Performance Evaluation Review, Volume 31, Number 4, March 2004, pages 8 to 12.

    Invited Presentations

    1. Patrick Bohrer, James Peterson, Hazim Shafi, "Mambo: Advances in PowerPC System Simulation", Invited Tutorial, 2003 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), March 9, 2003, Austin, Texas.

    Unreviewed Papers

    1. James L. Peterson, ``Referee Coordination for the Fifth Symposium on Operating Systems Principles'', Operating Systems Review, Volume 10, Number 1, (January 1976), pages 7-16.
    2. James L. Peterson, ``On the Formatting of Pascal Programs'', SIGPLAN Notices, Volume 12, Number 12, (December 1977), pages 83-86.
    3. James L. Peterson, ``Text Compression'', Byte, Volume 4, Number 12, (December 1979), pages 106-118; also reprinted in Bits and Pieces, Byte Books, Peterborough, NH, (1980), pages 135-141.
    4. James L. Peterson, ``Notes on a Workshop on Distributed Computing'', Operating Systems Review, Volume 13, Number 3, (July 1979), pages 18-30.
    5. James L. Peterson, ``Availability of Some Early English Language Reports On Petri Nets'', Newsletter of the Special Interest Group on Petri Nets and Related System Models, Number 4, (February 1980), pages 21-27.

    Technical Reports and Memos

    1. James L. Peterson, ``A Critique of the Programming Language CLU'', CLU Design Note 78, Laboratory for Computer Science, MIT, (April 1979), 33 pages.
    2. James L. Peterson, ``Webster's Seventh New Collegiate Dictionary: A Computer-Readable File Format'', TR-196, Department of Computer Sciences, University of Texas, Austin, Texas, (May 1982), 28 pages.
    3. James L. Peterson, ``Design Issues for Window Managers'', MCC Technical Report Number STP-266-86, Software Technology Program, MCC, (Aug 1986), 29 pages.
    4. Glenn Downing and James L. Peterson, ``NX: Native Common Lisp Interface to X -- A Programmers Manual'', MCC Technical Report Number STP-225-87(P), Software Technology Program, MCC, (July 1987), 60 pages.
    5. Frank G. Halasz, Robert S. Pettengill, James L. Peterson, Tom J. Smith, and Zvi Weiss, ``The Window Server Independent Interface -- WSII: Release 1'', MCC Technical Report Number STP-348-87(P), Software Technology Program, MCC, (Oct 1987), 42 pages.
    6. James L. Peterson, ``XSCOPE: A Debugging and Performance Tool for X11'', MCC Technical Report Number STP-335-88, Software Technology Program, MCC, (Sept 1988), 16 pages.
    7. C.R. Attanasio, M. Butrico, C.A. Polyzois, S.E. Smith, and J.L. Peterson, ``Design and Implementation of a Recoverable Virtual Shared Disk'', IBM Research Report Number RC 19843, IBM Thomas J. Watson Research Center, (Nov 1994), 26 pages.
    8. James Peterson, Glenn Downing and Ron Rockhold, ``Translating Java Programs into C++'', (July 1998).


    For the past 25 years, I have been working in a UNIX environment doing programming and development of large software systems. I am skilled at making large scale programmatic changes to software and other large collections of information, such as merging diverged software bases, porting to new hardware, compilers, or build environments, writing programs and scripts to manipulate programs at the C source level.

    My general interests are quite broad: to apply computer technology to the solution of problems. These problems tend to be either systems problems, dealing with the creation of computer systems (operating systems, programming languages, compilers, and so on) or restricted to specific application areas which I have direct knowledge of (such as writing and programming, web browsing).

    Because of this rather general interest in solving problems with computers, I have been involved over the past 25 years in research and development in several areas.


    Home   Comments?