CMS file system: Difference between revisions

Content deleted Content added
File system structure: subtract right, and agree with IBM.
mNo edit summary
 
(5 intermediate revisions by 5 users not shown)
Line 1:
{{Short description|File system of the IBM VM/CMS}}
The '''CMS file system''' is the native [[file system]] of [[IBM]]'s [[Conversational Monitor System]] (CMS), a component of [[VM (operating system)|VM]] . It was the only file system for CMS until the introduction of the [[CMS Shared File System]] with [[VM/SP]].<ref name="VMLogic">{{cite book|last1=IBM Corporation|title=IBM Virtual Machine Facility/370|date=1976|page=178-|url=http://bitsavers.trailing-edge.com/pdf/ibm/370/VM_370/plm/SY20-0885-0_VM370_System_Logic_and_Problem_Determination_Guide_1976.pdf|accessdate=August 3, 2016}}</ref>
 
Line 4 ⟶ 5:
[[CP-67]] and [[VM (operating system)|VM]] allow an installation to divide a disk volume into virtual disks called [[Minidisk (VM)|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.{{efn|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.}}
 
A CMS virtual machine can have up to ten minidisks ''accessed'' at one time{{efn|There can be additional minidisks assigned to the CMS virtual machine but not accessed for use by the CMS file system.}}. The user references the minidisks by a letter, part of a field called the ''{{not a typo|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 {{not a typo|filemode}} letter specified (<code>FILENAME FILETYPE *</code>) the disks will be searched in alphabetic order. The second character of the {{not a typo|filemode}} is a number indicating read, write, and sharing attributes.<ref name="IBMKB">{{cite web|last1=IBM Corporation|title=File Mode Letters and Numbers|url=https://www.ibm.com/support/knowledgecenter/SSB27U_6.2.0/com.ibm.zvm.v620.dmsb3/letnums.htm|website=IBM Knowledge Center|accessdate=August 3, 2016}}</ref>
 
The <code>ACCESS</code> command is used to access a minidisk. For example: <code>ACCESS 191 A</code> would access the virtual disk assigned to this user as unit "191" (virtual channel and unit address) as minidisk "A".
Line 13 ⟶ 14:
 
==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:<ref name="DataAreas">{{cite book|last1=IBM Corporation|title=IBM Virtual Machine Facility/370: Data Areas and Control Block Logic|date=February 1976|page=179|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/VM_370/plm/SY20-0884-0_VM370_Rel_3_Data_Areas_and_Control_Block_Logic_Feb76.pdf}}</ref><ref name="FSTD">{{cite web |title=FSTD |url=https://www.ibm.com/docs/en/zvm/7.1?topic=instructions-fstd |website=www.ibm.com |publisher=IBM |access-date=11 May 2021}}</ref>
{| class="wikitable"
|-
Line 30 ⟶ 31:
| 22 || 2 || FSTRDPNT || Read pointer [item number] (binary)
|-
| 24 || 2 || FSTFMODE || {{not a typo|Filemode}}
|-
| 26 || 2 || FSTRECCT || Record [item] count
Line 51 ⟶ 52:
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<ref>{{cite conference
An enhancement to the original CMS file system in [[VM/SP]], called ''Enhanced Disk Format'' (EDF), allows larger files by expanding the FST and introducing multiple levels of chain link blocks.<ref>{{cite web|title=The CMS EDF file system|url=http://dforeman.cs.binghamton.edu/~foreman./550pages/VM/CMS-File-System-1.doc|website=binghamton.edu|accessdate=August 5, 2016}}</ref><ref>{{cite web|last1=IBM Corporation|title=FSTD|url=http://www.vm.ibm.com/pubs/cms530/FSTD.HTML|website=ibm.com|accessdate=August 5, 2016}}</ref>
| conference = SHARE 89
| title = VM and the VM Community: Past, Present, and Future
| at = Sessions 9059-9061, M. After the Doubtful Decade
| quote = 1979 brought us VM/370 Release 6 and Release 2 of BSEPP and SEPP, with logical device support, the EDF file system,
| author = Melinda Varian
| date = August 1977
| url = http://www.leeandmelindavarian.com/Melinda/25paper.pdf
}}
An enhancement</ref> to the original CMS file system in [[VM/SP]], called ''Enhanced Disk Format'' (EDF), that allows larger files by expanding the FST and introducing multiple levels of chain link blocks.<ref>{{cite web|title=The CMS EDF file system|url=http://dforeman.cs.binghamton.edu/~foreman./550pages/VM/CMS-File-System-1.doc|website=binghamton.edu|accessdate=August 5, 2016|archive-date=August 19, 2016|archive-url=https://web.archive.org/web/20160819034427/http://dforeman.cs.binghamton.edu/~foreman./550pages/VM/CMS-File-System-1.doc|url-status=dead}}</ref><ref>{{cite web|last1=IBM Corporation|title=FSTD|url=http://www.vm.ibm.com/pubs/cms530/FSTD.HTML|website=ibm.com|date=21 March 2002 |accessdate=August 5, 2016}}</ref>
 
==See also==