Pick operating system
Encyclopedia
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
. Pick is used primarily for business data processing
. Though its popularity is diminishing, its capabilities were far ahead of their time and there is still a strong enthusiastic user community.
The term "Pick system" has also come to be used as the general name of all operating environment
s which employ this multivalued database and have some implementation of Pick/BASIC and ENGLISH/Access
queries. Although Pick started on a variety of minicomputer
s, the system and its various implementations eventually spread to a large assortment of microcomputer
s, personal computers and mainframe computer
s and is still in use today.
' data management system. A hash-file system is a collection of dynamic associative array
s which are organized altogether and linked and controlled using associative files as a database management system. Being hash-file oriented, Pick provides efficiency in data access time. Originally, all data structures in Pick were hash-files (at the lowest level) meaning records are stored as associated couplets of a primary key to a set of values. Today a Pick system can also natively access host files in Windows or Unix in any format.
A Pick database is divided into one or more accounts, master dictionaries, dictionaries, files and sub-files, each of which is a hash-table oriented file. These files contain records made up of fields, sub-fields and sub-sub-fields. In Pick, records are called items, fields are called attributes, and sub-fields are called values or sub-values (hence the present-day label "multivalued database"). All elements are variable-length, with field and values marked off by special delimiters, so that any file, record, or field may contain any number of entries of the lower level of entity. As a result, a Pick item (record) can be one complete entity (one entire invoice, purchase order, sales order, etc.), or is like a file on most conventional systems. Entities that are stored as 'files' in other common-place systems (i.e. source programs and text documents) must be stored as records within files on Pick.
The file hierarchy is roughly equivalent to the common Unix-like
hierarchy of directories, sub-directories, and files. The master dictionary is similar to a directory in that it stores pointers to other dictionaries, files and executable programs. The master dictionary also contain the command-line language.
All files (accounts, dictionaries, files, sub-files) are organized identically as are all records. This uniformity is exploited throughout the system, both by system functions, and by the system administration commands. For example, the 'find' command will find and report the occurrence of a word or phrase in a file, and can operate on any account, dictionary, file or sub-file.
Each record must have a unique, primary key which determines where in a file that record is stored. To retrieve a record, its key is hashed
and the resultant value specifies which of a set of discrete "buckets" (called "groups") to look in for the record. (Within a bucket, records are scanned sequentially.) Therefore, most records (i.e. a complete document) can be read-up using one single disk-read operation. This same method is used to write the record back to its correct "bucket".
In its initial implementation, Pick records were limited to 32K bytes in total (when a 10MB hard disk cost US$
5000), although this limit was removed in the 1980s. Files can retain an unlimited number of records, but retrieval efficiency is determined by the number of records relative to the number of buckets allocated to the file. Each file may be initially allocated as many buckets as required, although changing this extent later may (for some filetypes) require the file to be quiescent. All modern multi-value databases have a special file-type which changes extent dynamically as the file is used. These use a technique called linear hashing, whose cost is proportional to the change in file size, not (as in typical hashed files) the file size itself. All files start as a contiguous group of disk pages, and grow by linking additional "overflow" pages from unused disk space.
Initial Pick implementations had no index structures as they were not deemed necessary. Around 1990, a B-tree
indexing feature was added. This feature makes secondary key look-ups operate much like keyed inquiries of any other database system: requiring at least two disk reads (a key read then a data-record read).
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, the system does not use the contents of the dictionary to ensure the integrity of the file as some other DBMS file-systems do; rather it is used only for the reporting tool. A Pick database has no data typing since all data is stored as characters, including numbers (which are stored as character decimal digits). Data integrity
, rather than being controlled by the system, is controlled by the applications and the discipline of the programmers. But, because a logical document in Pick is not fragmented (as it would be in SQL) intra-record integrity is automatic.
In contrast to many SQL
database system
s, Pick allows for multiple, pre-computed field aliases. For example, a date field may have an alias definition for the format 12 Oct 1999, and another alias formatting that same date field like 10/12/99. File cross-connects or joins are handled as a synonym definition of the foreign key. A customer's data, such as name and address, are 'joined' from the customer file into the invoice file via a synonym definition of customer number in the invoice dictionary.
Pick record structure favors a "denormalized" decomposition, where all of the data for an entity is stored in a single record, obviating the need to perform join
s. Managing large, sparse data sets in this way can result in efficient use of storage space.
for use by the U.S. Army to control the inventory of Cheyenne helicopter parts. Pick was subsequently commercially released in 1973 by Microdata Corporation (and their British distributor CMC) as the Reality Operating System now supplied by Northgate Information Solutions
.
Originally on the Microdata implementation, and subsequently implemented on all Pick systems, a BASIC
-like language called Data/BASIC with numerous syntax extensions for smart terminal interface and database operations was the primary programming language for applications. A PROC procedure language
was provided for executing scripts
. A SQL
-style language called ENGLISH allowed database retrieval and reporting, but not updates (although later, the English command "REFORMAT" allowed updates on a batch basis). ENGLISH did not fully allow manipulating the 3-dimensional multivalued structure of data records. Nor did it directly provide common relational
capabilities such as join
s. This was because powerful data dictionary
redefinitions for a field allowed join
s via the execution of a 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 language so as to ensure data validation and allow record locking
.
Dick Pick founded Pick & Associates, later renamed Pick Systems, then Raining Data and TigerLogic. He licensed "Pick" to a large variety of manufacturers and vendors who have produced different "flavors" of Pick. The database flavors sold by TigerLogic is now known as D3, mvBase, and mvEnterprise. Those previously sold by IBM
under the "U2
" umbrella are known as UniData and UniVerse. Rocket Software purchased IBM's U2 line in 2010.
Dick Pick died of stroke complications in October 1994.
Pick Systems often became tangled in licensing litigation, and devoted relatively little effort to marketing and improving its 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).
Reality : The first implementation of the Pick database was on a Microdata platform and called Reality
. The first commercial release was in 1973. The Microdata implementations ran in firmware
, so each upgrade had to be accompanied by a new chip. Microdata itself was eventually bought by McDonnell-Douglas Information Systems. Pick and Microdata sued each other for the right to market the database, the final judgment being that they both had the right. In addition to the Reality
series of computers, Microdata sold the Sequel series which was a much larger class able to handle up to 200 simultaneous users. The modern version of this original Pick implementation is owned and distributed by Northgate Information Solutions Reality.
Ultimate : The second implementation of the Pick database was developed in about 1978 by a New Jersey
company called The Ultimate Corp, run by Ted Sabarese. Like the earlier Microdata port, this was a firmware implementation, with the Pick instruction set in firmware and the monitor in assembly code on a Honeywell Level 6 machine. The system had dual personalities in that the monitor/kernel functions (mostly hardware I/O and scheduling) were executed by the native Honeywell Level 6 instruction set. When the monitor "select next user" for activation control was passed to the Honeywell WCS (writable control store) to execute Pick assembler code (implemented in microcode) for the selected process. When the users time slice expired control was passed back to the kernel running the native Level 6 instruction set.
Ultimate took this concept further with the DEC LSI/11 family of products by implementing a co-processor in hardware (bit-slice, firmware driven). Instead of a single processor with a WCS microcode enhanced instruction set this configuration used two independent but cooperating CPU's. The LSI11 CPU executed the monitor functions and the co-processor executed the Pick assembler instruction set. The efficiencies of this approach resulted in a 2X performance improvement.
The co-processor concept was used again to create a 5X, 7x and dual-7x versions for Honeywell Level 6 systems. Dual ported memory with private busses to the co-processors were used to increase performance of the LSI11 and Level 6 systems.
Another version used a DEC LSI-11 for the IOP and a 7X board. Ultimate enjoyed moderate success during the 1980s, and even included an implementation running as a layer on top of DEC VAX systems, the 750, 780, 785 and later the MicroVAX
. Ultimate also had versions of the Ultimate Operating System running on IBM 370 series systems (under VM and native) and also the 9370 series computers. Ultimate was renamed Allerion, Inc.
, before liquidation of its assets. Most assets were acquired by Groupe Bull
, and consisted of mostly maintaining extant hardware. Bull had its own problems and in approximately 1994 the US maintenance operation was sold to Wang
.
Prime INFORMATION : Devcom, a Microdata reseller, wrote a Pick-style database system called INFORMATION in FORTRAN
and assembler in 1979 to run on Prime Computer
50-series systems. It was then sold to Prime Computer
and renamed Prime INFORMATION. It was subsequently sold to Vmark Software. INFO/BASIC, a variant of Dartmouth BASIC
, was used for database applications.
PI/open : Prime Computer
rewrote Prime INFORMATION in C for the Unix
-based systems it was selling, calling it PI+. It was then ported to other Unix systems offered by other hardware vendors and renamed PI/open.
ADDS : (Applied Digital Data Systems
) This was the first implementation to be done in software only, so upgrades were accomplished by a tape load, rather than a new chip. The "Mentor" line was initially based on the Zilog Z-8000 chipset and this port set off a flurry of other "software implementations" across a wide array of processors with a large emphasis on the Motorola 68000.
Fujitsu : Another software implementation, existing in the 1980s
Pyramid : Another software implementation, existing in the 1980s
General Automation "Zebra" : Another software implementation, existing in the 1980s
Sequoia : Another software implementation, existing from 1987. Sequoia was most well known for its fault-tolerant multi-processor model, which would automatically call tech support if a part was failing. The Enterprise Systems business unit (which was the unit that sold Pick), was sold to General Automation in 1996/1997.
UniVerse : Another implementation of the system called UniVerse was by VMark Software. This was the first one to incorporate the ability to emulate other implementations of the system, such as Microdata's Reality
Operating System, and Prime INFORMATION. Originally running on Unix
, it was later also made available for Windows
. It now is owned by Rocket Software. (The systems developed by Prime Computer
and VMark are now owned by Rocket Software and referred to as "U2".)
UniData : Very similar to UniVerse. UniData is a multivalued Pick-style database. It is also owned and distributed by Rocket Software.
Revelation : In 1984, Cosmos released a Pick-style database called Revelation, later Advanced Revelation, for DOS
on the IBM PC
. Advanced Revelation is now owned by Revelation Technologies, which publishes a GUI-enabled version called OpenInsight
.
jBASE : jBASE
was released in 1991 by a small company of the same name located in Hemel Hempstead. Written by former Microdata engineers, jBASE
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 : UniVision was a Pick-style database, designed as a replacement for the Mentor version but with extended features, released in 1992 by EDP located in Sheffield.
OpenQM : OpenQM
is the only multi-value database product available both as a fully supported non-open source commercial product and in open source form under the General Public Licence (OpenQM Community Project). It is available from OpenQM and from OpenQM in French.
Caché : In 2005 InterSystems
, the maker of Caché
database, announced support for a broad set of multi-value extensions in Caché. Caché for MultiValue.
Onware : ONware ends isolation of MultiValue applications. ONware equips these applications with the ability to use the common databases, such as Oracle and SQL Server. Using ONware you can integrate MultiValue applications with Relational, Object and Object-Relational applications.
Through the implementations above, and others, Pick-like systems became available as database/programming/emulation environments running under many variants of Unix
and Microsoft Windows
.
Over the years, many important and widely used applications have been written using Pick or one of the derivative implementations. In general, the end users of these applications are unaware of the underlying Pick implementation.
The Pick OS invites comparison with MUMPS
, which evolved into Caché
. Similarities include:
Demand paging
In computer operating systems, demand paging is an application of virtual memory. In a system that uses demand paging, the operating system copies a disk page into physical memory only if an attempt is made to access it...
, multiuser, virtual memory
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
, time-sharing
Time-sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing.By allowing a large...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
based around a unique "multivalued" database
MultiValue
MultiValue is a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system....
. Pick is used primarily for business data processing
Data processing
Computer data processing is any process that a computer program does to enter data and summarise, analyse or otherwise convert data into usable information. The process may be automated and run on a computer. It involves recording, analysing, sorting, summarising, calculating, disseminating and...
. Though its popularity is diminishing, its capabilities were far ahead of their time and there is still a strong enthusiastic user community.
The term "Pick system" has also come to be used as the general name of all operating environment
Operating environment
The operating environment in engineering describes the circumstances surrounding and potentially affecting something that is operating. For example electronic or mechanical equipment may be affected by high temperatures, vibration, dust, and other parameters which comprise the operating...
s which employ this multivalued database and have some implementation of Pick/BASIC and ENGLISH/Access
Access query language
Access, the successor to ENGLISH, is an English-like query language used in the Pick operating system.The original name ENGLISH is something of a misnomer, as PICK's flexible dictionary structure meant that file and attribute names could be given aliases in any natural language...
queries. Although Pick started on a variety of minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...
s, the system and its various implementations eventually spread to a large assortment of microcomputer
Microcomputer
A microcomputer is a computer with a microprocessor as its central processing unit. They are physically small compared to mainframe and minicomputers...
s, personal computers and mainframe computer
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s and is still in use today.
Overview
The Pick database is a 'hash-fileHash table
In computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys , to their associated values . Thus, a hash table implements an associative array...
' data management system. A hash-file system is a collection of dynamic associative array
Associative array
In computer science, an associative array is an abstract data type composed of a collection of pairs, such that each possible key appears at most once in the collection....
s which are organized altogether and linked and controlled using associative files as a database management system. Being hash-file oriented, Pick provides efficiency in data access time. Originally, all data structures in Pick were hash-files (at the lowest level) meaning records are stored as associated couplets of a primary key to a set of values. Today a Pick system can also natively access host files in Windows or Unix in any format.
A Pick database is divided into one or more accounts, master dictionaries, dictionaries, files and sub-files, each of which is a hash-table oriented file. These files contain records made up of fields, sub-fields and sub-sub-fields. In Pick, records are called items, fields are called attributes, and sub-fields are called values or sub-values (hence the present-day label "multivalued database"). All elements are variable-length, with field and values marked off by special delimiters, so that any file, record, or field may contain any number of entries of the lower level of entity. As a result, a Pick item (record) can be one complete entity (one entire invoice, purchase order, sales order, etc.), or is like a file on most conventional systems. Entities that are stored as 'files' in other common-place systems (i.e. source programs and text documents) must be stored as records within files on Pick.
The file hierarchy is roughly equivalent to the common Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
hierarchy of directories, sub-directories, and files. The master dictionary is similar to a directory in that it stores pointers to other dictionaries, files and executable programs. The master dictionary also contain the command-line language.
All files (accounts, dictionaries, files, sub-files) are organized identically as are all records. This uniformity is exploited throughout the system, both by system functions, and by the system administration commands. For example, the 'find' command will find and report the occurrence of a word or phrase in a file, and can operate on any account, dictionary, file or sub-file.
Each record must have a unique, primary key which determines where in a file that record is stored. To retrieve a record, its key is hashed
Hash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...
and the resultant value specifies which of a set of discrete "buckets" (called "groups") to look in for the record. (Within a bucket, records are scanned sequentially.) Therefore, most records (i.e. a complete document) can be read-up using one single disk-read operation. This same method is used to write the record back to its correct "bucket".
In its initial implementation, Pick records were limited to 32K bytes in total (when a 10MB hard disk cost US$
United States dollar
The United States dollar , also referred to as the American dollar, is the official currency of the United States of America. It is divided into 100 smaller units called cents or pennies....
5000), although this limit was removed in the 1980s. Files can retain an unlimited number of records, but retrieval efficiency is determined by the number of records relative to the number of buckets allocated to the file. Each file may be initially allocated as many buckets as required, although changing this extent later may (for some filetypes) require the file to be quiescent. All modern multi-value databases have a special file-type which changes extent dynamically as the file is used. These use a technique called linear hashing, whose cost is proportional to the change in file size, not (as in typical hashed files) the file size itself. All files start as a contiguous group of disk pages, and grow by linking additional "overflow" pages from unused disk space.
Initial Pick implementations had no index structures as they were not deemed necessary. Around 1990, a B-tree
B-tree
In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in that a node can have more than two children...
indexing feature was added. This feature makes secondary key look-ups operate much like keyed inquiries of any other database system: requiring at least two disk reads (a key read then a data-record read).
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, the system does not use the contents of the dictionary to ensure the integrity of the file as some other DBMS file-systems do; rather it is used only for the reporting tool. A Pick database has no data typing since all data is stored as characters, including numbers (which are stored as character decimal digits). Data integrity
Integrity
Integrity is a concept of consistency of actions, values, methods, measures, principles, expectations, and outcomes. In ethics, integrity is regarded as the honesty and truthfulness or accuracy of one's actions...
, rather than being controlled by the system, is controlled by the applications and the discipline of the programmers. But, because a logical document in Pick is not fragmented (as it would be in SQL) intra-record integrity is automatic.
In contrast to many SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
database system
Database system
A database system is a term that is typically used to encapsulate the constructs of a data model, database Management system and database....
s, Pick allows for multiple, pre-computed field aliases. For example, a date field may have an alias definition for the format 12 Oct 1999, and another alias formatting that same date field like 10/12/99. File cross-connects or joins are handled as a synonym definition of the foreign key. A customer's data, such as name and address, are 'joined' from the customer file into the invoice file via a synonym definition of customer number in the invoice dictionary.
Pick record structure favors a "denormalized" decomposition, where all of the data for an entity is stored in a single record, obviating the need to perform join
Join
Join may refer to:* Join , to include additional counts or additional defendants on an indictment* Join , a least upper bound of set orders in lattice theory* Join , a type of binary operator...
s. Managing large, sparse data sets in this way can result in efficient use of storage space.
History
Pick was originally implemented as the Generalized Information Retrieval Language System (GIRLS) on an IBM System/360 in 1965 by Don Nelson and Dick Pick at TRWTRW
TRW Inc. was an American corporation involved in a variety of businesses, mainly aerospace, automotive, and credit reporting. It was a pioneer in multiple fields including electronic components, integrated circuits, computers, software and systems engineering. TRW built many spacecraft,...
for use by the U.S. Army to control the inventory of Cheyenne helicopter parts. Pick was subsequently commercially released in 1973 by Microdata Corporation (and their British distributor CMC) as the Reality Operating System now supplied by Northgate Information Solutions
Northgate Information Solutions
-Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...
.
Originally on the Microdata implementation, and subsequently implemented on all Pick systems, a BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
-like language called Data/BASIC with numerous syntax extensions for smart terminal interface and database operations was the primary programming language for applications. A PROC procedure language
PROC procedure language
PROC is the name of Pick operating system's procedure language. PROC is comparable to a UNIX shell script or a DOS/Windows batch file, and has similar features such as control-flow constructs, file manipulation, subroutine calls, and terminal input and output. The PROC language itself consists of...
was provided for executing scripts
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
. A SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
-style language called ENGLISH allowed database retrieval and reporting, but not updates (although later, the English command "REFORMAT" allowed updates on a batch basis). ENGLISH did not fully allow manipulating the 3-dimensional multivalued structure of data records. Nor did it directly provide common relational
Relational
Relational may refer to:*Relational *Relational aggression*Relational algebra*Relational art*Relational database*Relational calculus*Relational operator*Relational model*Relational theory*Relational philosophy*Relational psychoanalysis...
capabilities such as join
Join (SQL)
An SQL join clause combines records from two or more tables in a database. It creates a set that can be saved as a table or used as is. A JOIN is a means for combining fields from two tables by using values common to each. ANSI standard SQL specifies four types of JOINs: INNER, OUTER, LEFT, and RIGHT...
s. This was because powerful data dictionary
Data dictionary
A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format." The term may have one of several closely related meanings pertaining to...
redefinitions for a field allowed join
Join (SQL)
An SQL join clause combines records from two or more tables in a database. It creates a set that can be saved as a table or used as is. A JOIN is a means for combining fields from two tables by using values common to each. ANSI standard SQL specifies four types of JOINs: INNER, OUTER, LEFT, and RIGHT...
s via the execution of a calculated lookup in another file. The system included a spooler. A simple text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
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 language so as to ensure data validation and allow record locking
Record locking
Record locking is the technique of preventing simultaneous access to data in a database, to prevent inconsistent results.The classic example is demonstrated by two bank clerks attempting to update the same bank account for two different transactions. Clerks 1 and 2 both retrieve the account's...
.
Dick Pick founded Pick & Associates, later renamed Pick Systems, then Raining Data and TigerLogic. He licensed "Pick" to a large variety of manufacturers and vendors who have produced different "flavors" of Pick. The database flavors sold by TigerLogic is now known as D3, mvBase, and mvEnterprise. Those previously sold by IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
under the "U2
IBM U2
Rocket U2 is a suite of database management and supporting software now owned by Rocket Software. It includes two MultiValue database platforms: UniData and UniVerse. Both of these products are operating environments which run on current Unix, Linux and Windows operating systems. They are both...
" umbrella are known as UniData and UniVerse. Rocket Software purchased IBM's U2 line in 2010.
Dick Pick died of stroke complications in October 1994.
Pick Systems often became tangled in licensing litigation, and devoted relatively little effort to marketing and improving its 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
Access query language
Access, the successor to ENGLISH, is an English-like query language used in the Pick operating system.The original name ENGLISH is something of a misnomer, as PICK's flexible dictionary structure meant that file and attribute names could be given aliases in any natural language...
). Licensees often developed proprietary variations and enhancements (for example, Microdata created their own input processor called ScreenPro).
Derivative and related products
What most characterizes Pick is the design and features of the database and the associated retrieval language. The Pick database was licensed to roughly three dozen licensees between 1978 and 1984, some of which are included in this list. Application-compatible implementations evolved into derivatives and also inspired similar systems, of which a few examples are:Reality : The first implementation of the Pick database was on a Microdata platform and called Reality
Northgate Information Solutions
-Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...
. The first commercial release was in 1973. The Microdata implementations ran in firmware
Firmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...
, so each upgrade had to be accompanied by a new chip. Microdata itself was eventually bought by McDonnell-Douglas Information Systems. Pick and Microdata sued each other for the right to market the database, the final judgment being that they both had the right. In addition to the Reality
Northgate Information Solutions
-Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...
series of computers, Microdata sold the Sequel series which was a much larger class able to handle up to 200 simultaneous users. The modern version of this original Pick implementation is owned and distributed by Northgate Information Solutions Reality.
Ultimate : The second implementation of the Pick database was developed in about 1978 by a New Jersey
New Jersey
New Jersey is a state in the Northeastern and Middle Atlantic regions of the United States. , its population was 8,791,894. It is bordered on the north and east by the state of New York, on the southeast and south by the Atlantic Ocean, on the west by Pennsylvania and on the southwest by Delaware...
company called The Ultimate Corp, run by Ted Sabarese. Like the earlier Microdata port, this was a firmware implementation, with the Pick instruction set in firmware and the monitor in assembly code on a Honeywell Level 6 machine. The system had dual personalities in that the monitor/kernel functions (mostly hardware I/O and scheduling) were executed by the native Honeywell Level 6 instruction set. When the monitor "select next user" for activation control was passed to the Honeywell WCS (writable control store) to execute Pick assembler code (implemented in microcode) for the selected process. When the users time slice expired control was passed back to the kernel running the native Level 6 instruction set.
Ultimate took this concept further with the DEC LSI/11 family of products by implementing a co-processor in hardware (bit-slice, firmware driven). Instead of a single processor with a WCS microcode enhanced instruction set this configuration used two independent but cooperating CPU's. The LSI11 CPU executed the monitor functions and the co-processor executed the Pick assembler instruction set. The efficiencies of this approach resulted in a 2X performance improvement.
The co-processor concept was used again to create a 5X, 7x and dual-7x versions for Honeywell Level 6 systems. Dual ported memory with private busses to the co-processors were used to increase performance of the LSI11 and Level 6 systems.
Another version used a DEC LSI-11 for the IOP and a 7X board. Ultimate enjoyed moderate success during the 1980s, and even included an implementation running as a layer on top of DEC VAX systems, the 750, 780, 785 and later the MicroVAX
MicroVAX
The MicroVAX was a family of low-end minicomputers developed and manufactured by Digital Equipment Corporation . The first model, the MicroVAX I, was introduced in 1984...
. Ultimate also had versions of the Ultimate Operating System running on IBM 370 series systems (under VM and native) and also the 9370 series computers. Ultimate was renamed Allerion, Inc.
Allerion
For its use in*Heraldry see Charge *Business see Ultimate Corp...
, before liquidation of its assets. Most assets were acquired by Groupe Bull
Groupe Bull
-External links:* * — Friends, co-workers and former employees of Bull and Honeywell* *...
, and consisted of mostly maintaining extant hardware. Bull had its own problems and in approximately 1994 the US maintenance operation was sold to Wang
Wang Laboratories
Wang Laboratories was a computer company founded in 1951 by Dr. An Wang and Dr. G. Y. Chu. The company was successively headquartered in Cambridge , Tewksbury , and finally in Lowell, Massachusetts . At its peak in the 1980s, Wang Laboratories had annual revenues of $3 billion and employed over...
.
Prime INFORMATION : Devcom, a Microdata reseller, wrote a Pick-style database system called INFORMATION in FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
and assembler in 1979 to run on Prime Computer
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...
50-series systems. It was then sold to Prime Computer
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...
and renamed Prime INFORMATION. It was subsequently sold to Vmark Software. INFO/BASIC, a variant of Dartmouth BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College...
, was used for database applications.
PI/open : Prime Computer
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...
rewrote Prime INFORMATION in C for the Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
-based systems it was selling, calling it PI+. It was then ported to other Unix systems offered by other hardware vendors and renamed PI/open.
ADDS : (Applied Digital Data Systems
Applied Digital Data Systems
Applied Digital Data Systems, or ADDS, was a leading supplier of high-quality video display computer terminals, founded in 1969 by Leeam Lowin and William J. Catacosinos. Lowin simultaneously founded Solid State Data Sciences...
) This was the first implementation to be done in software only, so upgrades were accomplished by a tape load, rather than a new chip. The "Mentor" line was initially based on the Zilog Z-8000 chipset and this port set off a flurry of other "software implementations" across a wide array of processors with a large emphasis on the Motorola 68000.
Fujitsu : Another software implementation, existing in the 1980s
Pyramid : Another software implementation, existing in the 1980s
General Automation "Zebra" : Another software implementation, existing in the 1980s
Sequoia : Another software implementation, existing from 1987. Sequoia was most well known for its fault-tolerant multi-processor model, which would automatically call tech support if a part was failing. The Enterprise Systems business unit (which was the unit that sold Pick), was sold to General Automation in 1996/1997.
UniVerse : Another implementation of the system called UniVerse was by VMark Software. This was the first one to incorporate the ability to emulate other implementations of the system, such as Microdata's Reality
Northgate Information Solutions
-Early years:The company was founded as CMC, or Computer Machinery Company, in 1969. They were originally distributors and subsequently manufacturers of Key to Disk computer systems made by the US-based Computer Machinery Corporation. The CMC Key to Disk systems were used by major companies and...
Operating System, and Prime INFORMATION. Originally running on Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, it was later also made available for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
. It now is owned by Rocket Software. (The systems developed by Prime Computer
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...
and VMark are now owned by Rocket Software and referred to as "U2".)
UniData : Very similar to UniVerse. UniData is a multivalued Pick-style database. It is also owned and distributed by Rocket Software.
Revelation : In 1984, Cosmos released a Pick-style database called Revelation, later Advanced Revelation, for DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
on the IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...
. Advanced Revelation is now owned by Revelation Technologies, which publishes a GUI-enabled version called OpenInsight
OpenInsight
OpenInsight is a database application development tool from Revelation Software. It was first released in 1992; version 9.2 was released in 2010....
.
jBASE : jBASE
JBASE
jBASE is a multivalue database system.-Description:Copied from Pick operating system.jBASE was released in 1991 by a small company in the UK, then named James Anthony Consultants, , later to become jBASE Software Limited. Formed March 6, 1989 by Martin James Idle and Clive Anthony Ketteridge, the...
was released in 1991 by a small company of the same name located in Hemel Hempstead. Written by former Microdata engineers, jBASE
JBASE
jBASE is a multivalue database system.-Description:Copied from Pick operating system.jBASE was released in 1991 by a small company in the UK, then named James Anthony Consultants, , later to become jBASE Software Limited. Formed March 6, 1989 by Martin James Idle and Clive Anthony Ketteridge, the...
emulates all implementations of the system to some degree. jBASE
JBASE
jBASE is a multivalue database system.-Description:Copied from Pick operating system.jBASE was released in 1991 by a small company in the UK, then named James Anthony Consultants, , later to become jBASE Software Limited. Formed March 6, 1989 by Martin James Idle and Clive Anthony Ketteridge, the...
is unique in that it compiles applications to native machine code form, rather than to an intermediate byte code.
UniVision : UniVision was a Pick-style database, designed as a replacement for the Mentor version but with extended features, released in 1992 by EDP located in Sheffield.
OpenQM : OpenQM
OpenQM
OpenQM is a Multi-Value database run-time developed by Ladybridge Systems in the United Kingdom. The product architect is Martin Phillips.-OpenQM history:...
is the only multi-value database product available both as a fully supported non-open source commercial product and in open source form under the General Public Licence (OpenQM Community Project). It is available from OpenQM and from OpenQM in French.
Caché : In 2005 InterSystems
InterSystems
InterSystems Corporation is a privately held vendor of software for high-performance database management, rapid application development, integration, and healthcare information systems...
, the maker of Caché
Caché (software)
InterSystems Caché is a commercial object database management system from InterSystems Corporation. It provides object and SQL access to the database, as well as allowing direct manipulation of Caché’s underlying data structures. The company claims Caché is the world’s fastest object database...
database, announced support for a broad set of multi-value extensions in Caché. Caché for MultiValue.
Onware : ONware ends isolation of MultiValue applications. ONware equips these applications with the ability to use the common databases, such as Oracle and SQL Server. Using ONware you can integrate MultiValue applications with Relational, Object and Object-Relational applications.
Through the implementations above, and others, Pick-like systems became available as database/programming/emulation environments running under many variants of Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
and Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
.
Over the years, many important and widely used applications have been written using Pick or one of the derivative implementations. In general, the end users of these applications are unaware of the underlying Pick implementation.
The Pick OS invites comparison with MUMPS
MUMPS
MUMPS , or alternatively M, is a programming language created in the late 1960s, originally for use in the healthcare industry. It was designed for the production of multi-user database-driven applications...
, which evolved into Caché
Caché (software)
InterSystems Caché is a commercial object database management system from InterSystems Corporation. It provides object and SQL access to the database, as well as allowing direct manipulation of Caché’s underlying data structures. The company claims Caché is the world’s fastest object database...
. Similarities include:
- Both systems are built on the efficient implementation of large, sparse, string-indexed arrays;
- Both comingle the language and the OS;
- Both have a similar domain of applicability.
External links
- Photo of Dick Pick in his anti-gravity boots on the cover of Computer Systems News, 1983.
- Pick/BASIC: A Programmer's Guide - the full text of the first and most widely read textbook by Pick educator and author Jonathan E. Sisk.
- A Short History of the Pick Operating System
- PICK Operating System - Implementation History
- PickWiki - Wiki about Pick database system and MultiValued Databases
- B-tree source code for the Pick operating system
- Life the Universe and Everything: introduction to and online training course in Universe developed by Pick software engineer Manny Neira.
- D3 Reference: PICK/BASIC and D3 Command Line help files built upon the original EPick database developed for Pick Systems by Jonathan E. Sisk.