# Pick operating system

The Pick Operating System, also known as the Pick System or simply Pick, is a demand-paged, multi-user, virtual memory, time-sharing computer operating system based around a MultiValue database. Pick is used primarily for business data processing. It is named after one of its developers, Dick Pick.
The term "Pick system" has also come to be used as the general name of all operating environments which employ this multivalued database and have some implementation of Pick/BASIC and ENGLISH/Access queries. Although Pick started on a variety of minicomputers, the system and its various implementations eventually spread to a large assortment of microcomputers, personal computers, and mainframe computers.

## Overview

The Pick Operating System is an integrated computing platform with a database, query and procedural operation languages, peripheral and multi-user management, and BASIC programming capabilities. Its database utilizes a hash-file system, enabling efficient data storage and retrieval by organizing data into dynamic associative arrays managed by associative files.
Data within the Pick system is organized into a hierarchical structure of accounts, dictionaries, files, and sub-files based on a hash-table model with linear probing. This structure comprises variable-length records, fields, and sub-fields, with unique naming conventions that reflect its multivalued database characteristics. Records are identified by unique keys that facilitate direct access to their storage locations.
Initially constrained by the era's technological limitations, the Pick system's capacity has expanded over time, removing earlier record-size limits and introducing dynamic file allocation and B-tree indexing to enhance data management capabilities.
The Pick database operates without explicit data types, treating all data as character strings, which places the onus of data integrity on the applications developed for the system. This flexibility allows Pick to store data in non-first-normal-form, avoiding the need for join operations by containing all related data within single records. This approach can optimize storage and retrieval efficiency for specific kinds of datasets.

## 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 TRW, whose government contract for the Cheyenne Helicopter project required developing a database. It was supposed to be used by the U.S. Army to control the inventory of Cheyenne helicopter parts.
Pick was subsequently commercially released in 1973 by Microdata Corporation (and its British distributor CMC) as the Reality Operating System now supplied by Northgate Information Solutions. McDonnell Douglas bought Microdata in 1981.
The first Microdata implementation, called the Reality, came only with a procedural language (PROC), and a query language (ENGLISH). In 1975, Ken Simms of Pick Systems created an implementation of Dartmouth BASIC for the Reality, with numerous syntax extensions for smart terminal interface and database operations, and it was called Data/BASIC. At or near the same time, SMI of Chicago, created an extended procedural language and called it RPL.
PROC, the 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 joins. This was because powerful data dictionary redefinitions for a field allowed joins 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.
By the early 1980s observers saw the Pick Operating System as a strong competitor to Unix. BYTE in 1984 stated that "Pick is simple and powerful, and it seems to be efficient and reliable, too ... because it works well as a multiuser system, it's probably the most cost-effective way to use an XT". Dick Pick founded Pick & Associates, later renamed Pick Systems, then Raining Data, then (as of 2011) TigerLogic, and finally Rocket Software. He licensed "Pick" to a large variety of manufacturers and vendors who have produced different "flavors" of Pick. The database flavors sold by TigerLogic were D3, mvBase, and mv Enterprise. Those previously sold by IBM under the "U2" umbrella are known as UniData and UniVerse. Rocket Software purchased IBM's U2 family of products in 2010 and Tiger Logic's D3 and mvBase family of products in 2014. In 2021, Rocket acquired OpenQM and jBASE as well.
Dick Pick died at age 56 due to 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 an input processor called ScreenPro.

## Derivative and related products

The Pick database was licensed to roughly three dozen licensees between 1978 and 1984. Application-compatible implementations evolved into derivatives and also inspired similar systems.
* Reality – The first implementation of the Pick database was on a Microdata platform using firmware and called Reality. The first commercial release was in 1973. Microdata acquired CMC Ltd. in the early 80s and were based in Hemel Hempstead, England. The Microdata implementations ran in firmware, so each upgrade had to be accompanied by a new configuration 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 Sequoia and Pegasus series of computers, Microdata and CMC Ltd. sold the Sequel (Sequoia) series which was a much larger class able to handle over 1000 simultaneous users. The earlier Reality minicomputers were known to handle well over 200 simultaneous users, although performance was slow and it was above the official limit. Pegasus systems superseded Sequoia and could handle even more simultaneous users than its predecessors. 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 an American 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 user's 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 CPUs. 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 2× performance improvement. The co-processor concept was used again to create a 5×, 7×, and dual-7× 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 Inc. This was the first of the guest operating environment implementations. INFO/BASIC, a variant of Dartmouth BASIC, was used for database applications.
* Applied Digital Data Systems (ADDS) – First developed in 1981. 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.
* UniVerse – Another implementation of the system, called UniVerse, was created by VMark Software and operated under Unix and Microsoft Windows. 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, but UniData had facilities to interact with other Windows applications. It is also owned and distributed by Rocket Software.
* 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.
* Fujitsu Microsystems of America – Another software implementation, existing in the late 1980s. Fujitsu Microsystems of America was acquired by Alpha Microsystems on October 28, 1989.
* Pyramid – Another software implementation in the 1980s
* General Automation "Zebra" – Another software implementation in the 1980s
* Altos – A software implementation on an 8086 chipset platform launched around 1983.
* Wicat/Pick – Another software implementation existing in the 1980s
* Sequoia – Another software implementation, existing from 1984. Sequoia was most well known for its fault-tolerant multi-processor model, which could be dialed into with the user's permission and his switching terminal zero to remote with the key on the system consol. He could watch what was done by the support person who had dialed on his terminal 0, a printer with a keyboard. Pegasus came out in 1987. The Enterprise Systems business unit (which was the unit that sold Pick), was sold to General Automation in 1996/1997.
* 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 in Hemel Hempstead, England. Written by former Microdata engineers, jBASE emulates all implementations of the system to some degree. jBASE compiles applications to native machine code form, rather than to an intermediate byte code. In 2015, cloud solutions provider Zumasys in Irvine, California, acquired the jBASE distribution rights from Mpower1 as well as the intellectual property from Temenos Group. On 14 Oct 2021, Zumasys announced they had sold their databases and tools, including jBASE to Rocket Software.
* UniVision – UniVision was a Pick-style database designed as a replacement for the Mentor version, but with extended features, released in 1992 by EDP in Sheffield, England.
* OpenQM – The only MultiValue database product available both as a fully supported non-open source commercial product and in open source form under the General Public License. OpenQM is available from its exclusive worldwide distributor, Zumasys.
* Caché – In 2005 InterSystems, the maker of Caché database, announced support for a broad set of MultiValue extensions, Caché for MultiValue.
* ONware – ONware equips MultiValue applications with the ability to use common databases such as Oracle and SQL Server. Using ONware, MultiValue applications can be integrated with relational, object, and object-relational applications.
* D3 – Pick Systems ported the Pick Operating System to run as a database product utilizing host operating systems such as Unix, Linux, or Windows servers, with the data stored within the file system of the host operating system. Previous Unix or Windows versions had to run in a separate partition, which made interfacing with other applications difficult. The D3 releases opened the possibility of integrating internet access to the database or interfacing to popular word processing and spreadsheet applications, which has been successfully demonstrated by a number of users. The D3 family of databases and related tools is owned and distributed by Rocket Software.
Through the implementations above, and others, Pick-like systems became available as database, programming, and emulation environments running under many variants of Unix and Microsoft Windows.