![]() |
|
|
|
|
|
|
VM/COM, December 1985
1
-
OO OO OOO OOO // OOOOOOO OOOOOOO OOO OOO
OO OO OO OOO OO // OO OO OO OO OO OOO OO
OO OO OO O OO // OO OO OO OO O OO
oo oo oo oo // oo oo oo oo oo
oooo oo oo // oo oo oo oo oo oo
oo oo oo // ooooooo ooooooo oo oo
0 ------------------------------------------------------------
December 1985 edition Volume 2 Number 7
- CsNews Network Newsletter
-
-
Staff:
0 Michele Robinson CSMICH at MAINE Editor
Andrew T. Robinson ANDY at MAINE CsNews Director
David Eckhardt DAE at PSUVAX1 Assistant Editor
Prof. G. Markowsky MARKOV at MAINE Faculty Advisor
-
0 Ôçççççççççççççççççççççççççççççççççççççççççççççççççççççççä
³ Newsletter article contribution Userid: CSNEWS@MAINE ³
³ ³
³ Contributions from readers welcomed and encouraged! ³
¨ççççççççççççççççççççççççççççççççççççççççççççççççççççççç]
1
0 Vm-Com Issue 2.7
-
0 Table of Contents
+ _____ __ ________
- Introduction to Vm/Com 2.7 . . . . . . . . . . . . . . . 1
CSNEWS Notes . . . . . . . . . . . . . . . . . . . . . . 2
Letters to the Editor . . . . . . . . . . . . . . . . . . 4
A Golden Thought . . . . . . . . . . . . . . . . . . . . 7
The Italian Experience in BITNET . . . . . . . . . . . . 8
VM : The Operating System of Choice . . . . . . . . . . . 10
From ISPF To CICS . . . . . . . . . . . . . . . . . . . 14
Handy Tips for Better Consulting . . . . . . . . . . . . 18
OpCodes . . . . . . . . . . . . . . . . . . . . . . . . . 22
-
-
-
-
-
-
-
-
-
-
-
-
-
0 2
1
0 Vm-Com Issue 2.7
0 Introduction to Vm/Com 2.7
+ Introduction to Vm/Com 2.7
-
Hello once again! Well this is the last issue of 1985
and the last of volume 2. I'd like to thank all of you for
reading Vm/Com and thank you for the responses you have
sent. You have made Vm/Com quite a popular magazine. Each
month hundreds of issues go out and we hope to keep getting
more readers next year. Please keep reading and please feel
free to let us know what you think. We can't make it happen
without your help.
0 This issue is a bit smaller than the past few have been,
but as the semester progresses people get busier and I don't
receive quite as many articles. Please bear with the low
spots and try to enjoy what is here. In this issue you get
to see the first letters I have received. Don't expect this
column every issue, as I'll put it in only when I get enough
articles to make it interesting. Also there is a short
thought to look at, an article describing a fairly new
server to the net, and an article on VM. For the humor
section this time, a consultant's point of view, it's
humorous.. but it wouldn't hurt to take it somewhat
seriously, and of course there is the ever popular OpCodes
(which I am running out of.. so if you can think of any new
ones please send them).
0 See ya'all in January with V3-1. In the meantime, have a
great holiday season!!
0 Michele Robinson,
Editor
-
-
-
-
-
-
-
0 1
1
0 Vm-Com Issue 2.7
0 CSNEWS Notes
+ CSNEWS Notes
0 Andrew T. Robinson, (ANDY@MAINE)
-
Hello, all you happy and eager BITNET users! The holiday
season is upon us, and for your present, I have decided to
throw together another titillating set of CSNEWS NOTES!
0 The CSNEWS staff was gathered together for the CSOP
Semesterly meeting on November 6th, and discussed issues
pertinent to CSNEWS and the BITNET in general. There were
oodles and oodles of interesting topics discussed (not the
least of which was the quality of the pizza we were all
eating). I will try to summarize some of these below.
0 Vance Ogden (NMCS024@MAINE), our former CSNEWS
consultant, is no longer an active CSNEWS operator. Vance
is working for the Dead River Corp. in Bangor, Maine as a
system operator on a PRIME system. Vance maintained our
NETMON and BACKUP systems, and answered questions on both
CSNEWS and BITNET.
0 To fill in Vance's position, Michael Johnson
(MICHAEL@MAINE) has taken over some of the programming work
that Vance did. Mike has also volunteered to do more
developmental work in the area of CSNEWS Assembler
conversions.
0 To take over the CSNEWS Consultant position, Steve
Goldsmith (of FORUM@BITNIC fame) has been recruited. Steve
will also be working along with Mike Johnson in the
rewriting of BACKUP and NETMON on CSNEWS. Steve should have
a new ID, STEVE@MAINE, by the time this letter is available.
We welcome Steve and his experience to the CSNEWS staff!
0 Another subject discussed was the removal of the CSBB
Bulletin Board system on CSNEWS. This is primarily due to
the lack of use of CSBB. It was agreed that this act would
be premature, but if CSBB does not show any usage
improvement over the next few months, it will probably be
phased out. Come on people, use it! If you want more
information, issue the command
0 SENDME CSBB HELPNET
0 to CSNEWS. The service is there for everyone, so give it a
try!
-
-
2
1
0 Vm-Com Issue 2.7
0 One of the points that was discussed the most during the
meeting was that of putting a conferencing system such as
FORUM or RELAY at MAINE. Not everyone was of the same
opinion on this subject, but we all agreed it would be worth
a try to ask. However, at the present time it would seem
that the UMaine administration has vetoed the idea, due to
resource usage by the CSNEWS system.
0 That about summarizes what's new in the world of CSNEWS.
I will talk to you all in the next issue, so keep those eyes
glued to the screen, and keep on netting!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3
1
0 Vm-Com Issue 2.7
0 Letters to the Editor
+ Letters to the Editor
0 Well here it is... what we've all been waiting for!! The
first letters we have received. Please keep sending more!
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 Date: Tue, 30 Jul 85 09:39 EDT
From: KLM$GR@QUEENS (Jim Mabry)
Subject: IBM 370 Assembler article in VM/COM
0 I'd just like to put in my 2 cents about CSNEWS. It's
great!! Being an Asm programmer, I especially enjoyed the
article on IBM 370 I/O architecture. I didn't see it in the
most recent issue however. Will there be more articles of
this type? I hope so. As a matter of fact, I tried the pgm
and it does work!
0 Pac!
0 ------------------------------------------------------------
Since we have received this letter there has been
another article in the series. And there will probably be
more coming sometime in the future.
0 Ed.
0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 Date: Wed, 31 Jul 85 09:36 EST
From: KLM$GR@QUEENS
Subject: Another suggestion for Vm/Com.
A "Questions and Answers" page maybe?
0 Here's another suggestion for Vm/Com. How about a
"Questions and Answers" section? Or you could call it the
"Consultant's Corner" or something like that. Users could
send in questions about the system or CSNEWS or anything
related to the computing world and you could have either
other users answer them or the CSNEWS staff can take a shot
at it? What do you think of this idea?
0 Pac!
0 ------------------------------------------------------------
There has been a CSNOTICE file called CONSULT CSNOTICE
started from this idea. There is nothing in it at the
present time, but please feel free to append to it.
0 Ed.
-
0 4
1
0 Vm-Com Issue 2.7
0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 Date: 30 August 1985, 12:49:12 HOE
From: Juan-Pedro Cerezo Martin FISICTE1 at EEARN
0 Hello. A little note to say that the 2 articles of VM/COM
about 370 I/O are really neat, and to request (if possible)
for a description of the more important networks that exist
in the world, to be published on next issues of VM/COM.
0 Regards, Juampe
0 ------------------------------------------------------------
Would anyone out there like to put together a list of
networks ?? If so I'd be happy to put it in a later issue.
0 Ed.
0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 Date: 30 August 1985, 08:43:56 EDT
From: LIND@MAINE (Bob Lind)
Subject: Vm/Com articles
0 Some of the articles in vm com about programming
techiniques are pretty interesting and useful, but no one
ever lists any references at the end of the article. If the
information was not taken from any source except from
personal experience how about listing any sources that
pertain to the topic? I do not know if there is a list of
suggested computer sources or not somewhere, if there is
please enlighten me.
Maybe someone could start a library of abstracts or
reviews on decent computer sources. Just an idea.
0 Bob
0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 Date: Thu, 19 Sep 85 12:46 EDT
From: BITLIB@YALEVMX
To: NMCS114@MAINE
0 I just got issue 2-5 of VM/Com and really enjoyed what
I've read so far. I took your quest for suggestions to heart
and came up with this one off the top of my head.
How about making one screenful of VM/COM for (free)
advertisments of sorts. Not classified ads and stuff like
that, just ads for electronic magazines, new servers,
whatever. I doubt that you would get enough to fill more
than one screen in any given month.
0 Chris
- 5
1
0 Vm-Com Issue 2.7
0 ------------------------------------------------------------
In this issue there is an article describing a new
server. Read on for details.
0 Ed.
0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
6
1
0 Vm-Com Issue 2.7
0 A Golden Thought
+ A Golden Thought
0 Mike Beverly, (CC609051@CCNYVME)
-
The computer age is not just another
fad that will pass us by!!
It is permitting the world to come
closer together by linking different
systems together.
It is also creating a period of in-
stant access to almost any information
at a touch of a few keys.
It has become a necessity without
which a person is defenseless in our
rapidly changing society.
This is one fad that will not outgrow
us, for this reason we have truly entered
the century of the computer age.
-
-
-
-
-
-
-
-
-
-
-
- 7
1
0 Vm-Com Issue 2.7
0 The Italian Experience in BITNET
+ The Italian Experience in BITNET
0 Niccolo' Avico, LFCNET@ICNUCEVM
-
Italy officially entered BITNET, with some of its biggest
computer centers, on November 1984. Before this date there
were some networks in the country, most of which were
sponsored by National Research Council (CNR); one of them,
RPCnet, which has been almost completely integrated into
Bitnet, even allows remote logons.
0 The first person who I heard about using BITNET was
Riccardo Mannella. He soon became well known with his ID
CHARM@ICNUCEVM. Now he's working in England, so his fans
outside Italy can no longer interact with him (JANET, the UK
internal network, is not part of BITNET except for a mail
gateway), but many people here (including myself) have to
acknowledge him for his work. I guess that some Italian
people in the US first contacted him, ones from GWUVM that I
met last summer in Italy and Washington DC.
0 There are still few Italian BITNAUTS: mostly from the
Pisa University Computer Science, Mathematics and Phisics
departments. People outside Italy cannot understand this.
Here everything at the University is directly supported by
government. Thus only a small number of students can use the
facilities because of the small number of terminals and
educational computers. But university tuition is pretty low
here: about $100 a year, while US students' fees range from
$5000 to $10000 a year.
0 However, resuming the previous tale, after some months VM
software was imported by Riccardo. I can remember the DSC
EXEC by Moshe (BFMOSH@WEIZMANN) and FILTER EXEC by Andy
(ANDY@MAINE). In those days I began to learn REXX (and also
VM, a change from UNIX, which I used to deal with). In order
to learn a bit I decided to rewrite FILTER, since, due to
some differences between US and Italian keyboard, it didn't
work well here. The new and improved program was called
Filter2 and added some new functions to the old Filter. For
people who don't know what these execs do, they allow you to
select incoming messages, talk to someone without always
using TELL and much more.
0 The second program which I spent a few nights of work on
(I prefer night hours because of faster system response and
the time difference between here and the US) was a new DSC.
The old one worked well, but I wanted to try something
smaller before making the jump to the server program.
Moreover I had to wait a bit to obtain disk space (now 104
cyl). These programs are now available from the
LFCNET@ICNUCEVM server.
0 8
1
0 Vm-Com Issue 2.7
0 By the way, the necessary code for the server was born,
after a black hole due to university exams, during last hot
July. It took me 15 days to eliminate all the defects, add
other functions and complete it. Then I needed a few days to
test it under control of system programming personnel.
Finally they put the ID in the AUTOLOG list, allowing
continuous service also after CPU restarts.
0 Presently the server can be accessed only by messages
commands, but an upgrade is under design to also allow
inquiries with command files. I'll advertise it in a future
issue of this digest.
0 The available files can be divided into two groups: those
stored on my disk (the only ones listed in LFCNET FILES) and
some system files; these are the library of ACM fortran
subroutines, which have been stored at ICNUCEVM from 1975 as
source files. With the /Listall command (note that EVERY
command for the server must be prefixed by '/') it is
possible to receive a selective list of required algorithms,
depending on the problem one wants to solve. For example
0 TELL LFCNET AT ICNUCEVM /L acm integral
0 will return a file with the identifiers of the interesting
files (which can be acquired with /Get) that deal with
numeric integrals. Note that the number associated with the
file is part of its name. For example: the algorithm No.
333 will be in the file ALG333 ACM (just specify file name
and mode in the /Get command). Also for normal LFCNET files
a selective query is available. For example:
0 TELL LFCNET AT ICNUCEVM /L file csnews
0 will return the list of CSNEWS files on the disk (those with
information about that server). In both request, the first
parameter of /Listall is called Topic and the second Subject
(so FILE and ACM are topics, CSNEWS and INTEGRAL subjects).
To know the actual list of Topics and Subjects allowed you
must /Get the file TOPICS FILE, which deals with another
feature of the server: the Bulletin Board updated by users
via both messages and files; but this is an area to which
I'll return, if necessary, in a following issue of this
digest.
0 After all these words I have problems coming to an
appropriate end. This has always been the case for me, so
the best I can do is to invite everyone to use and take
advantage of all the Bitnet features that are always
growing. Be a part of the "us", who are the students and
researchers all over the world who fight geographic and
human distances with a powerful, invincible weapon: cultural
exchange and mutual help.
- 9
1
0 Vm-Com Issue 2.7
0 VM : The Operating System of Choice
+ VM : The Operating System of Choice
0 Andy Robinson, (ANDY@MAINE)
0 In today's world of high-tech and mass marketing, the
mainframe buyer has a large choice of hardware to choose
from. Installations who desire IBM-370 series compatibility
can get it, without paying IBM prices (from Amdahl, for
example). There are also many other vendors with worthy
systems, such as Digital Equipment Corporation (DEC),
Control Data Corporation (CDC), Honeywell, and so on.
However, on BITNET it would seem that most of the
installations are IBM-370-series mainframes or compatibles,
with some VAXen, PDPs, and CDC machines thrown in for good
measure.
0 The place where there is often NOT such a selection is
that of operating system software. Most machines have one or
two operating systems, available through the software
vendors. If the available operating systems do not suit your
needs, you have to write your own or heavily modify one of
the existing ones. This incurs a lot of overhead on the
programming staff, and results in a lot of downtime during
development and testing of the system. There is one notable
exception to this rule however: IBM VM.
0 What is VM? Well, the initials themselves stand for
"VIRTUAL MACHINE." VM is the result of a development
project which began in the late 60's with an operating
system called CP-67. That system eventually evolved into
what most of us see today when we LOGON: VM/SP Release 3.
The idea of a virtual machine is simple conceptually, and
extremely powerful: every user on a VM system is allocated
a process upon LOGON that exactly simulates a real
IBM-370-series computer, including associated hardware and
software.
0 Wait a minute, you say... what do you mean "simulates a
real IBM-370"? Well, I mean exactly that. Every one of the
userids on a VM system acts as if it were a separate IBM-370
computer, complete with a virtual processor, card readers,
printers, punches, and disks. The best thing about all of
this is: You can run ANY program on a VM userid (henceforth
referred to as a virtual machine) that has been written to
run on a straight 360/370 system. This means CMS, MVS, UNIX,
DOS/VS, OS, ad infinitum. What's even funner, you can run VM
UNDER VM (more on that later)!
-
-
- 10
1
0 Vm-Com Issue 2.7
0 Sound good? It is. Not only can you run any operating
system written to run on a 360/370 under VM, but every
virtual machine can run a DIFFERENT operating system. At
MAINE for example, we have most of our machines running CMS,
but we also have DOS/VS batch machine(s), CICS machines, and
a data entry system called MASTER -- and all on one real
CPU!
0 All of this is great, you say, but how does it work?
Well, VM is known as a virtual storage operating system
(VS). In a VS system, there may be several (or in the case
of VM several hundred) "processes" that appear to be running
at the same time on the computer. The sum of the memory used
by these processes usually exceeds that of the main memory
of the computer! So a VS system writes some blocks of main
memory that are not being used to a disk, and then reads
some other blocks of memory previously saved in this manner
back into the original locations. This act of "swapping" or
"paging" allows the computer to appear to have many times
more storage than it actually does.
0 The concept that allows the computer to perform this
swapping operation is known as "locality", which states that
at any given moment in time, an executing process will only
be using a small portion of the memory allocated to it.
Therefore by only keeping that small portion in storage at a
time, you can fit more processes into the computer.
0 ÕThe idea of virtual storage is very powerful in and of
itself, and VM is by no means the only operating system to
use it (most do today, as a matter of fact). It is important
for anyone with computer science interests to pick up the
concept of VS and what it means. It is certainly a basic
contributor to the flexibility of VM!þ
0 Some of you who already know about virtual storage in
some detail may also know that some of IBM's other operating
systems (such as DOS/VS and OS/VS) are virtual storage
systems too, and perform their own paging. Both of these
systems also run routinely under VM, which does ITS own
paging. No problem -- VM is perfectly capable of handling
this situation (which is known as second level virtual
storage). Common sense will tell us that there could be
(and, in fact is) some performance degradation for the VS
operating system running under VM. But VM has provided for
this with hardware assists and handshaking features which
allow most other VS operating systems to operate under VM
with little performance degradation. In some cases, the
operating systems actually run FASTER than they would on a
dedicated real 370!
-
- 11
1
0 Vm-Com Issue 2.7
0 One thing I have not discussed in detail is the fact that
any device that is part of the real computer VM is running
under can be utilized by any and/or all of the userids on
the system. This is all managed by VM in such a way that the
devices seem to be separate pieces of hardware of the
specified type (For instance, my userid has a 5-cylinder
virtual disk at device address 291. It always acts exactly
like a real 3380 disk drive with 5 cylinders on it). So not
only does a virtual machine act like a separate IBM-370 CPU,
but all the devices you need to do useful work act as if
they are separate hardware devices also.
0 This simulation of real devices provides VM with another
powerful ability -- definition and use of VIRTUAL
COMMUNICATIONS LINES. These lines act as if they were
telephone lines to the rest of the system. When a user gets
on a terminal, he can DIAL to a virtual machine which has
communications lines defined and driven, instead of logging
on. This is what allows multi-user systems such as UNIX to
run under VM -- the UNIX user simply DIALs the virtual
machine running UNIX, and then logs in according to the
rules of the guest operating system.
0 Virtual lines are fine, but a user may want to access
resources other than those provided to him/her at LOGON. The
command to accomplish this is DEFINE. With DEFINE a user can
do all sorts of fun and interesting things... Want another
printer? Just issue a 'DEFINE PRINTER' command. Need more
disk space? Just issue a 'DEFINE T3380' command. DEFINE lets
you add more resources to your virtual machine, if you need
them.
0 I could go into a lengthy discussion of the commands
available under VM, but I won't. My little example with
DEFINE gives you an idea, however, of the power and
flexibility of VM and its command language. You can do other
things with VM as well -- attach real devices to a virtual
machine (the most common application here is using magnetic
tape resources), link to other user's virtual disks, control
printer and punch file spooling and destinations, keep a log
of activity on your console, and much more.
0 As you can see, VM cannot really be classified with other
operating systems, as it functions unlike most if not all
the systems available today. It functions as the 'landlord'
of the machine. Tenants can move in and do whatever they
want. If they misbehave, they can always be swapped out. VM
is specifically designed so that its impact on each userid's
response time is minimal. CMS under VM for example, is as
fast under most circumstances as any other multi-user,
virtual-storage, interactive operating system under the same
load conditions... often faster.
-
12
1
0 Vm-Com Issue 2.7
0 In summary, VM provides a powerful base operating system
for general programming, modification of existing operating
systems, and creation of new operating systems. A new
release of VM can be tested on a virtual machine without
affecting general users. The same is true of any other
operating system one wishes to test. VM provides the
ability to run production and test versions of any number of
IBM-compatible operating systems on one real CPU. VM also
manages the resources of the real CPU in such a manner that
an individual user need never know he is sharing the CPU and
its devices with anyone else. VM is truly a model for the
large-computer operating system of the future.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0 13
1
0 Vm-Com Issue 2.7
0 From ISPF To CICS
+ From ISPF To CICS
0 Cody B. Shive (33000003@UNFVM)
-
Since my last article on ISPF, I have received mail
asking how to use the system installed at certain
universities. The most common problem has been that it is
not properly installed for student use. To clear up a few
problems with using the ISPSTART command, try entering the
following:
0 FILEDEF ISPPROF DISK ISPPROF MACLIB A.
0 Then type in ISPSTART. You will be presented with a menu of
options and will get a small presentation of ISPF from a
user's point of view.
0 Unfortunatly, ISPF has not proven to be exactly what I
have been looking for. Since my first love is CICS (Customer
Information Control System), I expected ISPF to be just like
it. There is probably no other screen-oriented system
available that is further from CICS than ISPF. I was sorry
to discover this, but at the same time excited. I was
excited because I would have another chance to work with
CICS in implementing a system I helped create last spring.
0 In comparison to ISPF, CICS is a completely different
kind of system. CICS is designed to run almost like an
operating system in what is called a region. ISPF runs in
the same partition as everything else does (at least in
VS1). CICS can not be used under VS1, but must instead be
run under an MVS environment. There is a fair amount of
security that surrounds a CICS region whereas there is
nothing very secure about ISPF. Also, CICS is designed to
allow screen-calling from within a program where as ISPF is
initiated via an entry menu.
0 CICS is its own system. To help you understand what CICS
is and how it is used, I will discuss interaction between a
user and an online program, an accepted structure for
programming, and security confines. To the user, CICS looks
like a completely independent system. When she sits down at
a terminal that is displaying something under VM, she exits
from VM with a VMEXIT. Unless the terminal is channel-
attached, this command will return the terminal to VTAM. At
this point, the user enters the name of the region. If the
region is active, a menu screen will be presented. This is
known as the signon screen. The user selects an option that
will let her signon to the region. Another screen is
displayed asking for an access name and a password. This is
one of the first signs of security. If a user is not
allowed access to the region, she will not be given both the
0 14
1
0 Vm-Com Issue 2.7
0 access name and password. Assuming she is allowed to use
the system, she types in the required items and presses
ENTER. The screen will clear and look blank. At this point,
the user types in the transaction identification (trans-id)
of her program, and away it goes. Unfortunately, things
usually aren't that easy. If you are just a user, chances
are you don't know what you are doing when you punch this
stuff in. If you are a programmer, you'll have to know.
0 From the programmer's standpoint, you have a lot of
things happening in the background that the user does not
see. CICS uses tables to figure out what terminals are
allowed to access the region, what programs are valid (by
trans-id), what data sets are used and what their names are,
and what mapsets are available for the programs to use. In
most cases, programmers themselves are not allowed to update
these tables. That job is relegated to a CICS Security
Administrator. She ensures security is kept for all parts
of the system. She will assign the names of mapsets,
programs, data sets, and terminals for the programmer to
use. In most cases, these are added to non-production CICS
regions that programmers use to test and perfect their
programs.
0 Once the programmer is given the necessary information
for her programs, she is able to start coding a system and
implementing it. First, the programmer must design screen
lay-outs that depict what is going to be displayed on the
screen. These can be either data-entry or merely
informational/tutorial in nature. The idea here is to
design the screens that the programmer's program will call.
Then, the programmer must design a program that will display
these screens and accept the data from them. She will have
to design an interactive program. Instead of designing a
simple interactive program in COBOL, PASCAL or PL/1, the
programmer is designing an online system. An online system
is an interactive system, but the term interactive in a CICS
environment implies more than a simple program. A widely
accepted technique for implementing online systems under
CICS is pseudo-conversational programming. Remember that in
conversational programming (the simple program), the program
waits for the user to enter a key or data before it
continues processing. The user decides to wait an hour to
enter something, the system keeps running the program,
waiting for a reply. Because we are now dealing with a
larger, more expensive system, programming under CICS in a
conversational mode is unnecessarily wasteful of machine
resources.
-
-
0 15
1
0 Vm-Com Issue 2.7
0 There is a way to conserve the resources of a system
supporting CICS. The idea of pseudo-conversational
programming is that the program appears to converse with the
user. Instead, the program does not wait for the user's
input. The sequence of events is simple. The user signs on
to a CICS region, types a transid and waits. CICS searches
its tables, loads the program associated with the transid,
and gives control to it. At that point the program
executes, displaying a screen. After the screen is
displayed, the program exits to CICS. Although the program
is not resident in memory, to CICS the transaction is still
active. Now, things look like this: the program finishes
executing and leaves a screen of information at the terminal
for the user. If the user pushes any program function key
like a pf or pa key or enter, CICS calls that transaction
up, and the program is once again loaded in and given
control to finish processing.
0 There has to be some special processing in that program
to handle sending screens, receiving them and knowing what
is going on when the program is not active. An example of
some simple logic in COBOL program follows.
- PROCEDURE DIVISION.
EXEC CICS
SEND MAP('SCREEN1')
MAPSET('MAPSET1')
MAPONLY
ERASE
END-EXEC.
EXEC CICS
RETURN
TRANSID('MENU')
COMMAREA (COMMUNICATION-AREA)
END-EXEC.
- There is not much to this logic. What will happen is when
the transid, MENU, is entered after the CICS signon, SCREEN1
will be displayed. That is what the first EXEC statement
does. But watch what happens. The program enters, throws
up a screen, then returns to CICS. Now, while the screen has
been displayed for the user the program has been flushed
from memory and only allowed a communication area (commarea)
to be transmitted to the program when it re-enters. When
the user presses enter or a program function key, CICS
reloads the program and gives control to it. You may begin
to see what that implies the program will have to contend
with. Essentially, the program will have to figure out which
screen was displayed and receive the data from it or process
an error if a wrong key was pressed.
-
16
1
0 Vm-Com Issue 2.7
0 This may seem simple, but it can get complex. After you
get past all the system particulars, you will have much more
to contend with inside your program. In later articles, I
will explain more about CICS and give some ideas for
debugging. Since many of you may not get the chance to work
on a CICS region, I will try to keep things somewhat
general. Anyone having questions can feel free to contact
me personally.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 17
1
0 Vm-Com Issue 2.7
0 Handy Tips for Better Consulting
+ Handy Tips for Better Consulting
0 Glenn Sixbury, VMAQ5@KSUVM
-
Unlike the title may imply, this article does not tell
consultants how to do a better job of consulting. Instead,
it is mainly directed toward users in an attempt to tell
them how to help the consultant help them better. This topic
may seem like it is of little concern to the average user,
but I think I can prove to you it is.
0 For example, most people who seek a consultant's help for
a problem don't want to stand in line for long periods of
time, don't like being told the wrong answers to questions
they ask, and don't like to be treated like babbling brooks,
although sometimes they may come across that way. By
following a couple of guidelines, which I'm going to state
below, things can run much smoother for all concerned.
First, to show how much difference knowing how to ask a
question can make, I'm going to give you a couple of
examples. These examples will be more vivid if you put
yourself in the consultant's place and try to imagine what
you would do as the consultant. To start with, what would
you say if a person came in with a problem and explained it
something like this:
0 "I'm having real problems, and I need a lot of help.
I've been working on this program for the last two
nights, and I haven't been able to get anywhere, so I
sure hope you can help me.
0 "See, I don't understand why one of my routines
isn't working." (At this point, the person begins
shuffling through a book bag, occasionally pulling out
a printout and putting it on your desk.) "The thing
that really irritates me is that it was working
yesterday, and I didn't change anything. Something must
be wrong with the computer." (Now, frustrated by the
search, the person puts down the book bag and shuffles
through the stack of printouts, finally pulling out one
and opening it so you can look at it.) "Anyway, I'm
doing this linked list thing, and we're simulating a
binary tree. This routine here is quitting on me."
(The person points to one of the routines, which you
look at). After a moment, you confirm your suspicion
that it's written in PASCAL and that it's a run time
error. Unfortunately, there are no clues to tell you
what's going on, and, of course, there are no comments
anywhere in sight. "So the program gets in here and
quits," the person continues. "What's wrong?"
-
18
1
0 Vm-Com Issue 2.7
0 What would you say? Well, just this morning, I had that
very thing happen to me. It turned out that the user was
wrong about the information given to me. First of all,
after quizzing the person for awhile, I discovered that the
printout I had seen was old, and after having the person go
get a recent printout, I saw that the information I had
originally been given was wrong. It was stopping in a
different routine, the problem was a mix-up on the BEGIN-END
pairs, and there was no way it could have ever worked in its
present state. The point here, though, is that this
question took a lot of time, and was highly irritating for
me to work on. The next person who came in had a problem
that was similar in difficulty, but because of the way the
question was asked, it took me only twenty-five or thirty
seconds to listen to the problem and give a correct answer.
That question was phrased something like this:
0 "My PASCAL program isn't working." (At this point,
I was given a listing open to the spot near the
problem, and each section was pointed to as that part
of the routine was discussed.) "See, I'm reading a
line of 80 characters into a packed array. Then I put
seven characters of that array into another array. At
that point, this second array is checked to insure that
it only contains blanks. If it contains anything other
than blanks, I set this flag to true. The problem is,
the flag was being set to true, even though I tried
reading in several lines of blanks."
0 After staring at the spots he'd pointed to for about five
seconds, I noticed that he had a FOR loop that was counting
down instead of up, but he'd used the word TO instead of the
necessary word DOWNTO. The problem was solved and he went on
his way.
0 So much for my version of 'A Day in the Life', but I
think you can see that if a question is phrased in a semi-
logical manner, it will be answered more quickly and more
completely. If all users phrased their questions that way,
you'd have to spend less time in line, which means less time
waiting to see a consultant and more time receiving help.
Also, the quality of the help will be better, because the
consultant will have more time to help you, and he or she
will be in a much better mood.
0 So how do you ask a question in the right way? Given
below is my handydandy set of rules that will help to answer
that question. These are rules that you will bend and
stretch and pull on to suit your own needs, but as long as
you keep them in the back of your mind, hopefully you will
provide the consultant, your teacher or whomever else you
talk into helping you, with enough information to answer
your question.
- 19
1
0 Vm-Com Issue 2.7
0 1) Always have any pertinent listings and output with you
and ready. Nothing is more irritating and time consuming
for a consultant than when he asks to see your listing, and
you have to say you forgot it, or didn't think it would be
needed.
0 2) Always know what you're problem is. You wouldn't
believe the number of people who come in to see me, throw a
listing on my desk and say, "It doesn't work." When I ask
why, they say "I don't know. It just didn't work."
0 3) Always summarize what you're trying to do. The keyword
here is "summarize". Use one or two sentences to explain
what you're trying to do, and forget about everything else.
Explanations like, "The teacher for this class never
explains anything, and even though this was assigned four
months ago and is due tomorrow, I really couldn't start on
it until today, because my grandmother died twice and my dog
ate the problem assignment." Save that stuff as your entry
for the Great Excuse Contest.
0 4) Always tell what language or utility you're using. A
rule to remember is that the number of languages and
utilities a consultant works with is approximately equal to
his age squared times the number of years he's been
consulting divided by 100 (in other words, a lot), so
although it may seem obvious to you what language
something's written in, make sure you state it anyway.
0 5) Always explain what you've already tried, but remember
to have some sort of listing to back it up, especially if
you tried something that you're certain should have worked.
Too often, a user has told me about a command that he'd
tried which didn't work. At that point, I've logged onto his
account, typed in exactly what he said he did, and it's
worked perfectly. Believe it or not, the computer really
doesn't like consultants better.
0 6) Finally, after obtaining the necessary background
information, and after filling in the consultant on what you
wanted to do, what language or utility you wanted to use to
do it, and what you've already tried, you can tell the
consultant what the problem is. Too often, the problem is
stated first, and as we can see, the problem should always
be the last thing you explain.
-
-
-
0 20
1
0 Vm-Com Issue 2.7
0 For the average user, keeping the above rules in mind
will make getting help easier and will lower the
consultant's blood pressure. For consultants, the next time
you get a babbling brook or an insufficient explainer in
your office, you might hand them a copy of this article and
send them on a reading assignment. Also, everyone should
realize that asking questions in a way that is logical,
concise, but provides enough information for the question to
be answered, will help not only in going to a computer
consultant, but also, it will help later in life when going
to your supervisor on the job. The advantage here is that
once you get into the habit of expressing your queries in
this way, it comes naturally and can be a real plus in the
way other people view you. After all, would you want a
babbling brook working for you?
-
-
-
-
-
-
-
-
-
-
-
-
-
0 21
1
0 Vm-Com Issue 2.7
0 OpCodes
+ OpCodes
0 Various and Assorted Creative Minds...
-
ACQT Advance Clock to Quitting Time
CAT Confused And Tired
CBA Compare and Branch Anyway
CCS Chinese Character Set
CM Confuse Memory
CMD Compare Meaningless Data
CML Compute Meaning of Life (42)
CN Compare Nonsensically
DAP De-select Active Peripheral
DCON Disable CONsole
DDOA Drop Dead On Answer
DHTPL Disk Head Three Point Landing
DIIL Disable Interrupts and enter Infinite Loop
DPMI Declare Programmer Mentally Incompetent
DPS Disable Power Supply
DRI Disable Random Interrupt
DT%FFP DecTape - Unload and Flappa-Flap
DT%SHO DecTape - Spin Hubs Opposite
ED Expunge Data ÕUNIXþ
ED Execute Data
EDR Execute Destructive Read
EDS Execute Data Segment
EIAO Execute In Any Order
EIOC Execute Invalid OpCode
EIP Execute Programmer Immediately
EOI Execute Operator Immediate
EP Execute Programmer
EPI Execute Programmer Immediate
EPS Execute Program Sideways
ETI Execute This Instruction
ETM Emulate Trinary Machine
EVC Execute Verbal Commands
EWD Execute Warp Drive
EXECP EXECute Programmer
ICM Immerse Central Memory
II Inquire and Ignore
IM Imagine Memory
MMLG Make Me Look Good
MT%HRDV MagTape - High speed Rewind and Drop Vacuum
RBLY Restore Backup from Last Year
RDD Reverse Disk Drive
RDI Reverse Disk Immediate
RIRG Rewrite Inter-Record Gap
RPBR Reverse Parity and BRanch
RRB Read Record and Blush
RRR Read Record and Run away
RT Reverse Throughput
- 22
1
0 Vm-Com Issue 2.7
0 SCB Spindle Card and Belch
SEX Set EXecution register
SHCD SHuffle Card Deck
SRSD Seek Record and Scratch Disk
TSH Trap Secretary and Halt
TSM Trap Secretary and Mount
VAX Violate All executions
VNO Violate Noise Ordinance
XIO Execute Invalid Op code
XKF Execute Kermit the Frog
XOH Execute no-Op and Hang
XOR Execute OperatoR
XPR Execute Programmer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
23
|