Access method: Difference between revisions

Content deleted Content added
Add RMS to see also, reorder
 
(43 intermediate revisions by 25 users not shown)
Line 1:
[[Category:{{Short description|APIs in IBM mainframe computer operating systems]]}}
{{See also|Record-oriented filesystem|Record (computer science)|Input/Output Control System|Record Management Services}}
{{multiple|
{{refimprove|date=August 2012}}
{{POV check|talk=NPOV|date=July 2020}}
{{Mainframe I/O access methods}}
}}
An '''access method''' is a function of a [[mainframe computer|mainframe]] [[operating system]] that enables access to data on disk, tape or other external devices. TheyAccess methods were present in several mainframe operating systems since the late 1950s, under a variety of names; the name ''access method'' was introduced in 1963 in the IBM [[OS/360]] operating system.<ref name=aus>[http://researchweb.watson.ibm.com/journal/rd/255/auslander.pdf M. A. Auslander, D. C. Larkin, A. L. Scherr: "The Evolution of the MVS Operating System", pages 478-479] {{webarchive |url=https://web.archive.org/web/20081119054653/http://researchweb.watson.ibm.com/journal/rd/255/auslander.pdf |date=November 19, 2008 }}</ref> Access methods provide an [[API|application programming interface (API)]] for programmers to transfer data to or from device, and could be compared to [[device driver]]s in non-mainframe operating systems, but typically provide a greater level of functionality.
 
== ReasonsPurpose for introducingof access methods ==
WithoutSystem/360 accessand methods,successor asystems programmerperform mustinput/output writeusing a special program for an [[Channel I/O|I/O channel]], a processor dedicated to control peripheral storage device access and data transfer to and from main memory. These ''channelChannel programs'' are composed of special instructions, called ''channel command words'' (CCWs). Programming those is a complex task requiring detailed knowledge of the hardware characteristics. Channel programs are initiated by a '''STARTIOSTART IO''' macroinstruction issued by the operating system. This is usually front ended by the '''Execute Channel Program''' ([[EXCP]]) macro for application programmer convenience. This macro'''EXCP''' issues an SVC ([[supervisor call instruction]]) that directs the operating system to issue the STARTIOSTART IO on the application's behalf.<ref>[http://www.redbooks.ibm.com/redbooks/pdfs/sg246983.pdf] ABCs of z/OS System Programming Volume 3</ref>
 
Access methods provide:
Line 10 ⟶ 14:
* Ease of hardware replacement - programmer would no longer alter a program when data should be migrated to newer model of storage device, provided it supports the same access methods.<ref name=aus/>
* Ease shared data set access - an access method is a trusted program, that allows multiple programs to access the same file, while ensuring the basic data integrity and system security.<ref name=aus/>
* Read-ahead - Queued access methods may start as many I/O operations as there are [[data buffer|buffers]] available, anticipating application program requirements.
Unlike systems derived from [[Unix]], where all files and devices are considered to be an unformatted stream of [[byte]]s, mainframes offer a variety of data options and formats, such as varying types and sizes of [[record (computer science)|records]], and different ways of accessing data, such as via record keys. Access methods provide programs a way of dealing with this complexity.
* Programs can read or write a record or block of data and wait until the input/output operation is complete (''queued'' access methods) or allow the operation to be started and the program to continue to run, waiting for the completion at a later time (''basic'' access methods).
* Programs can specify the size and number of buffers for a file. The same buffer or pool can be used for multiple files, allowing blocks of data to be read from one file and written to another without requiring data movement in memory.
* Programs can specify the type of error recovery to be used in case of input/output errors.
 
== Storage access methods ==
Line 18 ⟶ 27:
* [[BPAM]] - [[Basic partitioned access method]]
* [[ISAM]] - [[Indexed sequential access method]]
* [[VSAM]] - [[Virtual storage access method]], introduced with [[OS/VS]]
* [[Object access method|OAM]] <!-- the acronym links to other topic --> - [[Object access method]], introduced in MVS/SP (1989)
* [[Distributed Data Management Architecture]] - access methods for distributed file access.
 
=== Basic versus queued ===
Both types of access deal with [[storage record|records]] of a [[data set (IBM mainframe)|data set]]. ''QueuedBasic'' access methods areread improvementor write one physical record &ndash; block &ndash; at a time. over ''basicQueued'' ones, as theymethods support internal [[Block (data storage)|blocking]] of data and also often read-ahead scheme.<ref name=aus/> ThisQueued meantaccess multiplemethods recordsgenerally couldprovide bebetter combinedperformance, intowhile onebasic blockmethods forprovide increasedmore performanceflexibility.
 
=== Sequential versus direct ===
Line 32 ⟶ 42:
* [[QTAM]] - [[Queued teleprocessing access method]]
* [[Telecommunications Access Method|TCAM]] <!-- the acronym links to other topic --> - [[Telecommunications access method]]
* [[VTAM]] - [[Virtual telecommunications access method]], introduced with [[OS/VS]]
* [[TCP/IP]] for [[MVS]] - Transmission Control Protocol/Internet Protocol
 
== IMS ==
The [[IBM Information Management System]] (IMS) uses the term "access method" to refer to its methods for manipulating "segments in a database record". These are:
The [[IBM Information Management System]] (IMS) uses the term "access method" to refer to its methods for manipulating "segments in a database record." These are: Generalized Sequential Access Method (GSAM), Hierarchical Direct Access Method (HDAM), Hierarchical Indexed Direct Access Method (HIDAM), Hierarchical Indexed Sequential Access Method (HISAM), Hierarchical Sequential Access Method (HSAM), Partitioned Hierarchical Direct Access Method (PHDAM), Partitioned Hierarchical Indexed Direct Access Method (PHIDAM), Partitioned Secondary Index (PSIMDEX), Simple Hierarchical Sequential Access Method (SHSAM), and Simple Hierarchical Indexed Sequential Access Method (SHISAM).<ref>{{cite web|last=IBM Corporation|title=Types of IMS databases|url=http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.ims11.doc.dag%2Fims_dbtypes.htm|accessdate=September 4, 2011}}</ref> This is a different use of the term from the other access methods mentioned in this article.
* [[Generalized Sequential Access Method]] ([[GSAM]]),
* [[Hierarchical Direct Access Method]] ([[HDAM (computing)|HDAM]]),
* [[Hierarchical Indexed Direct Access Method]] ([[HIDAM]]),
* [[Hierarchical Indexed Sequential Access Method]] ([[HISAM]]),
* [[Hierarchical Sequential Access Method]] ([[HSAM (computing)|HSAM]]),
* [[Overflow sequential access method]] (OSAM),
* [[Partitioned Hierarchical Direct Access Method]] ([[PHDAM]]),
* [[Partitioned Hierarchical Indexed Direct Access Method]] ([[PHIDAM]]),
* [[Partitioned Secondary Index]] ([[PSIMDEX]]),
* [[Simple Hierarchical Sequential Access Method]] ([[SHSAM]]), and
* [[Simple Hierarchical Indexed Sequential Access Method]] ([[SHISAM]]).<ref>{{cite web|last=IBM Corporation|title=Types of IMS databases|url=http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.ims11.doc.dag%2Fims_dbtypes.htm|accessdate=September 4, 2011}}</ref>
This is a different use of the term from the other access methods mentioned in this article.
 
== Modern implementations ==
Line 45 ⟶ 68:
{{Reflist}}
 
{{Mainframe I/O access methods}}
[[Category:IBM mainframe operating systems]]
[[Category:Computer file systems]]
 
[[Category:Computer file systems]]
[[my:Access method]]
[[Category:Computer-related introductions in 1963]]
[[Category:IBM mainframe operating systems]]