The following message is a courtesy copy of an article that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.
[EMAIL PROTECTED] (, IBM Mainframe Discussion List) writes: > In VM, CCWs are not interpreted as far as I know, but rather the channel > program is scanned before being executed in order to determine how to let it > run > safely on its own. The only way I can think of to execute a channel program > interpretively is to do a separate I/O request for each CCW in the channel > program (of course, with the necessary CCWs in front of it for it to work > correctly). Then if a CCW reads data, the data would be read somewhere that > VM > could trust, and then move that data into the caller's buffer. This is > similar to how interpretive machine instruction is handled. But the > overhead in > interpreting channel programs would be prohibitive, I believe, so they are > not > really interpreted. They are first made safe with the proper CCWs in front > of those supplied by the problem-state caller and then allowed to run on > their > own. CCWTRANS was the CP67 routine that created a "shadow" copy of virtual machine channel program. channels run with "real" data transfer addresses. virtual machine (and "VS" system application EXCP ) channel programs have virtual address. CCWTRANS scanned the virtual machine channel program ... creating a "shadow" copy of the virtual machine channel program ... fetching/fixing the related virtual addresses ... and replacing the virtual addresses with real addresses. The original translation of os/360 to virtual storage operation included crafting a copy of (cp67's) CCWTRANS into the side of VS2 ... to perform the equivalent function of EXCP channel programs (whether application or access methods). VS2 (SVS & then MVS) has had the same problem with access methods (and other applications) creating channel programs with "virtual" addresses ... and then issuing EXCP. At that point, EXCP processing has the same "problem" as virtual machine emulation ... translating channel programs built with virtual addresses into shadow copy that has "real" addresses. EXCPVR was introduced to indicate that a channel program with "real" addresses was being used (rather than traditional EXCP channel program). A discussion of EXCPVR: http://publib.boulder.ibm.com/infocenter/zos/v1r9/topic/com.ibm.zos.r9.idas300/efcprs.htm#efcprs disk seek channel commands ... for virtual machine non-full-pack minidisks would have also result in a "shadow" made of the seek argument ... adjusting it as appropriate (i.e. a minidisk could be for 30 cyls starting at real cylinder 100 ... the shadow would have cylinder numbers adjusted by 100 ... unless it attempted to access more than 30 cyls ... which would result in shadow being adjusted to an invalid cylinder number). OS360 used 3 channel command prefix ... SEEK, followed by "set file mask" command and then "TIC" (transferred) to the channel program referenced by EXCP (didn't need to scan/translate the passed channel program ... just position the arm and then prevent the passed channel program from moving the arm again. There was a version of CP67 that was converted to run on 370s ("CP67-I" system) ... which was used extensively inside IBM pending availability of VM370 product. In the morph of CP67 to VM370 product, the CCWTRANS channel program translation routine became DMKCCW. past posts mentioning VS2 effort started out by crafting cp67 CCWTRANS to get channel program translation for EXCP: http://www.garlic.com/~lynn/2000.html#68 Mainframe operating systems http://www.garlic.com/~lynn/2000c.html#34 What level of computer is needed for a computer to Love? http://www.garlic.com/~lynn/2001i.html#37 IBM OS Timeline? http://www.garlic.com/~lynn/2001i.html#38 IBM OS Timeline? http://www.garlic.com/~lynn/2001l.html#36 History http://www.garlic.com/~lynn/2002c.html#39 VAX, M68K complex instructions (was Re: Did Intel Bite Off More Than It Can Chew?) http://www.garlic.com/~lynn/2002j.html#70 hone acronym (cross post) http://www.garlic.com/~lynn/2002l.html#65 The problem with installable operating systems http://www.garlic.com/~lynn/2002l.html#67 The problem with installable operating systems http://www.garlic.com/~lynn/2002n.html#62 PLX http://www.garlic.com/~lynn/2003b.html#0 Disk drives as commodities. Was Re: Yamhill http://www.garlic.com/~lynn/2003g.html#13 Page Table - per OS/Process http://www.garlic.com/~lynn/2003k.html#27 Microkernels are not "all or nothing". Re: Multics Concepts For http://www.garlic.com/~lynn/2004.html#18 virtual-machine theory http://www.garlic.com/~lynn/2004c.html#59 real multi-tasking, multi-programming http://www.garlic.com/~lynn/2004g.html#50 Chained I/O's http://www.garlic.com/~lynn/2004n.html#26 PCIe as a chip-to-chip interconnect http://www.garlic.com/~lynn/2004n.html#54 CKD Disks? http://www.garlic.com/~lynn/2004o.html#57 Integer types for 128-bit addressing http://www.garlic.com/~lynn/2005b.html#49 The mid-seventies SHARE survey http://www.garlic.com/~lynn/2005f.html#45 Moving assembler programs above the line http://www.garlic.com/~lynn/2005f.html#47 Moving assembler programs above the line http://www.garlic.com/~lynn/2005p.html#18 address space http://www.garlic.com/~lynn/2005q.html#41 Instruction Set Enhancement Idea http://www.garlic.com/~lynn/2005s.html#25 MVCIN instruction http://www.garlic.com/~lynn/2005t.html#7 2nd level install - duplicate volsers http://www.garlic.com/~lynn/2006.html#31 Is VIO mandatory? http://www.garlic.com/~lynn/2006.html#38 Is VIO mandatory? http://www.garlic.com/~lynn/2006b.html#25 Multiple address spaces http://www.garlic.com/~lynn/2006f.html#5 3380-3390 Conversion - DISAPPOINTMENT http://www.garlic.com/~lynn/2006i.html#33 virtual memory http://www.garlic.com/~lynn/2006j.html#5 virtual memory http://www.garlic.com/~lynn/2006j.html#27 virtual memory http://www.garlic.com/~lynn/2006o.html#27 oops http://www.garlic.com/~lynn/2006r.html#39 REAL memory column in SDSF http://www.garlic.com/~lynn/2007e.html#27 IBM S/360 series operating systems history http://www.garlic.com/~lynn/2007e.html#46 FBA rant http://www.garlic.com/~lynn/2007f.html#6 IBM S/360 series operating systems history http://www.garlic.com/~lynn/2007f.html#33 Historical curiosity question http://www.garlic.com/~lynn/2007k.html#26 user level TCP implementation http://www.garlic.com/~lynn/2007n.html#35 IBM obsoleting mainframe hardware http://www.garlic.com/~lynn/2007o.html#41 Virtual Storage implementation http://www.garlic.com/~lynn/2007p.html#69 GETMAIN/FREEMAIN and virtual storage backing up http://www.garlic.com/~lynn/2007s.html#2 Real storage usage - a quick question http://www.garlic.com/~lynn/2007s.html#41 Age of IBM VM ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

