Topic: virtual machine

topics > computer science > computer hardware > Group: machine model

abstraction in programming
decomposition of a system into levels
incremental compilation
information hiding
interface between program modules
interface type
intermediate representation of code
just-in-time compilation
machine independent programming
primitive functions
program web
semantic grammar
semantics by an abstract machine
software portability
the 'uses' hierarchy for organizing systems
threaded code
virtualized hardware


Virtual machines are levels in a hierarchical system which provide abstract access to lower level functions. Parnas builds virtual machines from a 'uses' hierarchy, i.e., the structural decomposition of a system into its simplest components. Virtual machines do not have to be hierarchical, although they are usually defined that way. Non-hierarchical virtual machines form program webs.

Advantages-- The implementation of a virtual machine can be modified without changing the machine's use. Virtual machines are described as many independent functions. New virtual machines can be created from subsets of other virtual machines. (cbb 5/80)

Subtopic: type system up

Quote: .NET Common Language Runtime (CLR) provides a type system and intermediate language for object-oriented languages; stack-based, single-inheritance, interfaces, native code compilation, runtime services, shared libraries [»kennA6_2001]

Subtopic: virtual machine up

Quote: virtual machine approach--instead of writing functions, we should design software machine extensions that will be useful for many programs [»parnDL5_1978]
Quote: gain machine independence through custom, abstract machines for each application [»poolPC10_1969]
Quote: hide interrupts via abstract processors; everything else as cooperating sequential processes [»dijkEW2_1971]

Subtopic: virtual machine as safety up

Quote: DTrace actions execute in a virtual machine; no backwards branches, only defined subroutine calls, no arbitrary stores; arbitrary loads, including unmapped memory [»cantB2_2006]

Subtopic: virtual device up

Quote: a virtual device is a device-independent interface to device-dependent code; allows change without rewriting user programs [»britKH3_1981]
Quote: allow virtual devices that do not correspond to hardware devices; capabilities may be scattered among multiple devices, one device may contain unrelated capabilities; want an understandable interface [»britKH3_1981]

Subtopic: abstraction levels up

Quote: each operating system level manages a particular type of abstract object [»robiL9_1975]
Quote: structure an operating system as layers of insensitive, abstract machines
QuoteRef: robiL9_1975 ;;2 levels of abstract machines which only access one level away. Level either transparent to feature or hides feature

Subtopic: hide machine details up

Quote: virtual memory should separate machine independent data from machine dependent data [»acceM6_1986]

Subtopic: accessibility vs. enhancing machine up

Quote: never develop a virtual machine that is better than actual hardware; instead pass on the speed, compactness, and flat structure of a simple hardware design [»hoarCA10_1974]

Subtopic: macros for abstraction up

Quote: use macros to code each operation of the abstract machine

Related Topics up

Topic: abstraction (62 items)
Topic: abstraction in programming (67 items)
Topic: decomposition of a system into levels (49 items)
Topic: incremental compilation (3 items)
Topic: information hiding (50 items)
Topic: interface between program modules (55 items)
Topic: interface type (50 items)
Topic: intermediate representation of code (31 items)
Topic: just-in-time compilation (20 items)
Topic: machine independent programming (13 items)
Topic: primitive functions (34 items)
Topic: program web (8 items)
Topic: semantic grammar (23 items)
Topic: semantics by an abstract machine (38 items)
Topic: software portability (43 items)
Topic: the 'uses' hierarchy for organizing systems (18 items)
Topic: threaded code (18 items)
Topic: virtualized hardware
(5 items)

Updated barberCB 3/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.