Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DOS/360 and successors
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|IBM mainframe operating system designed for use with smaller machines}} {{About|the family of operating systems for IBM System/360 computers||DOS (disambiguation)}} {{History of IBM mainframe operating systems}} '''Disk Operating System/360''', also '''DOS/360''', or simply '''DOS''', is the discontinued first member of a sequence of [[operating system]]s for [[IBM System/360]], [[System/370]] and later [[IBM mainframe|mainframes]]. It was announced by [[IBM]] on the last day of 1964, and it was first delivered in June 1966.<ref>{{cite book |first1=E.W. |last1=Pugh |first2=L.R. |last2=Johnson |first3=John H. |last3=Palmer |title=IBM's 360 and early 370 systems |date=1991 |publisher=[[MIT Press]] |location=Cambridge, MA and London |isbn=0-262-16123-0}}<br/>– extensive (819 ''pp.'') treatment of IBM's offerings during this period</ref> In its time, DOS/360 was the most widely used operating system in the world.<ref>Pugh, ''op. cit., p.'' 331 – most widely used OS</ref> ==DOS versions== ===BOS/360=== {{main|BOS/360}} The '''Basic Operating System''' (BOS) was an early version of DOS and TOS which could provide usable functionality on a system with as little as 8 KB of main storage and one 2311 disk drive.<ref>{{cite book |last1=IBM Corporation |title=IBM System/36D Basic Operating System Programmer's Guide |date=Sep 1967 |url=http://bitsavers.org/pdf/ibm/360/bos_bps/C24-3372-6_BOSpgmr_Sep67.pdf |access-date=Jan 24, 2022}}</ref> ===TOS/360=== '''TOS/360''' (Tape Operating System/360, not a DOS as such and not so called) was an [[IBM]] [[operating system]] for the [[System/360]], used in the early days around 1965 to support the [[IBM System/360 Model 30|System/360 Model 30]] and similar platforms. TOS, as per the "Tape" in the name, required a tape drive. It shared most of the code base<ref name=40Y.mem>{{cite newsgroup|url=https://groups.google.com/d/msg/alt.folklore.computers/RZA6FD27Tc0/-LoIXsOee7gJ|title=DOS/360: Forty years|author=Joe Morris|newsgroup=alt.folklore.computer|date=April 25, 2005|quote=Don't forget TOS, the bastard cousin of DOS. Either could be generated from the same set of distribution libraries...}}</ref> and some manuals<ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/360/dos/GC24-5030-8_Disk_and_Tape_Operating_Systems_Concepts_and_Facilities_Oct70.pdf|title=IBM System/360 Disk and Tape Operating Systems Concepts and Facilities|date=October 1970|id=GC2ij-5030-8}}</ref><ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/360/dos/GC24-3465-8_DOS_and_TOS_Utility_Programs_R26.1_Aug73.pdf|title=DOS and TOS Utility Programs|date=August 1973|id=GC24-3465-8}}</ref> with IBM's DOS/360. TOS went through 14 releases, and was discontinued<ref>{{cite mailing list|url=https://www.mail-archive.com/ibmvm@listserv.uark.edu/msg24371.html|author=Anne and Lynn Wheeler|title=Re: IBM 1401|date=May 28, 2009|mailing-list=ibmvm@listserv.uark.edu}}</ref>{{failed verification|date=July 2019}} when disks such as the [[IBM 2311]] and [[IBM 2314]] became more affordable at the time of System/360,<ref>{{cite magazine|magazine=Computerworld|date=September 5, 1977|volume=11|issue=36|pages=39–40|title=IBM Feared Competition to 360/30 CPU|url=https://books.google.com/books?id=nAq5oP06EfEC&pg=PA39}}</ref>{{failed verification|date=July 2019}} whereas they had been an expensive luxury on the [[IBM 7090]]. ===DOS/360=== '''DOS/360''' was the primary operating system for most small to midsize S/360 installations. ===DOS/VS=== '''DOS/VS''' was released in 1972. The first DOS/VS release was numbered "Release 28" to signify an incremental upgrade from DOS/360.<ref name=Boeblingen>{{cite web|last=IBM Corporation |title=IBM Geschichte im Jahr 1970 |url=http://www-05.ibm.com/de/entwicklung/1970.html |access-date=May 31, 2012 |language=de }}</ref> It added [[virtual memory]] in support of the new [[System/370]] series hardware. It used a fixed [[page table]] which mapped a single [[address space]] of up to 16 megabytes for all partitions combined. DOS/VS increased the number of partitions (separate simultaneous programs) from three (named Background, Foreground 1 and Foreground 2) to five (BG and F1 through F4) and allowed a system wide total of fifteen subtasks.<ref name=GC33-5370>{{cite book|last=IBM Corporation|title=Introduction to DOS/VS Release 29|year=1973}}GC33-5370-2</ref>{{rp|pp.24–28}} DOS/VS was succeeded by DOS/VSE through [[VSE (operating system)|z/VSE]]. ===DOS/VSE=== '''DOS/VSE''' was introduced in 1979 as an "extended" version of DOS/VS to support the new [[IBM 4300|4300]] processors.<ref name=StateOfTheUnion>{{cite journal|title=The VSE Operating System State of the Union|journal=z/Journal|date=November 1, 2008|url=http://enterprisesystemsmedia.com/article/the-vse-operating-system-state-of-the-union|access-date=September 18, 2019|archive-url=https://web.archive.org/web/20180304055413/http://enterprisesystemsmedia.com/article/the-vse-operating-system-state-of-the-union|archive-date=March 4, 2018}}</ref> The [[IBM 4300|4300]] systems included a feature called ECPS:VSE that provided a single-level storage for both the processor and the I/O channels.<ref>{{cite book |author = IBM |title = IBM 4300 Processors Principles of Operation for ECPS:VSE Mode |version = First edition |date = January 1979 |url = http://www.bitsavers.org/pdf/ibm/4300/GA22-7070-0_4300_ECPS_VSE_Mode_Principles_Of_Operation_Jan79.pdf |id = SA22-7070-0 }}</ref> DOS/VSE provided support for ECPS:VSE, but could also run on a System/370 without that feature. VSE was the last free version of DOS. ===VSE/AF=== '''VSE/Advanced Functions'''<ref>{{cite book | title = VSE/Advanced Functions Program Summary | id = GC33-6157-0 | quote = Together with the DOS/VSE SCP (system control programming), VSE/Advanced Functions provides operating system support for IBM processing units listed in the "Machine Requirements" section. | url = http://bitsavers.org/pdf/ibm/370/DOS_VSE/GC33-6157-0_IBM_VSE_Advanced_Functions_Program_Summary_V1R3M5_5746-XE8_198306.pdf | access-date = January 24, 2022 | publisher = IBM }} </ref> (VSE/AF), prepared for 1983 delivery, added new device support and functionality to DOS/VSE. Many installations ran VSE/AF using products such as VSE System Installation Productivity Option/Extended (VSE System IPO/E), which combined DOS/VSE, VSE/AF and various other products. ===SSX/VSE=== [[Image:IBM Böblingen Entwicklung und Forschung briefing center during installation1984.jpg|thumb|right|An IBM staffer installing a third-party application running on SSX/VSE, at the IBM Böblingen facility where SSX work was done]] '''SSX/VSE''' ("Small System Executive") was an attempt by IBM to simplify purchase and installation of VSE by providing a pre-generated system containing the OS and the most popular products.<ref>{{Cite journal|date=1 Oct 1984|title=IBM adds SSX/VSE aid; offers DS/VSE frontend|url=https://books.google.com/books?id=qpTn_XtzdAMC&pg=PA46|journal=Computerworld|volume=18|issue=40|pages=46}}</ref> SSX was released in 1982,<ref>{{Cite journal|last=Paul|first=Louis|date=23 Nov 1981|title=IBM brings out simplified operating system|url=https://books.google.com/books?id=94T9BTjdzT0C&pg=PA7|journal=Computerworld|volume=15|issue=47|pages=7}}</ref> and later replaced by VSE/SP. SSX was sold by IBM as a bundle of 14 component products (Advanced Functions/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/OCCF, VSE/IPCS, DOS/COBOL, Back Up/Restore, Space Management, VSE/DITTO), and originally would only agree to offer the individual products separately via [[Request price quotation|RPQ]], although IBM later agreed to add those products individually to its price list under pressure from ISVs who claimed that the bundling violated antitrust laws.<ref>{{Cite journal|last=Blumenthal|first=Marcia|date=15 Mar 1982|title=IBM yields to Adapso heat, unbundles SSX programs|url=https://books.google.com/books?id=Wz-oh7ZQo8MC&pg=PA2|journal=Computerworld|volume=16|issue=11|pages=1–2}}</ref> ===VSE/SP=== In 1986 IBM released '''VSE/SP''' ("System Product") in conjunction with the announcement of the [[IBM 9370|9370]] processors. VSE/SP replaced SSX/VSE and bundled VSE with the most popular VSE program products such as VSE/AF, [[VTAM#ACF.2FVTAM|ACF/VTAM]], [[CICS]], and [[IBM POWER (software)|POWER/VS]].<ref>{{cite web|last=IBM Corporation|title=IBM VSE/SYSTEM PACKAGE (VSE/SP), VERSION 3 RELEASE 1.1 ENHANCED AND AVAILABLE|date=30 June 1987 |url=http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS287-332&open&cm_mmc=5733-_-n-_-vrm_newsletter-_-10207_134134&cmibm_em=dm:0:12046832|access-date=June 1, 2011}}</ref> VSE/SP supported only 24-bit addresses, despite customer requests to provide an XA (31 bit) version. ===VSE/ESA=== VSE/ESA was a 31-bit DOS/VSE version, which was released in 1990 with support for up to 384 MB of real storage. It provided up to twelve ''static partitions'' and allowed VSE/POWER and ACF/VTAM to be run in ''private address spaces''. It introduced a new feature called ''dynamic partitions'' which could allow up to 150 concurrent jobs, each in its own address space.<ref name=VSEESAAnnounce>{{cite web|last=IBM Corporation|title=IBM VSE/ENTERPRISE SYSTEMS ARCHITECTURE VERSION 1 RELEASE 1|date=5 September 1990 |url=http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&appname=Demonstration&htmlfid=897/ENUS290-513|access-date=May 31, 2012}}</ref> Version 1 could run in either ESA or 370 mode, with the ESA mode also supporting XA hardware with limitations. Version 2 (1995) only supported ESA mode with ESA hardware. Version 2 added support for [[multiprocessing]], through the new ''Turbo Dispatcher'', which permits different partitions to execute simultaneously on different processors. A partition can only run on one processor at a time, which mostly limits the multiprocessing to [[Computer multitasking|multitasking]]. Up to ten processors are theoretically supported ("tolerated"), but up to four are effectively utilized.<ref>{{cite web |title=VSE/ESA Version 2 Release 1 and VSE/ESA Languages -- PL/I, COBOL, LE Software Announcement | date=13 September 1994 |url=https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/9/897/ENUS294-519/index.html&lang=en-ZZ-ZZ |publisher=IBM}}</ref><ref>{{cite web |title=VSE/ESA Turbo Dispatcher Guide and Reference |url=https://ibmdocs.pocnet.net/SC33-6797-00.pdf }}</ref> Those limits remain in the last z/VSE.<ref>{{cite web |title=The z/VSE Turbo Dispatcher |url=https://www.ibm.com/docs/en/zvse/6.2?topic=SSB27H_6.2.0/fa2pl_zvse_turbo_dispatcher.htm |publisher=IBM}}</ref> ===z/VSE=== {{main|z/VSE}} IBM released z/VSE 3.1 in 2005. This change in naming reflected the new "System z" branding for IBM's mainframe product line, but did not represent a fundamental change in architecture from VSE/ESA 2.7 which preceded it. In particular, it did not support the new 64-bit z/Architecture, running only in 31-bit mode even on 64-bit capable machines. z/VSE 4.1 released in 2007 introduced support for 64-bit real addressing, with up to 8 GB of memory. However, while parts of the supervisor run in 64-bit mode, it only provides 31-bit virtual address spaces to problem state applications. As of 2011 one estimate placed the number of sites using z/VSE at around 4,000.<ref>{{cite mailing list|url=https://groups.google.com/d/msg/bit.listserv.vse-l/g3fv5ROPc_4/Oc9Y7rGg7zkJ|title=IBM DOS, DOS/VS, DOS/VSE, VSE/SP, VSE/ESA, z/VSE Customers|mailing-list=VSE-L|date=November 2, 2011|access-date=April 25, 2017}}</ref> ==History == When developing a new hardware generation of unified [[System/360]] (or S/360) computers, IBM had originally committed to delivering a single operating system, [[OS/360 and successors|OS/360]], also compatible with low-end machines; but hardware was already available and the OS/360 project fell further and further behind schedule, as described at length by [[Fred Brooks]] in [[The Mythical Man-Month]]. IBM was forced to quickly develop four additional systems: * [[IBM Basic Programming Support|BPS/360]] for machines with at least 8 KB of [[core memory]] and a [[punched card]] reader, * [[BOS/360]] for machines with at least 8 KB memory and a [[disk drive]], * DOS/360 for machines with at least 16 KB memory and a [[disk drive]], * TOS/360 for machines with at least 16 KB memory and a [[tape drive]].<ref group=NB>DOS/360 and TOS/360 had the same code base; the difference was whether it used disk libraries or tape libraries.</ref> When OS/360 was finally released, a year late, it required at least 64 KB of memory. DOS was designed to use little memory, and could run on 16 KB machines, a configuration available on the low-end [[IBM 2030|S/360 model 30]]. Unlike OS/360, DOS/360 was initially a single-job system which did not support [[Computer multitasking|multitasking]]. A version with multitasking, supporting up to three [[Memory management (operating systems)#Partitioned allocation|memory partitions]], requiring 32 KB of memory was later released. Despite its limitations, DOS/360 became the most widely used operating system for processors with less than 256 KB of memory{{citation needed|date=September 2017}} because: System/360 hardware sold very well; DOS/360 ran well on System/360 processors which medium-sized organizations could afford; and it was better than the "operating systems" these customers had before. DOS/360 was the operating system which filled the time gap between the announcement of the System/360 and the availability of the intended operating system, OS/360. As a result of the delay, a number of customers implemented DOS systems and committed significant investments to run them. IBM expected that DOS/360 users would soon upgrade to OS/360, but as a result of those investments, they were reluctant to commit to such conversion. IBM then needed to continue to offer DOS/360 as an additional operating system. The [[Hacker's Jargon File]] incorrectly states that [[GECOS]] (also known as GCOS) was copied from DOS/360, which was not the case, however the [[Xerox Data Systems]] [[Xerox Operating System]] (XOS) was intentionally similar to DOS to simplify program porting. ==Hardware requirements== [[File:IBM 2311 memory unit.JPG|thumb|right|IBM 2311 disk drive]] DOS/360 required a System/360 CPU (model 25 and above) with the standard instruction set (decimal and floating-point instruction sets optional). The minimum memory requirement was 16 KB; storage protection was required only if multiprogramming was used. A [[IBM 1050|1052 Model 7]]<ref group=NB>DOS/360 on a S/370 used a 3210 or a 3215 rather than a 1052-7</ref> printer-keyboard, either a selector or multiplexor [[IBM System/360#Channels|channel]], and at least one disk drive was required — initially a [[IBM 2311|2311]] holding 7.25 MB. A [[Punched card input/output|card reader]], [[Punched card input/output|card punch]] and [[line printer]] were usually included, but [[Magnetic tape data storage|magnetic tape drives]] could be substituted.<ref name=sysgen/>{{rp|p.10}} A ''typical'' configuration might consist of a S/360 model 30 with 32KB memory and the decimal instruction set, an [[IBM 2540]] card reader/card punch, an [[IBM 1403]] printer, two or three IBM 2311 disks, two IBM 2415 magnetic tape drives, and the 1052-7 console. ==Technical details== ''The following description applies to DOS/360 except as otherwise noted. Later versions offer additional functionality.'' Because DOS/360 was designed to run on low-end models of System/360 memory usage was a concern. It was possible to generate a DOS ''supervisor'', the resident portion of the operating system, as small as 5902 bytes.<ref name=sysgen/>{{rp|p.297}} Detailed charts listed memory requirements for each [[sysgen]] option, often as little as 100 bytes. A minimum system would leave just over 10 KB of storage available for a single batch partition which was enough to run utilities and all compilers except [[COBOL]], [[PL/I]], and full [[Fortran#FORTRAN IV|FORTRAN IV]]. To keep memory usage as small as possible, DOS was coded entirely in [[assembly language]]. ===Transients=== The concept of transient area is part of [[The Mythical Man-Month|Mythical Man-Month]]'s discussion on design and the use of main memory.<ref>{{cite book |title=The Mythical Man-Month |year=1975 |page=101 |author=F. P. Brooks |publisher=Addison-Wesley Publishing Company |isbn=0-201-00650-2}}</ref> To further reduce memory usage, the supervisor employed overlays called ''transients'' that were read into one of two reserved ''transient areas'' as required. * Physical transients were loaded into the 556 byte A-Transient area to handle hardware errors (ERPs), record error-specific data (OBR/MDR) on IJSYSRC, and issue error messages. All A-Transient module names began with {{mono|$$A}}. * Logical transients were loaded into the 1200 byte B-Transient area to provide common program services like OPEN and CLOSE for LIOCS. All B-Transient module names began with {{mono|$$B}}. The use of {{mono|$$A}} and {{mono|$$B}} prefixes ensured rapid loading of transients because their names were stored first in the directory. DOS/VS added Machine Check and Channel Check Handlers, which were another set of transients all starting with {{mono|$$RAST}} and executing in the Recovery Transient area. This was done as part of the reliability, availability, and serviceability (RAS) enhancements for the [[System/370]]. Before this addition, machine checks caused termination of the program running and channel checks caused termination of the program accessing the device, at the time of the error. ===Multiprogramming=== Like [[OS/360]], initial releases of DOS could run only one program at a time. Later versions of "real" DOS were able to run up to three programs concurrently, in separate memory partitions, supported by the same hardware memory protection features of the more scalable OS/360 operating system. These were identified as BG (''background''), F1 (''foreground 1'') and F2 (''foreground 2''). Multiprogramming was an optional feature of DOS/360, selectable at [[system generation]].<ref name=sysgen>{{cite book|last=IBM Corporation|title=IBM System/360 Disk Operating System: System Generation and Maintenance|year=1969|url=http://www.bitsavers.org/pdf/ibm/360/dos/C24-5033-7_Disk_Operating_System_System_Generation_and_Maintenance_Apr69.pdf}}</ref>{{rp|p.34}} A later SYSGEN option allowed [[Batch processing|batch]] operation run in either FG partition. Otherwise foreground programs had to be manually started by the [[computer operator]]. DOS/VS allowed up to seven concurrent programs, although five or six was a more common number due to the smaller scale of the hardware usually hosting DOS systems. Both DOS and DOS/VS allow the number of partitions to be set at [[Initial Program Load#IBM Initial Program Load|IPL]] (Initial Program Load), the IBM term for Boot load. ===Program libraries=== Executable programs were stored in a ''Core Image Library''. While running, DOS could not reclaim space as programs were deleted or replaced with newer versions. When the Core Image Library became full, it had to be compressed by a utility program, and this could halt development work until it was complete. Many shops simply froze changes for a day, compressed the CIL "off-line", and IPLed with the new Core Image Library at the beginning of a business day. A ''relocatable library'' for linkable object programs and a ''source statement library'' for assembler macros and include text were also supported. Installations could define additional ''private'' relocatable and source statement libraries on other disk volumes. ===Utilities=== DOS/360 had a set of [[utility program]]s, an [[Assembly language|Assembler]], and [[compiler]]s for [[FORTRAN]], [[COBOL]] and eventually [[PL/I]], and it supported a range of file organizations with [[access method]]s to help in using them: * Sequential data sets were only read or written, one record block at a time from beginning to end. * In indexed ([[ISAM]]) files a specified section of each record was defined as a key which could be used to look up specific records. * In direct access ([[basic direct access method|BDAM]]) files, the application program had to specify the physical location on the disk of the data it wanted to access. BDAM programming was not easy and most customers never used it themselves; but it was the fastest way to access data on disks and many software companies used it in their products, especially [[database management system]]s such as [[ADABAS]], [[IDMS]] and IBM's [[DBOMP]] and [[Data Language Interface|DL/I]]. Sequential and ISAM files could store either fixed-length or variable-length records, and all types could occupy more than one disk volume. ===Telecommunications=== DOS/360 offered Basic Telecommunications Access Method ([[BTAM]]) and Queued Telecommunications Access Method ([[QTAM]]). BTAM was primitive and hard to use by later standards, but it allowed communication with almost any type of terminal, which was a big advantage at a time when there was little standardization of communications protocols. The simplicity of its API also allowed the relatively easy interface of external communications processors, which facilitated DOS/360 machines becoming nodes in the multi-tier networks of large organizations. Conversely, QTAM users did not need as much knowledge about individual devices because QTAM operated at the logical level using the OPEN/CLOSE/GET/PUT macros. ==Job control== All DOS job control statements began with "{{mono|//}}" in card columns one and two except ''end-of-job'' which was "{{mono|/&␢}}", ''end-of-data'', "{{mono|/*␢}}", and ''comments'', "{{mono|*␢}}". (''In the description that follows the character "{{mono|␢}}" represents a single blank''.) * The {{code|JOB}} statement indicates "the beginning of control information for a job." The format is <syntaxhighlight lang="jcl" inline>// JOB <jobname> <comments></syntaxhighlight>. {{mono|<jobname>}} must be one to eight alphanumeric characters to identify the job. {{mono|<comments>}} are ignored. * The {{code|EXEC}} statement identifies a program to be executed as a ''job step''. "All control statements necessary for execution must be processed" before the {{code|EXEC}} statement is read. The format is <syntaxhighlight lang="jcl" inline>// EXEC <program></syntaxhighlight> * The {{code|PAUSE}} statement "can be used to allow for operator action between job steps." The format is <syntaxhighlight lang="jcl" inline>// PAUSE <comment></syntaxhighlight>. The comment is used to provide a message to the operator. * The {{code|comments}} statement may be used to display a message to the operator. The format is {{code|* <comment>}}. * The ''end of data'' statement marks the end of data in the input stream. The format is <syntaxhighlight lang="jcl" inline>/*</syntaxhighlight>. Any data on the statement following the blank is ignored. * The ''end of job'' statement marks the end of a job, and may indicate the end of data to be flushed if the job terminates abnormally. The format is <syntaxhighlight lang="jcl" inline>/&</syntaxhighlight>. Any data on the statement following the blank is ignored. * The {{code|OPTION}} statement specifies values of system options that apply to this job. The format is <syntaxhighlight lang="jcl" inline>// OPTION <option1>[,<option2>...]</syntaxhighlight>. * The {{code|ASSGN}} statement "is used to assign a logical I/O unit to a physical device." The format is <syntaxhighlight lang="jcl" inline>// ASSGN SYSxxx,<device>[,<tape option>]</syntaxhighlight>. SYSxxx indicates a logical unit such as SYS001 or SYSIPT. {{mono|<device>}} is either "X'cuu'" to indicate a physical device (channel and unit), "IGN" for ignore, or "UA" for unassigned. {{mono|<tape option>}} specifies either tape mode settings such as density, parity, etc., or "ALT" to indicate an alternate device. * The {{code|RESET}} statement resets specified I/O unit assignments to their permanent values. The format is <syntaxhighlight lang="jcl" inline>// RESET <option></syntaxhighlight>. {{mono|<option>}} may be "SYS" to reset all system logical unit assignments, "PROG" to reset all programmer assignments, "ALL" to reset all assignments, or "SYSxxx" to reset the assignment for the logical unit "SYSxxx", for example SYS002. * The {{code|LISTIO}} statement instructs the system to print a listing of all specified I/O assignments currently in effect. The format is <syntaxhighlight lang="jcl" inline>// LISTIO <option></syntaxhighlight>. {{mono|<option>}} is "SYS" to list all system assignments, "PROG", "F1", or "F2" to list all assignments for the background or specified foreground partition, "ALL", "SYSxxx", "X'cuu'", "UNITS" to list all assigned units, 'UA" to list all unassigned units, or "DOWN" to list all units marked as inoperative. * The {{code|MTC}} statement issues command to a magnetic tape unit. The format is <syntaxhighlight lang="jcl" inline>// MTC <opcode>,SYSxxx[,<nn>]</syntaxhighlight>. {{mono|<opcode>}} is a function such as "FSF" to forward space one file or "REW" to rewind the tape. {{mono|<nn>}} is a number that can specify the number of times the operation is to be performed, such as forward space two files. * The {{code|VOL}} statement provides disk or tape volume label information for standard label checking. The format is <syntaxhighlight lang="jcl" inline>// VOL SYSxxx,<volume></syntaxhighlight>. * DOS originally provided the {{code|TPLAB}} statement for tape label information and the {{code|DLAB}} and {{code|XTENT}} statements for disk label and extent information. At least as early as 1968 the {{code|TPLAB}} statement had been replaced by {{code|TLBL}} and the {{code|DLAB}} statement by {{code|DLBL}} . These statements used numerous [[Job Control Language#Positional parameters|positional parameters]] and had fairly high information densities. <ref name=ControlStatements>{{cite book|last=IBM Corporation|title=System/360 Disk Operating System User's Guide: Control Statement Techniques|year=1967|url=http://www.bitsavers.org/pdf/ibm/360/dos/GC20-1685-0_Disk_Operating_System_Users_Guide_Control_Statement_Techniques_Dec69.pdf}}</ref> ==Differences from OS/360== ===Job control language=== DOS [[Job Control Language|JCL]] was designed for parsing speed and simplicity; the resulting positional syntax was significantly more cryptic than OS/360 keyword-driven job control. ===Spooling=== Early DOS included no [[spooling]] sub-system to improve the efficiency of [[punched card]] and [[line printer]] I/O. By the late 1960s both IBM and aftermarket vendors began filling this void. IBM's spooler was an option called [[IBM POWER (software)|Priority Output Writers, Execution processors and input Readers (POWER)]], and Software Design, Inc., an independent software company, sold a spooler called [[Grasp (spooler)|GRASP]]. ===Program loading=== DOS/360 had no relocating [[loader (computing)|loader]], so programmers had to [[Linker (computing)|link edit]] a separate executable version of each program for each partition, or address space, in which the program was likely to be run. Alternatively assembler-language programs could be written as [[Self-relocation|self-relocating]], but that imposed additional complexity and a size penalty, albeit a small one. Large DOS shops with multiple machines and multiple partition layouts often wrote their own relocating loader to circumvent this issue. ===Application programming interface=== The DOS/360 [[application programming interface]] was incompatible with OS/360. [[High level language]] programs written for DOS needed to be compiled and linked before they could be used with OS/360. Minor differences between compilers of DOS as opposed to OS sometimes required modifications to programs. The port in the other direction however was more challenging. Since OS/360 had significantly more features supported in its API, any use of those features would have to be removed from programs being ported to DOS. This was less of a problem for programmers working in [[high level language]]s such as [[COBOL]]. [[Assembly language|Assembler]] programs, on the other hand, tended to utilize those very features more often and usually needed greater modification to run on DOS. ==See also== *[[Timeline of operating systems]] ==Notes== {{Reflist|group=NB}} ==References== {{Reflist}} ==External links== * [http://www.bitsavers.org/pdf/ibm/360/dos/ DOS manuals at Bitsavers.org] * [https://web.archive.org/web/20131002053231/http://vintagebigblue.org/DOSVSr34/DOSVS.php DOS/VS section at VintageBigBlue.org] {{IBM operating systems}} {{Disk operating systems}} {{DEFAULTSORT:DOS 360 and successors}} [[Category:Disk operating systems]] [[Category:IBM mainframe operating systems]] [[Category:Assembly language software]] [[Category:1965 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite mailing list
(
edit
)
Template:Cite newsgroup
(
edit
)
Template:Cite web
(
edit
)
Template:Code
(
edit
)
Template:Disk operating systems
(
edit
)
Template:Failed verification
(
edit
)
Template:History of IBM mainframe operating systems
(
edit
)
Template:IBM operating systems
(
edit
)
Template:Main
(
edit
)
Template:Mono
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:Short description
(
edit
)