Shiva wrote:
> Hey again, Sorry to post lots of questions. Following from my previous posts.
>
> 1) I read a lot about disks, when reading about FUP commands, what's the difference between disks and tapes - I do know the literary meaning, I want to know in the context of files.
There's so much to say about this, but I'll try to keep it short. When an application program uses a tape directly, only the data the program writes goes on the tape, and only the data on the tape is given to the program reading the tape. For a disk, the system keeps a lot of additional information about the data, organizes it into files, etc. When you use BACKUP, the BACKUP program gathers the information about a file that the disk has and includes it on the tape along with the contents of the file so the RESTORE program can put the file and its association descriptive data back onto the disk. But that is a function of BACKUP/RESTORE. Just copying a disk file to a tape with FUP will get you only the contents of the file onto the tape, not any of the associated data.
There's more that can be said, but I'll stop there.
>
> 2) In an obey job, a line says:
>
> RUN FILE /NAME $TERMINAL/
>
> That $TERMINAL, should mean that the file should run on that terminal? If so why is it necessary? And why such a keyword "name"?
That command has bad syntax. $TERMINAL is too long. Anyway, a process on the NonStop system can have a name. You assign a name to the process when you start it by using the NAME keyword in the run parameters. This command is trying to start a process running the program in FILE and given the process the name $TERMINAL, but it won't work because that is too many characters for a process name.
>
> 3) There are so many terminals in the server. Is there a way to know which is your SPOOLER, PATHCOM, etc? If there's no information that you know about which one is your spooler, etc. how do you find and use them? Without asking your system admin.
>
> Like in COBOL85 /IN <file_name>, OUT $SPOOL.#JOBNAME / OBJ;
>
> Here, $SPOOL - whatever I specify, the job just goes to my spooler, how? Does my terminal have a $SP or $SF or $SG or something at all which is like its "name" - if so why whatever I specify in the above command, it redirects to my spooler. And say I have many nodes. Will there be many spoolers? Or just one? And likewise about PATHCOMs?
>
> Very confused about these terminals and spoolers and stuff.
Yes, you are a bit confused, but it will become clear. In your COBOL85 example command, $SPOOL would be the name of a spooler collector -- a process running under the name $SPOOL. $SPOOL will take the lines sent to it and save them under the name #JOBNAME. If #JOBNAME happens to be connected to a printer, then when COBOL85 finishes the compilation and closes $SPOOL.#JOBNAME, the spooler will start printing the job on that printer. If #JOBNAME is not connected to a printer, the job will just sit in the spooler waiting for you to do something with it in PERUSE or SPOOLCOM.
An aside: job number or job name can refer to collections of lines printed to a spooler or a batch job under control of NETBATCH. Try to make clear which you are talking about whenever you talk or ask about jobs.
>
> 4) In goanand website I read that U.S 911 emergency service uses tandem servers, how true is that? Any famous uses of tandem, if not this?
I don't know that website, but at least some of the 911 emergency services in the U.S. use NonStop systems. Maybe some outside the U.S., too -- I don't know about that. I don't know how many or what percentage. I've seen it said in online writings the some of the wireless telephone companies use NonStop systems for the "home location register" function and for the SMS function, both in the U.S. and outside. I don't know how many or what percentage. Many networks that provide merchant services for accepting credit and debit card payments at retail locations use NonStop systems to handle the message flow. Some manufacturers use NonStop systems to control work flow in large factories. At one time, many of the world's stock exchanges used NonStop system for their order matching system and other functions. However the insanity known as high frequency program trading has made them shift their emphasis from reliabilty to speed, and so many of them have switched away from th
e NonStop system. At least one major shipping port uses NonStop systems to manage port operations. I'm sure there are other major user I'm unaware of. I have not named any of the companies, even when I know some names, because companies often are reluctant to reveal details of their infrastructure.
>
> 5) This line "If you start peruse on another system, peruse also displays "spooler supervisor is " message that contains system and spooler supervisor names." Explain?
I'm not certain, but I think PERUSE always displays what supervisor it is talking to, not just when you start it remotely. Each system in an Expand network might have one or more spooler systems running on it. If you don't specify the exact one you want PERUSE to communicate with, it will apply some default rules. It displays what it connected to so you can check whether it is talking to the spooler you want to communicate with. This is important because when you send a job to a spooler, it normally stays in that spooler, so if you are looking for a job in the wrong spooler, you won't find it. It is possible for one spooler to send jobs to another spooler, but this doesn't happen automatically. Spooler supervisor is the main controlling process-pair for a spooler system. It starts, monitors, and controls the collectors, print processes, and devices configured in that instance of the spooler. When you send a job to the spooler, you are opening a spooler collector. Wh
en you start PERUSE or SPOOLCOM, they talk to the spooler supervisor and ask it about the jobs.
>
> 6) TFORM, It means Text formatter. Is it like TEDIT but a COBOL85 kind of compiler utility? I'm unsure of what it means? I can go look out in its manual, but a simple definition would suffice for now.
Not a compiler utility. TFORM is a program that takes Edit files that contain a mixture of document text and codes to control formatting and printing of the text (headings, page breaks, page numbering, etc.) and produces an output that you can direct to a printer or spooler. The result is a nicely-formatted document akin to what you could produce on a typewriter, not a laser printer using Word. If you know of TeX, the program Don Knuth created for publishing, TFORM is a little like that, but much, much simpler.
>
> 7) In peruse, I use the find command like this:
>
> Find / <key_word> /
> list *
> Find
> list *
> find
> list *
> (.. until no return comes)
>
> This is how it is mentioned in the manual. And it works perfectly fine. But I remember using f/l - b/* - and some other options with this find. Can someone tell me those options?
Look in the manual Spooler Plus Utilities Reference Manual. There is a chapter on PERUSE.
>
> 8) This is a general question, not fixed to any language or server. I've an object file. How do I find its code? Impossible? Or how do I know anything about the code? Impossible again? Say I want to recreate the code? I don't think there's a tool for it? Though it seems obvious that there cannot be, I want to know because why can't there be? If there's a tool (compiler) which gives codes to object. There should be another tool which gives object to code. Right? Okie, let me stop there.
Depends what you mean by "find its code". If you mean what is the name of the source file from which the program was compiled, if the program was compiled with the ?SYMBOLS and ?INSPECT directives, and the information they cause the compiler to include in the file has not been stripped out of it, BIND, noft, or enoft can display the source file names. When you are using the debugger, it can display source lines for any point in the program, as long as the ?SYMBOLS and ?INSPECT information have not been stripped out and the source files are available. BIND, noft, and enoft can dump the contents of the code areas of the program in machine instruction format. But if the source code for the program is lost or inaccessible, none of those tools can take the raw machine code and regenerate the original source code of the program.
I have heard of programs on other systems that can take a bare object file and produce a high level language source file that very roughly approximates the original source code, but it is VERY rough. The original variable names and comments cannot be recreated. and the actual program statements sometimes are pretty close to the originals, but other times wildly different (though still giving the same results). I don't recall ever hearing of such a program on the NonStop system.