OS/32 & Series 3200 SIG #4
by Stuart Baker
I just returned from an Oceanport planning meeting for Interchange '96. This year the meeting will be held in Fort Lauderdale, Florida, probably in November instead of the usual October. Start making your plans now to attend the world's largest gathering of real time expertise.
While I was in Oceanport I had the pleasure of spending an entire day with Lee Brueni. Lee and I dialed into one of his OS/32 systems and I got to see OS/32 R10-01 up close and personal. For many months the OS/32 development staff has been busy modifying OS/32 R09-02 to create this new update. By the time you read this article, the system will be in Alpha testing. Beta testing is expected to start around July.
The changes consist of about 25,000 lines of update for the OS/32 modules and utilities. This is not one of OS/32's larger updates, but it will provide real value and stability to the owners of S-Bus machines. Many of these new changes are not visible at the user level, but they will add to the performance and stability of the platform. Since this release will no longer run on non-S-Bus machines, the code now includes "usual" branches where they will significantly improve performance.
Another area of non-observable change is the use of the new Atomic List instructions. These new instructions allow the replacement of 16 lines of code with just one instruction. This one instruction is unusual in that it "is and is not" interruptible. What that means is that while it is waiting to lock the list, it can be interrupted, but after it locks the list it becomes non-interruptible. The Atomic List instructions are now used on five separate queues within OS/32.
Speaking of new instructions, now is a good time to mention that the R10-01 version of OS/32 will require a microcode upgrade to run! If you are planning to upgrade, it would be advisable to start the upgrade process now, so your hardware is ready when your new OS arrives.
After examining all of the new features, I have one hands-down winner -- a totally new multi-session capability. This is one feature I would really like to have retrofitted to my R09-02 MTM (I only have a 3212 so I can't run the new version of MTM). I have never really liked MTM's original implementation that allows one user to run multiple programs. For compatibility, the original implementation remains, but for those of us that did not like the original implementation, an entirely new solution is now at hand. The new MTM can even be sysgened to support both approaches, so one user can use the original implementation and another user can use the new commands (you can choose one or the other, but not both). The following is a brief description of the new features. This is meant as an overview of the new features and not an operations manual.
To add these new capabilities to MTM, two new commands were added and three existing commands received additional parameters. The two new commands are CONNect USERID and DISConnect[ USERID]. The connect command creates a new session on MTM. Think of it as a signon command that only requires a userid. The userid specifies the name used for the new session. The original signon account is used; no password is needed, since the user is already signed on. MTM performs the complete signon processing just as if the user had signed on for the first time. The original session becomes a background session and any CSS procedure or executing program continues undisturbed. If you use the connect command, and specify the name of one of your background sessions, you will switch to that session and your screen is updated from the session log. You need to be careful when you switch between sessions; if you make a typing error on the userid portion of the command you will start a new session.
The DISConnect[ USERID] command is essentially a SIGNOFF command for an individual session. If you issue the command without a USERID, you are signed off of your current session and the session that created your session becomes the new foreground session. If you include a USERID, the specified background session is signed off. If you issue a SIGNOFF command when you have active background sessions you are given the option of terminating all of the sessions or returning to your foreground session.
Since you can be signed on with more than one userid, only one of which is your foreground session, several new problems arise. What happens if someone sends a message to one of your background sessions? Simple: The message goes to the background session and is also echoed to your foreground session. Also, the Display Users command now indicates which sessions are background sessions.
The Display command has been enhanced to include the keyword Sessions. The output of this new option shows you the USERID, TASKNAME and CSS of all of your sessions.
The ENAble and PREvent commands have been enhanced to include two new keywords, BAckgndwrites and SEssionlog. When you enable backgndwrites, all terminal output from a background session is copied to your foreground session with USERID: added to the beginning of each line. The sessionlog option controls the logging of terminal session data. You may need to prevent session logging if the terminal output for a particular session contains escape sequences. When you switch between sessions the logged data is displayed using standard ASCII writes. This works fine for standard output, but in general it will not handle data that contains escape sequences.
The MTMSGN has been enhanced to allow specification of the number of sessions a user can have open simultaneously and the number of lines that will be re-displayed when you switch between sessions.
I have spent enough time talking about my favorite addition, let's look some of the other new features. A change that is implemented in both MTM and OS/32 is an enhancement to the Display Files command. Two new options have been added, /Lasn and /Short. The Lasn option (Display Last Assigned Date), removes the DBS/IBS, RECL and KEYS and adds the LAST ASSIGNED date to the end of the display. The Short option displays filenames in the FILENAME.EXT/ACCNT format only, placing three filenames on each line. Also the Display Files command now includes a summary line for each volume. The summary includes the number of files displayed and the amount of disk space allocated to the data portion for all of the files. (Note: This is not the total amount of disk space used.)
EDIT32 has received one new command and several enhancements to existing commands. The UP command is essentially a backward Type command. It has the same syntax as the TYpe command but it searches backward from the starting point. The Change and SUBstitute commands now allow wildcards in the search string.
OS32 has received a new sysgen option to allow the tracking of spurious interrupts. Spurious interrupts are those that are serviced by the Ignore Immediate Interrupt (III) routine. The new sysgen option allows you to specify the number of interrupts and time period; any device that exceeds this specified threshold generates an entry in the system error logger.
Since this is getting rather long, I will present a brief summary of the remaining enhancements. The DElete, REName and REProtect commands that use wildcards now skip the PACKINFO.DIR and SYSTEM.DIR files. The Display Accounting, Display Tasks and Display Map commands have been enhanced to support a uniform format. You can now specify the task by the /TASKID format for all three of the commands. The Display Map command has also been enhanced to include a display of free space and a summary of free and used memory, similar to the Interchange library MAP program that users can run from MTM. Speaking of the Interchange library, OS/32 now includes a COMPRESS program that looks much like the Interchange library COMPRESS program. This is not quite a ZIP in that it only compresses one file at a time, but it can be used to save on precious disk space. The Disk Cache program now uses the load increment to determine the number of disks it can cache. FASTBACK now checks for available disk space before performing a restore. The SVC 2, Code 8 now has an option that returns both the Date and Time in one request, preventing the date/time mismatch that can occur at midnight.
That does it for this issue. If you have any questions you can reach me by phone, fax or e-mail. Keep in touch, that is the main idea behind Interchange.
This SBSW.COM page has been optimized for printing.