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

Reply via email to