Jump to content

Pick operating system

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Flavius vanillus (talk | contribs) at 02:40, 23 February 2006 (→‎History: Removed blatant POV). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Pick operating system (often called just "the Pick system" or simply "Pick") is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. It is used primarily for business data processing. Although it started on a variety of minicomputers, the system and various implementations eventually spread to a large variety of microcomputers and mainframe computers, and is still in use today.

A Pick database is divided into one or more accounts, then into files, records, fields, and sub-fields. Although historically in Pick records are called items, fields are called attributes and sub-fields are called multivalues, hence the present-day label "multivalued database". The sub-field, field and record levels of this structure are marked-off by certain special delimiters as opposed to being fixed-length entities. Thus any record or field may contain any number of entries of the lower level of entity.

In its initial implementation, Pick records were limited to 32K bytes in total, although this limit was removed in the 1980s. Each record has one, unique, primary key which is necessary to read or write the record. A record is retrieved by hashing this key and this hash value specifies which of a set of discrete "buckets" to look in, sequentially, for the record. This same method is used to write the record back to its correct "bucket". Each file may be split into as many buckets as the database engineer wishes, although changing this later may (in some versions) require the database to be quiescent. All files start as a contiguous group of disk pages, and grow by linking additional "overflow" pages from unused disk space. Although in the initial implementations there were no index structures or sequential files, this was later corrected to allow these types of structures as well. Files include a "dictionary" fork, and the items in the dictionary fork serve as definitions for the names and structure of the items in the data fork. The dictionary is optional and, as a result, can compromise the integrity of the file if it is omitted. A Pick database eliminates data typing problems by storing all data as characters, including numbers (which are stored as character decimal degits). Integrity is controlled by the applications and the discipline of the programmers.

History

Pick was originally implemented as the Generalized Information Retrieval Language System (GIRLS) on an IBM System/360 in 1965 by Don Nelson and Richard (Dick) Pick at TRW for use by the U.S. Army to control the inventory of helicopter parts. Pick was subsequently commercially released in 1973 by Microdata (and their British distributor CMC) as the Reality Operating System.

On the Microdata implementation, a BASIC-like language called Data/BASIC with numerous syntax extensions for database operations was the primary programming language for applications. A system call PROC for executing command files was also provided. A SQL-style language called ENGLISH allowed database retrieval and reporting, but not updates. ENGLISH did not fully allow manipulation of the 3-dimensional multivalued structure of data records, nor did it directly provide common relational capabilities such as joins because powerful data dictionary redefinitions for a field allowed joins via the execution of an calculated lookup in another file. The system included a spooler. A simple text editor for file-system records was provided, but the editor was only suitable for system maintenance, and could not lock records, so most applications were written with the other tools such as Batch, RPL, or the BASIC compiler so as to ensure data validation and allow record locking.

Dick Pick eventually founded Pick & Associates, later renamed Pick Systems and currently called Raining Data, and licensed what was now called "Pick" to a large variety of manufacturers and vendors who have produced different "flavors" of Pick. The database flavor sold by Raining Data is now known as D3, and those sold by IBM under the "U2" umbrella are known as UniData and Universe.

Unfortunately, Pick Systems was often tangled in licensing litigation, and relatively little effort was devoted to marketing and improving the software. Subsequent ports of Pick to other platforms generally offered the same tools and capabilities for many years, usually with relatively minor improvements and simply renamed (for example, Data/BASIC became Pick/BASIC and ENGLISH became ACCESS). Licensees often developed proprietary variations and enhancements (for example, Microdata created their own input processor called ScreenPro). The resulting fragmented plethora of non-standard implementations caused the various Pick systems to wander ineffectively while the rest of the industry moved forward. As a result, Pick is no longer as popular or successful or discussed as it once was.

What most characterizes Pick is the design and features of the database and the associated retrieval language, which inspired the implementation of similar systems on other platforms, of which a few examples are:

Prime INFORMATION
Devcom, a Microdata reseller, wrote a Pick-style database system in FORTRAN in 1979 called Prime INFORMATION, which was eventually sold to Prime Computer, which later sold the technology to Vmark Software. (Microdata itself was eventually bought by McDonnell-Douglas Information Systems.) Using a variant of Dartmouth BASIC, INFO-BASIC was used for database applications.
UniVerse
A Prime Information like implementation of the system implemented by Vmark Software, which also incorporates the ability to emulate other implementations of the system, such as Microdata's Reality Operating System. Originally running on UNIX it was later also made available on Windows and now is owned and distributed by IBM.
UniData
Very similar to UniVerse. UniData is a multi-valued Pick-style database. It is also owned and distributed by IBM.
Revelation
In 1984 Cosmos released a Pick-style database called Revelation for DOS on the IBM PC.
jBASE
jBASE was released in 1991 by a small company of the same name located in Hemel Hempstead, England. jBASE was written by ex Microdata engineers and emulates all implementations of the system to some degree. jBASE is unique in that it compiles applications to native machine code form, rather than to an intermediate byte code.
UniVision
A pick-style database by EDP

(The systems developed by Prime and Universe are now owned by IBM and referred to as "U2".)

Caché
In 2005 InterSystems the maker of Caché database announced support for a broad set of MultiValue extentions in Caché. Caché for MultiValue

Through the implementations above, and others, Pick-like systems became available as database/programming/emulation environments running under many variants of Unix and Windows.

Over the years, many important and widely used Applications have been written using Pick or one of the various implementations. In general, the end users of these applications are unaware of the underlying Pick implementation.

The Pick OS invites comparison with MUMPS. Similarities include:

  • Both systems are built on the efficient implementation of large, sparse, string-indexed arrays;
  • Both commingle the language and the OS;
  • Both have a similar domain of applicability.

Dick Pick died of stroke complications in October 1994.

See also