Map
Index
Random
Help
th

QuoteRef: wirtN9_1989

topics > all references > ThesaHelp: references t-z



ThesaHelp:
references t-z
Topic:
multiple activities in a user interface
Topic:
non-preemptive task scheduling
Topic:
command-line as a UserInterface
Topic:
persistent data structure
Topic:
global declarations and variables
Topic:
source-rich system
Topic:
dialog boxes in a user interface
Topic:
modes in a user interface
Topic:
menus for a UserInterface
Topic:
extensible languages
Topic:
extensible systems
Topic:
user-centered operating system
Topic:
restricted and extended types
Topic:
generic operations and polymorphism
Topic:
import/export lists for defining an interface
Topic:
type hierarchy
Topic:
heap memory management
Topic:
intermediate representation of code
Topic:
object code linkers and loaders
Topic:
parameter passing by message
Topic:
procedure valued variables
Group:
operating system
Topic:
file
Topic:
interface between program modules
Topic:
Unix pipes
Topic:
memory management by garbage collection
Topic:
safe use of pointers
Topic:
using pointers in Thesa
Topic:
memory management by reference counting
Topic:
memory management for programs and modules
Topic:
virtual memory
Topic:
object-oriented methods
Group:
function
Topic:
function call
Topic:
memory management by buddy system
Topic:
type reflection and introspection
Topic:
structural equivalence vs. name equivalence of data types
Topic:
disk allocation
Topic:
file directory
Topic:
tiled vs. overlapping windows
Topic:
windows for a UserInterface
Topic:
raster graphics
Topic:
event loop for a user interface
Topic:
editor as the UserInterface
Topic:
examples of file systems
Topic:
text editing
Topic:
data record
Topic:
range data type
Topic:
enumerated data types
Topic:
minimal language systems
Topic:
operating system kernel

Reference

Wirth, N., Gutknecht, J., "The Oberon system", Software-Practice and Experience, 19, 9, pp. 857-893, September 1989. Google

Quotations
858 ;;Quote: Oberon is a single process for pursuing multiple tasks usually shown as displayed documents; command initiated operations with operands
858 ;;Quote: Oberon switches processes only between user commands (except for interrupt handlers); no need for interlocking
858 ;;Quote: an Oberon command consists of module_name.procedure_name; click on text or type in, a few on mouse buttons
859 ;;Quote: Oberon parameters are typically displayed, and command output is non-volatile with a visible representation; everything is accessible
859 ;;Quote: in Oberon, commands are atomic (without a dialogue); no modes or hidden states that cause user-unfriendliness
859 ;;Quote: Oberon tools are short texts or graphics containing frequently-used commands; users can edit like any text
859+;;Quote: Oberon menus are commands listed in viewer headers; take their viewer as argument
859 ;;Quote: Oberon is extensible; e.g., any application can read text from the screen by importing the type Text
859 ;;Quote: can extend imported Oberon data types without losing compatibility with the base type; motivation for the Oberon language
859+;;Quote: Oberon has polymorphic operations
861 ;;Quote: Oberon's modules form an import/export hierarchy; no distinction between operating system and applications
861+;;Quote: Oberon's workspace consists of a stack of procedure activations and a heap of dynamically allocated variables
861 ;;Quote: Oberon's loader transforms modules into executable code by linking object code files on disk
862 ;;Quote: an Oberon handler is a procedure-valued variable or record field; caller doesn't know callee, so it's "sending a message"
864 ;;Quote: most operating systems run sequence(s) of program activations; free resources and store data in disk files between activations
864+;;Quote: in most operating systems, the interface between programs is disk files or pipes
864 ;;Quote: Oberon's interface between consecutive commands is primarily global variables; efficient and flexible; storage reclamation more difficult
864 ;;Quote: Oberon's garbage collector must be safe; use type guards, range checks, and NIL tests for all pointers
865 ;;Quote: Oberon's modules only released by explicit command; imported modules released by reference counting (no reference cycles)
865 ;;Quote: Oberon uses virtual memory for delayed loading, write protection, and simplified allocation for modules; no demand paging
868 ;;Quote: each Oberon module includes a table of commands giving name and entry address; called by M.P
868 ;;Quote: each Oberon module includes a pointer reference list of all global pointers; used for garbage collection
869 ;;Quote: Oberon allocates memory for modules sequentially in virtual memory; Free releases the physical page but not the virtual page
869 ;;Quote: Oberon allocates imported modules but does not load them; delayed loading on first call by paging; supports larger systems
871 ;;Quote: Oberon memory management by 5 lists for 16, 32, 64, 128, and 128*n bytes; efficient allocation and coalescing; low wastage; like buddy system
871 ;;Quote: Oberon types include a pointer to the base type's descriptor; name equivalence of types, not structural equivalence; for type tests/guards
874 ;;Quote: Oberon files include a header of disk addresses for each sector; extension table for large files
874+;;Quote: Oberon file directory by a B-tree
876 ;;Quote: Oberon uses tiled windows with a user track for documents and a system track for system data, tools, and logs; allows automatic allocation
877 ;;Quote: a typical Oberon viewer has a header frame giving a name and menu, and a main frame for the viewer's contents
877+;;Quote: Oberon display is organized into frames (a rectangular bit map with subframes)
878 ;;Quote: Oberon frames and viewers can respond to messages, e.g. for a viewer becoming visible, updated text, or input events
879 ;;Quote: each Oberon viewer has a command interpreter bound to it for handling input events; e.g., editor or mail handler
881 ;;Quote: text plays a key role in computer systems; for input, output, object names, and commands; Oberon predefines Text documents
883 ;;Quote: an Oberon writer initially creates an anonymous file; extension of memory since the disk space is reclaimed on system boot
884 ;;Quote: Oberon describes texts as a linked list of text pieces; e.g., insert a string by splitting the piece (3 pieces when done)
890 ;;Quote: each Oberon command is an atomic action in the user-computer dialogue; switch tasks between commands
891 ;;Quote: Oberon's mark-and-sweep garbage collector only runs between commands when the stack is empty; no local variables
891 ;;Quote: extended, Oberon objects are byte compatible with their base type; can be integrated into existing structures
891 ;;Quote: Oberon users do not miss enumerations, subranges, submodules, automatic qualifications, general indexing, for-statements, etc.
891 ;;Quote: the Oberon system and compiler is described by 15 KLOC of source


Related Topics up

ThesaHelp: references t-z (309 items)
Topic: multiple activities in a user interface (17 items)
Topic: non-preemptive task scheduling (16 items)
Topic: command-line as a UserInterface (25 items)
Topic: persistent data structure (37 items)
Topic: global declarations and variables (33 items)
Topic: source-rich system (27 items)
Topic: dialog boxes in a user interface (15 items)
Topic: modes in a user interface (40 items)
Topic: menus for a UserInterface (31 items)
Topic: extensible languages (71 items)
Topic: extensible systems (22 items)
Topic: user-centered operating system (24 items)
Topic: restricted and extended types (35 items)
Topic: generic operations and polymorphism (67 items)
Topic: import/export lists for defining an interface (20 items)
Topic: type hierarchy (18 items)
Topic: heap memory management (33 items)
Topic: intermediate representation of code (31 items)
Topic: object code linkers and loaders (31 items)
Topic: parameter passing by message (31 items)
Topic: procedure valued variables (34 items)
Group: operating system   (27 topics, 924 quotes)
Topic: file (22 items)
Topic: interface between program modules (55 items)
Topic: Unix pipes (10 items)
Topic: memory management by garbage collection (116 items)
Topic: safe use of pointers (102 items)
Topic: using pointers in Thesa (49 items)
Topic: memory management by reference counting (23 items)
Topic: memory management for programs and modules (12 items)
Topic: virtual memory (32 items)
Topic: object-oriented methods (42 items)
Group: function   (12 topics, 232 quotes)
Topic: function call (28 items)
Topic: memory management by buddy system (9 items)
Topic: type reflection and introspection (28 items)
Topic: structural equivalence vs. name equivalence of data types (30 items)
Topic: disk allocation (32 items)
Topic: file directory (55 items)
Topic: tiled vs. overlapping windows (21 items)
Topic: windows for a UserInterface (21 items)
Topic: raster graphics (27 items)
Topic: event loop for a user interface (11 items)
Topic: editor as the UserInterface (10 items)
Topic: examples of file systems (44 items)
Topic: text editing (34 items)
Topic: data record (57 items)
Topic: range data type (17 items)
Topic: enumerated data types (17 items)
Topic: minimal language systems (12 items)
Topic: operating system kernel (67 items)

Collected barberCB 9/90
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.