.PAGE SIZE 58, 85 .NONUMBER .; for VAX .LEFT MARGIN 10 .RIGHT MARGIN 75 .; for RSX .;.LEFT MARGIN 0 .;.RIGHT MARGIN 65 .AUTOPARAGRAPH # .lm +30 .SKIP 5 .CENTER THE RSX MULTI-TASKER .SKIP .CENTER June 1989 .SKIP .CENTER "In hoc signo foobar" .SKIP .CENTER Fine Realtime Commentary .c Since 1975 .SKIP 14 .lm -30 .CENTER ^&TABLE OF CONTENTS\& .SKIP .LIT RSX SIG NEWS Editor's Corner RSX-1 Submitting Articles to the Multi-Tasker RSX-1 Bulletin Board Notes RSX-2 ARTICLES Spring 1988 RSX Software Clinic RSX-3 RSX Hierarchy: Where Do You Fit In? RSX-9 .eli .s4 Opinions expressed in the Multi-Tasker are those of individual members. They do not represent the official position of the RSX SIG or that of DECUS leadership in general. .pg .C *************** ^&RSX SIG NEWS\& *************** .s2 .C Editor's Corner .S .lit Jim McGlinchey, Managing Editor Phil Hannay, Production Editor Bruce Mitchell, Minister of Propaganda .eli .s3 .C ----- Submitting Articles to the Multi-Tasker ----- .s1 You are encouraged to submit articles to the Multi-Tasker. No article is too big or too small. They can be serious or funny, and of any techinical level. Please submit machine readable media if possible. Hardcopy submissions are okay if they are fairly short. Illustrations and drawings that can be photocopied may accompany the article. Most any media is acceptable, however RX50, RX01/2, TK50 and 1600 BPI magtape are preferred. All RSX volume formats are acceptable, and VMS formats are also acceptable on RX50, TK50 and 1600 BPI magtape. You can also submit articles through the RSX bulletin board system at (612) 777-7664. Kermit the file into your account and then send it via MAIL to username MULTITASKER. The Multi-Tasker begins life as a RUNOFF file, so feel free to submit your articles in RUNOFF format. The page size will be 80 columns by 58 lines, with the left margin at 10 and right margin at 75. Use literal format for code examples. If you change margins, use incremental changes rather than absolute. Mail your articles and other submissions to the expansive Multi-Tasker offices: .LITERAL Phil Hannay Cargill Research Bldg Box 9300 Minneapolis, MN. 55440 tel. 612-475-5433 (daytime) .END LITERAL .pg .C ----- Bulletin Board Notes ----- .s1 The RSX Bulletin Board is online. Software availability: RSX MAIL, Kermit, old issues of The Multi-Tasker and various other items. Free advice from everybody who logs in too. The system can always use additional hardware. Anything, including archaic items. We are still looking for an RL02 drive. Contact Jim Bostwick, at 612-475-6264 (daytime) if you wish to donate some equipment. The BBS number: 612-SPR-PONG (612-777-7664). This line is autobaud 110 - 1200 baud. To request an account, log in with account name ACCOUNT, password REQUEST. .pg .c *************** ^&ARTICLES\& *************** .s6 .CENTER;------ Spring 1988 RSX Software Clinic ------ .BLANK .CENTER;T. R. Wyant .CENTER;E. I. DuPont de Nemours .AUTOPARAGRAPH Well, here they are at last -- the questions and answers from the Spring 1988 RSX software clinic. I apologize for the delay, but they're just holding symposia too close together! The format is the usual one: Question (as it appears on the Patient's Registration Form), Answer (ditto), and Comments (when Yours Truly can't refrain from poking his nose in). And now: .NOAUTOPARAGRAPH .LEFT MARGIN +5 .BLANK 3;.INDENT -5 Question: MACRO-11 code doesn't work in I_&D task. .BLANK;.INDENT -5 Answer: _.PSECT properly .BLANK;.INDENT -5 Comment: The taskbuilder will not divide code into instruction and data segments unless MACRO-11 (or other source language) tells it to. MACRO-11 won't tell the taskbuilder unless you tell it. You do this with the _.PSECT directive. Assuming the code has no _.PSECT directives at all, I recommend that the conversion be done by inserting .BLANK;.INDENT +5 _.PSECT PURCOD RO,I,LCL,REL,CON .BLANK in front of each block of code, .BLANK;.INDENT +5 _.PSECT PURDAT RO,D,LCL,REL,CON .BLANK in front of each block of readonly data, and .BLANK;.INDENT +5 _.PSECT IMPDAT RW,D,LCL,REL,CON .BLANK in front of each block of data that is written to. You can put all your data in IMPDAT if you like - it won't hurt anything. .BLANK The above approach will be insufficient if you have self-modifying code, or if you are using link registers (eg: .LEFT MARGIN +5;.NOFILL JSR R5,SUB _.WORD data .FILL;.LEFT MARGIN -5 ). If you're stuck with this kind of code, you'll just have to rewrite it out. .BLANK 3;.INDENT -5 Question: I purchased a VAX 11/730 from a state auction. How can I gain access to the machine without a UIC (Name _+ password)? Can I get legal title from VMS OS and be OK with DEC? .BLANK;.INDENT -5 Answer: .LIST .LE;Do a conversational boot. .LE;Modify SYS$MANAGER:STARTUP.COM to suit your application. .LE;Set up directories, etc. .LE;Set up user accounts (UAF utility). .LE;Log off and reboot. .END LIST .BLANK;.INDENT -5 Comment: Yes, I know this isn't an RSX question - but they've got to get answers somewhere! .BLANK 3;.INDENT -5 Question: On an 11/44, how can I transfer data from an outside serial device and capture it to a file? .BLANK;.INDENT -5 Answer: If the outside device is an IBM PC or clone, use DECnet on RSX, DECnet/DOS on PC. Else use KERMIT, XMODEM, etc. Attend session on interfacing RSX to non-terminal devices. .BLANK;.INDENT -5 Comment: You can of course, use KERMIT on 'most any CPU; but if you're talking to an intelligent controller or some such, you may end up writing your own code. Use QIOs if you possibly can; code using Attach for Unsolicited Input is a little easier to write but not as efficient. Beware that the TT driver WILL stop and checkpoint your task when you issue it a QIO, unless you disable checkpointing. .BLANK 3;.INDENT -5 Question: How to use modem hangup AST? .BLANK;.INDENT -5 Answer: Look in current KERMIT or in DTE for examples. .BLANK 3;.INDENT -5 Question: Task requires privilege for some operations and unprivileges for other purposes. .BLANK;.INDENT -5 Answer: Build task /PR:0. First thing into task, issue GIN$ GI.SPR to clear privileges. When you need privilege, issue GI.SPR to set privilege. .BLANK To set TI: privileged, /PR:5 task. .LIST .LE;ALUN$ to TI:. Exec puts UCB of terminal into LUT. .LE;Task looks into LUT, picks up UCB address, .BLANK;.INDENT +5 BIS #U2.PRV,()UCB .BLANK returns to task state, issues 1 command, then .BLANK;.INDENT +5 BIS #U2.PRV,()UCB .BLANK .END LIST .BLANK;.INDENT -5 Comment: See "Guide to Writing an I/O Driver" for more on accessing LUTs, and the UCB layout. You can also build the /PR:5 task /PR:0 and use the SWST$ macro to get into kernel mode, if address space is a problem. .BLANK 3;.INDENT -5 Question: Overlaid task that opens a file with ASSOCIATEVARIABLE gets corrupted. .BLANK;.INDENT -5 Answer: The ASSOCIATEVARIABLE variable must be in the root. .BLANK 3;.INDENT -5 Question: I'm attempting to do DECnet task-to-task between an RSX node and a VMS node. The RSX node task issues its connect to the VMS node task. After about a minute it gets a message from DECnet "no response from object". Any ideas? .BLANK;.INDENT -5 Answer: .LIST .LE;Timeouts on logical links on RSX and VMS systems need to be checked. .LE;Check the priority of the VAX process. .LE;Watch password length on VAX. .LE;Check contents of connect block - may have to be reformatted. .END LIST Insufficient information to define solution. .BLANK;.INDENT -5 Comment: Also: .LIST .LE;Check the VAX account's default directory for NETSERVER.LOG files. Read and heed. .LE;The VAX task needs to open SYS$NET to accept the link. This can be done in DCL - in fact, a number of interesting VAX viruses are based on opening SYS$NET and assigning SYS$COMMAND (etc) to it. .END LIST .BLANK 3;.INDENT -5 Question: Application task crashes intermittently (about once every 4 or 6 months) if run twice in a row (no other tasks run in between. .BLANK;.INDENT -5 Answer: Probably something needs to be initialized. .BLANK 3;.INDENT -5 Question: After a successful BRU/VER/MOU/INI (no errors) disk to disk, DIR/FR shows same number of headers used/free on both disks, but total number of blocks free differs by around 10 blocks. .BLANK;.INDENT -5 Answer: Could be the way DIR counts free blocks. .BLANK;.INDENT -5 Comment: Could also be the [0,0] files, in particular BADBLK.SYS. .BLANK 3;.INDENT -5 Question: While trying to VMR my new HEL task into the system, VMR gave messages that the symbol table file was messed up. How big a problem is this? The system still works. .BLANK;.INDENT -5 Answer: .STB only affects building the executive. Does not affect applications tasks. Could copy new .STB from identical disk. Problem could have been caused by welding near computer. .BLANK;.INDENT -5 Comment: If welding was problem, would expect to see disk errors. the .STB is not needed for day-to-day operation, but IS needed to run VMR, or to link privileged tasks. .BLANK 3;.INDENT -5 Question: What is the correct way to implement support for external header tasks in a comm driver (M-plus). .BLANK;.INDENT -5 Answer: Map APR 6 to task header in secondary pool, then access task header offsets. .BLANK;.INDENT -5 Comment: Header can also be in the task's partition. I think "Guide to Writing an I/O Driver" covers this. .BLANK 3;.INDENT -5 Question: User written driver significantly slower after conversion from M to M+. .BLANK;.INDENT -5 Answer: Driver needs new conceptual model to reduce number of QIOs .pg .BLANK 3;.INDENT -5 Question: Is there a DR-11W/B driver for M V4.3? Will it run on an 11/45 system? .BLANK;.INDENT -5 Answer: Use DECnet over serial line for file transfer. .BLANK;.INDENT -5 Comment: If full DECnet is too much of a load, you can try the DLX interface, which lets you control the DECnet device directly. See the DECnet/RSX Programmers Reference Manual for more details. RSX comes with communications frivers for several interfaces, but the DR-11 appears not to be among them (at least under M+) .BLANK 3;.INDENT -5 Question: Why is the NL: device not a default during the SYSGEN process? Other pseudo devices are, ie CO:, CL:, etc. (RSX-11M). If not present, then it prevents me from doing an online SYSGEN. .BLANK;.INDENT -5 Answer: To be solved under V4.5 .BLANK 3;.INDENT -5 Question: Currently running in house software communicating between an 11/45 and an 11/70 using DA-11B hardware link. Would like to upgrade 11/70 to VAX 6210. System on 11/45 could not handle DECnet, how can I do file transfers between the 6210 and the 11/45? .BLANK;.INDENT -5 Answer: Use a serial line connection between 2 systems. Two options to transfer files: .LIST .LE;by PIP on RSX and COPY on VAX (eg: .LEFT MARGIN +5;.NOFILL VAX: COPY filename TXA0: RSX: PIP filename=TT1: .LEFT MARGIN -5;.FILL ). Terminals need to be set NOECHO first. .LE;Use KERMIT in server mode on the VAX and then issue appropriate commands to get files from the VAX. From SIG tapes. .END LIST .BLANK;.INDENT -5 Comment: Could also try LAD-11 from Meridian, to allow shared disk access between the two systems. One thing you'll probably have to suffer with is the fact that the DA-11 is faster than all the above put together. .BLANK 3;.INDENT -5 Question: I currently have a version of SRD from 1980! I would like to get a current version of SRD and an SRD manual. .BLANK;.INDENT -5 Answer: SIG tapes. .BLANK 3;.INDENT -5 Question: Booting an RSX-11S system with > 124 KW only works from RSX-11M-PLUS! Software boot from RSX-11M results in system crash! The systems are: RSX-11S V4.3, RSX-11M V4.3 and V4.2 E, RSX-11M+ V4.0 .BLANK;.INDENT -5 Answer: This is a restriction of the RSX-11M operating system. The documentation for BOO is misleading in that it specifies that an 18 bit RSX-11M system can not copy images above 123.5 K, and thereby implies that a 22 bit RSX-11M system can. This is false. No RSX-11M system can boot more than 123.5K of an image. The BOO special driver, which is only one disk block in size, is not large enough to contain the code necessary to turn on 22 bit addressing. The RSX-11M-PLUS special driver is 3 disk blocks in size to contain this code. Despite the fact that this code already exists for RSX-11M-PLUS, changing RSX-11M to use the larger boot block would be a major change, which we have no plans for at this time. .BLANK;.INDENT -5 Comment: Thanks to the author of this question for sending me the SPR response from which the above answer was quoted. .LEFT MARGIN -5 .pg .c ----- RSX Hierarchy: Where Do You Fit In? ----- .s1 .lit People who come into contact with the RSX system are often told, "If you have trouble, see so-and-so, he's a guru", or "Bob there is a real RSX hacker." What is a "RSX Wizard"? How does s/he differ from a "guru"? To explore these and other questions, here is a draft of the "RSX Hierarchy": NAME DESCRIPTION AND FEATURES beginner - insecure with the concept of a terminal - has yet to learn the basics of EDT - has not figured out how to get a directory - still has trouble with typing after each line of input - a totally lost IBM S/36 guru novice - knows that "DIR" will produce a directory - uses the editor, but uses QUIT instead of EXIT - has heard of "C" but never used it - has had a bad experience with DEL *.*;* - is wondering why the person next door seems to like RSX so very much user - uses EDT and RUNOFF, but inexpertly - has heard of kernel mode but don't know what it is - has figured out that '/' precedes options - is wondering how to move a directory - thinks that DEBUG is a brand of pesticide - has attempted to write a MACRO program but decided to stick with FORTRAN knowledgeable user - uses RUNOFF with no trouble - uses DECUS GREP to search for fixed strings - has figured out that RENAME will move directories - has learned that HELP usually helps - has seen someone write MACRO programs - watched somebody use DEBUG once - an UNIX expert looking for RSX make - writes Indirect Command Files occasionally - subscribes to DEC Professional, Digital Review, AND Digital News .eli .pg .lit expert - has mastered the difference between named and numbered directories - has figured out to use '' inside "" - posts PDP notes on INFO-VAX just to tweak 'em. - uses MCR commands in preference to DCL - uses PIP in preference to COPY and DIR - knows that an RSX directive issues an EMT 377 instruction hacker - starts to use MACRO - installs sharable libraries - uses undocumented features of MCR - writes FORTRAN code with "PIP filename=TI:" - writes his/her own EDT macros - uses his/her own catchall CLI - spends New Year's Eve in front of a PDP hacking - has been to DECUS conference at least once - tries to crack RSX11.DAT - left Trojan horses in the default DECnet directory and was caught guru - uses MACRO with ease - has looked at BLISS-16 and decided not to use it - writes MACRO code with "PIP filename=TI:" - customizes RSX utilities by patching the TSK file with ZAP - reads device driver source with breakfast - uses TECO instead of EDT because of nostalgia - can answer any RSX question after a little thought - has learned how to breach security but no longer needs to try - is putting utilities into the next DECUS tape release - uses CMD files for anything that requires two or more commands - has the title "RSX Guru" in his/her signature wizard - writes device drivers with "PIP filename=TI:" - fixes bugs by patching the binaries with ZAP and PAT - can tell what question you are about to ask, and answers it - is on a first-name basis with Brian McCarthy, Alan Frisbie, and Dale Donchin - has "RSX" on his/her license plate .eli