CMS file system

Last updated

The CMS file system is the native file system of IBM's Conversational Monitor System (CMS), a component of VM . It was the only file system for CMS until the introduction of the CMS Shared File System with VM/SP. [1]

Contents

Minidisks

CP-67 and VM allow an installation to divide a disk volume into virtual disks called minidisks. A minidisk may be a CMS minidisk, initialized with the CMS file system. Other minidisks might be formatted for use by, e.g., OS/360, but these are not CMS minidisks even if they are assigned to a CMS virtual machine. [lower-alpha 1]

A CMS virtual machine can have up to ten minidisks accessed at one time [lower-alpha 2] . The user references the minidisks by a letter, part of a field called the filemode. The S disk contains CMS system files and is read-only; the Y disk is usually an extension of S. The read/write A disk contains user files such as customization data, program sources, and executables. Other drive letters B through Z can contain data as defined by the user. If a file is opened without a filemode letter specified (FILENAME FILETYPE *) the disks will be searched in alphabetic order. The second character of the filemode is a number indicating read, write, and sharing attributes. [2]

The ACCESS command is used to access a minidisk. For example: ACCESS 191 A would access the virtual disk assigned to this user as unit "191" (virtual channel and unit address) as minidisk "A".

A CMS minidisk in early versions of CMS is formatted into 800-byte blocks. Later versions of CMS allow minidisks formatted as 1024-, 2048-, or 4096-byte blocks, which increased the limits described here to 231 disk blocks and 231 records. [3]

The first two blocks on a minidisk are reserved for IPL. The third block contains the label identifying the minidisk. The fourth block, called the Master File Directory or MFD, is the directory header for the minidisk. The MFD also contains a bitmap called QMSK indicating the status of each 800-byte block on disk, used for allocation. Following the MFD all record types may be scattered and intermixed on a disk.

File system structure

CMS uses a flat file system. The MFD contains an array of disk addresses of blocks containing File Status Table (FST) (directory) entries. Each FST block contains twenty 40-byte FST entries, each describing a file. The contents of one FST entry are: [4] [5]

OffsetLengthNameDescription
08FSTFNAMEFilename (character), left-justified and space-filled
88FSTFTYPEFiletype (character), left-justified and space-filled
162FSTDATEWDate last written, MMDD (binary)
182FSTTIMEWTime last written, HHMM (binary)
202FSTWRPNTWrite pointer [item number] (binary)
222FSTRDPNTRead pointer [item number] (binary)
242FSTFMODEFilemode
262FSTRECCTRecord [item] count
282FSTFCLPTDisk address of first chain link record
301FSTRECFMRecord format, fixed/variable
311FSTFLAGSFlags
324FSTLRECLLength or maximum length of each item [record] (binary)
362FSTBLKCTNumber of 800-byte blocks in file (binary)
382FSTYEARWYear written (binary)

The FST entry points to the first chain link block for the file. The first chain link block contains the disk addresses of up to 40 additional chain link blocks, followed by the disk addresses of up to 60 data blocks. The remaining chain link blocks each contain the disk addresses of up to 400 data blocks. this results in a maximum size of 16,060 800-byte blocks, or 12,848,000 bytes, for any CMS file. The maximum number of records in one file is 65,533.

Records are usually called items in CMS terminology. CMS files can have either fixed or variable record format; record types may not be mixed in a file. For fixed-length records the length is defined by FSTLRECL, and the location of any fixed-length record can be computed by (item_number-1) * record_length/800. The quotient will be the block number and the remainder will be the offset of the item in the block. Variable-length records have a maximum length of FSTLRECL bytes, and are preceded by a two-byte record length field indicating the actual length.

In 1979, Virtual Machine/System Extensions (VM/SE or SEPP) Release 2 and Virtual Machine/Basic System Extensions (VM/BSE or BSEPP) Release 2 provided an enhancement [6] to the original CMS file system, called Enhanced Disk Format (EDF), that allows larger files by expanding the FST and introducing multiple levels of chain link blocks. [7] [8]

See also

Notes

  1. Minidisks have virtual channel and unit addresses (CUU) or subchannel numbers, which appear to the virtual machine to be real disk addresses. At the time IBM developed CP-67 and VM, real hardware devices were conventionally installed at specific addresses, for example address 190 would normally be a disk device '90'x on channel 1, and minidisks are still usually defined to CP following this convention. With VM/XA SP2.1 IBM shipped the bimodal CMS 5.5, which could run in an XA virtual machine, and with z/VM V4 stopped allowing an installation to define an S/370 mode virtual machine; due to these changes, the cuu address form is no longer relevant.
  2. There can be additional minidisks assigned to the CMS virtual machine but not accessed for use by the CMS file system.

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the large computer market. Current mainframe computers in IBM's line of business computers are developments of the basic design of the IBM System/360.

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applications and to cover a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, which features 8-bit byte addressing and binary, decimal, and hexadecimal floating-point calculations.

A direct-access storage device (DASD) is a secondary storage device in which "each physical record has a discrete location and a unique address". The term was coined by IBM to describe devices that allowed random access to data, the main examples being drum memory and hard disk drives. Later, optical disc drives and flash memory units are also classified as DASD.

<span class="mw-page-title-main">Conversational Monitor System</span>

The Conversational Monitor System is a simple interactive single-user operating system. CMS was originally developed as part of IBM's CP/CMS operating system, which went into production use in 1967. CMS is part of IBM's VM family, which runs on IBM mainframe computers. VM was first announced in 1972, and is still in use today as z/VM.

<span class="mw-page-title-main">MUSIC/SP</span> Defunct time-sharing system software

MUSIC/SP was developed at McGill University in the 1970s from an early IBM time-sharing system called RAX.

Disk formatting is the process of preparing a data storage device such as a hard disk drive, solid-state drive, floppy disk, memory card or USB flash drive for initial use. In some cases, the formatting operation may also create one or more new file systems. The first part of the formatting process that performs basic medium preparation is often referred to as "low-level formatting". Partitioning is the common term for the second part of the process, dividing the device into several sub-devices and, in some cases, writing information to the device allowing an operating system to be booted from it. The third part of the process, usually termed "high-level formatting" most often refers to the process of generating a new file system. In some operating systems all or parts of these three processes can be combined or repeated at different levels and the term "format" is understood to mean an operation in which a new disk medium is fully prepared to store files. Some formatting utilities allow distinguishing between a quick format, which does not erase all existing data and a long option that does erase all existing data.

<span class="mw-page-title-main">VM (operating system)</span> Family of IBM operating systems

VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.

<span class="mw-page-title-main">CP-67</span> IBM operating system component

CP-67 is a hypervisor, or Virtual Machine Monitor, from IBM for its System/360 Model 67 computer.

A hypervisor is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit complex instruction set computer (CISC) instruction set architecture, implemented by its mainframe computers. IBM introduced its first z/Architecture-based system, the z900, in late 2000. Later z/Architecture systems include the IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14, z15 and z16.

SCRIPT, any of a series of text markup languages starting with Script under Control Program-67/Cambridge Monitor System (CP-67/CMS) and Script/370 under Virtual Machine Facility/370 (VM/370) and the Time Sharing Option (TSO) of OS/VS2; the current version, SCRIPT/VS, is part of IBM's Document Composition Facility (DCF) for IBM z/VM and z/OS systems. SCRIPT was developed for CP-67/CMS by Stuart Madnick at MIT, succeeding CTSS RUNOFF.

VP/CSS was a time-sharing operating system developed by National CSS. It began life in 1968 as a copy of IBM's CP/CMS, which at the time was distributed to IBM customers at no charge, in source code form, without support, as part of the IBM Type-III Library. Through extensive in-house development, in what today would be termed a software fork, National CSS took VP/CSS in a different direction from CP/CMS. Although the two systems would eventually share many capabilities, their technical implementations diverged in substantive ways.

<span class="mw-page-title-main">IBM CP-40</span>

CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.

<span class="mw-page-title-main">IBM System/360 Model 67</span> 1967 IBM mainframe model with virtual memory and 32-bit addressing

The IBM System/360 Model 67 (S/360-67) was an important IBM mainframe model in the late 1960s. Unlike the rest of the S/360 series, it included features to facilitate time-sharing applications, notably a Dynamic Address Translation unit, the "DAT box", to support virtual memory, 32-bit addressing and the 2846 Channel Controller to allow sharing channels between processors. The S/360-67 was otherwise compatible with the rest of the S/360 series.

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

Count key data (CKD) is a direct-access storage device (DASD) data recording format introduced in 1964, by IBM with its IBM System/360 and still being emulated on IBM mainframes. It is a self-defining format with each data record represented by a Count Area that identifies the record and provides the number of bytes in an optional Key Area and an optional Data Area. This is in contrast to devices using fixed sector size or a separate format track.

EXEC 2 is an interpreted, command procedure control, computer scripting language used by the EXEC 2 Processor originally supplied with the CMS component of the IBM Virtual Machine/System Product (VM/SP) operating system.

The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.

The IBM System/360 architecture is the model independent architecture for the entire S/360 line of mainframe computers, including but not limited to the instruction set architecture. The elements of the architecture are documented in the IBM System/360 Principles of Operation and the IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information manuals.

NETDATA is a file format used primarily for data transfer and storage on IBM mainframe systems, although implementations are available for other systems.

References

  1. IBM Corporation (1976). IBM Virtual Machine Facility/370 (PDF). p. 178-. Retrieved August 3, 2016.
  2. IBM Corporation. "File Mode Letters and Numbers". IBM Knowledge Center. Retrieved August 3, 2016.
  3. IBM Corporation (March 1979). I BM Virtual Machine Facility/370: CMS User's Guide (PDF). p. 83. Retrieved August 3, 2016.
  4. IBM Corporation (February 1976). IBM Virtual Machine Facility/370: Data Areas and Control Block Logic (PDF). p. 179.
  5. "FSTD". www.ibm.com. IBM. Retrieved 11 May 2021.
  6. Melinda Varian (August 1977). VM and the VM Community: Past, Present, and Future (PDF). SHARE 89. Sessions 9059-9061, M. After the Doubtful Decade. 1979 brought us VM/370 Release 6 and Release 2 of BSEPP and SEPP, with logical device support, the EDF file system,
  7. "The CMS EDF file system". binghamton.edu. Archived from the original on August 19, 2016. Retrieved August 5, 2016.
  8. IBM Corporation (21 March 2002). "FSTD". ibm.com. Retrieved August 5, 2016.