On the first multiple processors (360/40 and [360/65 later called? - fuzzy old memory] 360/67) in a multitasking program, TS was the only ATOMIC instruction. You obtained lock to a block of storage using whatever lock was setup for that block of storage by either the operating system or by the appl system, and then it was safe to update. You released the lock asap. You ignore the lock at your peril.
Using CS and CDS, you pulled a block off a stack. You designed so that at that point, noone had the address of that block of storage, or "knew" not to use it. It was a VTAM application. Each user block had the address of the dedicated task for that user for syncing. Or you used enques of type SYSTEMS to lock the "key" (whatever that was) of a block of storage. as is done today by some application/system systems. For example in the code I worked on, you wanted to update a VSAM record. You got the record and locked the VSAM key using enque on a certain queue. When you were done, you released the enqueue asap. For storage, you, the programmer, locked a userid in order to maintain any piece of storage chained off the root user block. The user themselves could change any of their control blocks that was alowed using same protocol. -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Robin Vowels Sent: Monday, July 31, 2017 11:50 AM To: [email protected] Subject: Re: Question about CPUs From: "Charles Mills" <[email protected]> Sent: Monday, July 31, 2017 2:57 PM > Nay. Many, many instructions are not atomic. On a single CPU, yes. For > multiple CPUs, not atomic. Until the z13 (?), for example, NI, OI and > XI were interruptible within a reference to a single byte. NI is > actually fetch, AND, store. It could be interrupted between the fetch and the > store. What about the decimal instructions? such as AP, SP, MP, DP, and others such as NC, OC .... ? > So two processors doing NI or OI on the same byte could get "logically > impossible" results. --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus ----------------------------------------- The information contained in this communication (including any attachments hereto) is confidential and is intended solely for the personal and confidential use of the individual or entity to whom it is addressed. The information may also constitute a legally privileged confidential communication. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that you have received this communication in error and that any review, dissemination, copying, or unauthorized use of this information, or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail, and delete the original message. Thank you
