Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where James L. Peterson is active.

Publication


Featured researches published by James L. Peterson.


Communications of The ACM | 1980

Computer programs for detecting and correcting spelling errors

James L. Peterson

With the increase in word and text processing computer systems, programs which check and correct spelling will become more and more common. Peterson investigates the basic structure of several such existing programs and their approaches to solving the problems which arise when this type of program is created. The basic framework and background necessary to write a spelling checker or corrector are provided.


Communications of The ACM | 1977

Buddy systems

James L. Peterson; Theodore A. Norman

Two algorithms are presented for implementing any of a class of buddy systems for dynamic storage allocation. Each buddy system corresponds to a set of recurrence relations which relate the block sizes provided to each other. Analyses of the internal fragmentation of the binary buddy system, the Fibonacci buddy system, and the weighted buddy system are given. Comparative simulation results are also presented for internal, external, and total fragmentation.


measurement and modeling of computer systems | 2004

Mambo: a full system simulator for the PowerPC architecture

Patrick J. Bohrer; James L. Peterson; Mootaz Elnozahy; Ram Rajamony; Ahmed Gheith; Ron Rockhold; Charles R. Lefurgy; Hazim Shafi; Tarun Nakra; Rick Simpson; Evan Speight; Kartik Sudeep; Eric Van Hensbergen; Lixin Zhang

Mambo is a full-system simulator for modeling PowerPC-based systems. It provides building blocks for creating simulators that range from purely functional to timing-accurate. Functional versions support fast emulation of individual PowerPC instructions and the devices necessary for executing operating systems. Timing-accurate versions add the ability to account for device timing delays, and support the modeling of the PowerPC processor microarchitecture. We describe our experience in implementing the simulator and its uses within IBM to model future systems, support early software development, and design new system software.


Communications of The ACM | 1986

A note on undetected typing errors

James L. Peterson

Although human proofreading is still necessary, small, topic-specific word lists in spelling programs will minimize the occurrence of undetected typing errors.


Journal of Computer and System Sciences | 1976

Computation sequence sets

James L. Peterson

A class of automata based upon generalized Petri nets is introduced and defined. The language which a Petri net generates during an execution is called a computation sequence set (CSS). The class of CSS languages is shown to be closed under union, intersection, concatenation, and concurrency. All regular languages and all bounded context-free languages are CSS, while all CSS are context-sensitive. Not all CSS languages are context-free, nor are all context-free languages CSS. Decidability problems for CSS hinge on the emptiness problem for CSS. This problem is equivalent to the reachability problem for vector addition systems, and is open.


ACM Computing Surveys | 1985

4.2BSD and 4.3BSD as examples of the UNIX system

John S. Quarterman; Abraham Silberschatz; James L. Peterson

This paper presents an in-depth examination of the 4.2 Berkeley Software Distribution, Virtual VAX-11 Version (4.2BSD), which is a version of the UNIX Time-Sharing System. There are notes throughout on 4.3BSD, the forthcoming system from the University of California at Berkeley. We trace the historical development of the UNIX system from its conception in 1969 until today, and describe the design principles that have guided this development. We then present the internal data structures and algorithms used by the kernel to support the user interface. In particular, we describe process management, memory management, the file system, the I/O system, and communications. These are treated in as much detail as the UNIX licenses will allow. We conclude with a brief description of the user interface and a set of bibliographic notes.


Communications of The ACM | 1974

A weighted buddy method for dynamic storage allocation

Kenneth K. Shen; James L. Peterson

An extension of the buddy method, called the weighted buddy method, for dynamic storage allocation is presented. The weighted buddy method allows block sizes of 2<supscrpt><italic>k</italic></supscrpt> and 3·2<supscrpt><italic>k</italic></supscrpt>, whereas the original buddy method allowed only block sizes of 2<supscrpt><italic>k</italic></supscrpt>. This extension is achieved at an additional cost of only two bits per block. Simulation results are presented which compare this method with the buddy method. These results indicate that, for a uniform request distribution, the buddy system has less total memory fragmentation than the weighted buddy algorithm. However, the total fragmentation is smaller for the weighted buddy method when the requests are for exponentially distributed block sizes.


Ibm Journal of Research and Development | 2003

Design and validation of a performance and power simulator for PowerPC systems

Hazim Shafi; Patrick J. Bohrer; James Michael Phelan; Cosmin Rusu; James L. Peterson

This paper describes the design and validation of a performance and power simulator that is part of the Mambo simulation environment for PowerPC® systems. One of the most notable features of the simulator, designated as Tempo, is the incorporation of an event-driven power model. Tempo satisfies an important need for fast and accurate performance and power simulation tools at the system level. The power and performance predictions from the simulated model of a PowerPC 405GP (or simply 405GP) were validated against a 405GP-based evaluation board instrumented for power measurements using 42 application/dataset combinations from the EEMBC benchmark suite. The average performance and energy-prediction errors were 0.6% and -4.1%, respectively. In addition to describing Tempo, we show examples of how well it can predict the runtime power consumption of a 405GP microprocessor during application execution.


Proceedings of the ACM '82 conference on | 1982

Computer-based readability indexes

Douglas R. McCallum; James L. Peterson

Computer-based document preparation systems provide many aids to the production of quality documents. A text editor allows arbitrary text to be entered and modified. A text formatter then imposes defined rules on the form of the text. A spelling checker ensures that each word is a correctly spelled word. None of these aids, however, affect the meaning of the document; the document may be well-formatted and correctly spelled but still incomprehensible.


Sigplan Notices | 1977

On the formatting of Pascal programs

James L. Peterson

A part of the current discussion on programming techniques deals with programming style. Original thoughts that programs would have very short lifetimes and be read only by compilers have been shown to be incorrect. Programs can have very long lifetimes. Due to this, it will be necessary for these programs to be read by many programmers as maintenance, changes, and improvements are made to the program during its years of changing environments, uses and specifications. One aspect of programming style which affects the usefulness of programs is their readability. A program is readable if a programmer can pick up the program, and read and understand it. Many aspects of style affect readability, including variable names, commenting, modularity and formatting. It is the this last aspect of readability that we discuss here. Formatting, and all other aspects of readability, are strictly matters of personal taste. There is (as of yet at least) no provably best format for writing programs. In this paper, we present simply a suggested formatting approach, with vague arguments for the adoption of these formatting rules. Notice that most programmers do have at least implicit formatting conventions. It is our purpose to make these implicit rules explicit. Pascal is used as the example for describing the formatting rules, although similar formatting rules could be defined for other block structured languages such as Algol or Simula. We being first with the simple statements and then proceed to compound statements. The simple statements in Pascal are either assignment statements or procedure calls. In either case, these are simply written, one per line, in a linear manner .

Researchain Logo
Decentralizing Knowledge