VAX/VMS
By Bizhan Nasseh
Virtual Address eXtension (VAX):
VAX is a multiprocessing and multiuser computer system manufactured by the Digital Equipment Corporation. VAX and Alpha computers have been a major part of computing in education, government and business in the last 20 years. Its architecture is perfect for clustering. The VAX's primary design was to handle larger applications while serving many users concurrently. A VAX cluster means that a group of VAX machines work together under the same operating system. They share the same disk farm and other system resources. A VAX cluster configuration has all the functions of single-node systems plus the ability to share CPU resources, queues and input/output devices. A VAX cluster is loosely coupled, which means each CPU runs its own copy of the operating system within its own memory but share disks and other devices. In a tightly coupled system, CPUs share a common memory. A VAX cluster configuration provides a single security and management environment. One of the main advantage is that when one of the CPU nodes go down, another is often available for use.In a VAX system, the user can use a terminal or PC to access computer resources through the network. Because VAX creates a multiuser (multiple users login at the same time) and time-sharing (CPU shares time and services between all users) environment, the user needs to have an access number (userid and password) in order to access and communicate with system. There is a possibility of remote access via modem; Telnet is available for the VAX system.
In 1978, the first VAX11/780 was introduced to the market. In the last 20 years, VAX architecture and components have had major development and improvement from VAX-11/780 to VAX 9000 and Alpha AXP. One of the common way to measure VAX speed is by VUPS (VAX Units Per Second). It is a measurement that was established based on the speed of the VAX-11/780. For example, the VAX 7620 with a speed of 30 VUPS has 30 times the speed of the VAX-11/780. VAXes come in many different sizes and models. The following models are based on size, speed and the number of users that can be supported concurrently. Any program developed on one VAX computer can run on any other VAX computer without modification.
VAX Stations (2000, 3000, 4000).
Small VAXes (Micro VAX I, II, 3000, 4000).
Medium VAXes (600, 700, 6000, 7000, 8000).
Big VAXes (9000, and 10000).
In addition to the VAXes, Digital Equipment introduced the Dec Alpha line (Dec 2000, 3000, 4000, 7000, 10000) to customers in 1992. In June 1998, Compaq bought and merged with Digital Equipment.From VAX to DEC ALPHA:
Alpha is the name of the microprocessor and the computer system from Digital Equipment (DEC). An Alpha microprocessor is a 64-bit RISC (Reduce Instruction Set Computer). RISC architecture performs a smaller number of types of computer instructions in order to add to the speed of performance. The Alpha is also referred as Alpha AXP.
RISC (Reduce Instruction Set Computer) The original concept of RISC technology came from John Cocke of the IBM Research Center in 1974. His logic for the development of RISC architecture was based on finding that about 20% of the instructions in a computer did 80% of the work. Each instruction type that a computer must perform needs additional transistors and circuitry. In this case large sets of computer instructions made microprocessor more complicated and slower in operation. In the 1980s, IBM's RISC system/6000 made use of the idea. The RISC approach is to develop microprocessors that have simple instruction sets and some of the computational burden from the hardware is shifted to the software. The design in this model increases processing speed and lowers the cost of a RISC microprocessor.
The term RISC is credited to David Patersen, a teacher at the University of California at Berkeley.CISC (Complex Instruction Set Computer) It refers to a computer design that uses the full set of instructions. Most processors in computers are based on the CISC design. They offer users with a wide variety of instruction types. The CISC approach increases the complexity of the microprocessor's internal circuitry in order to reduce the complication time of the program. Intel's Pentium microprocessors are CISC microprocessors.
DEC's Alpha project started in the middle of 1989. In 1992, the Digital Corporation introduce DEC ALPHA AXP to the market. The ALPHA utilized Open VMS as its operating system and Digital made some modification from the VAX models. The main modification from VAX to Alpha are:
In addition, the following codes had to be rewritten.VAX utilizes 32-bit architecture and variable length CISC instructions. Alpha utilizes 64-bit architecture and fixed length RISC instructions. Changes in the support for hardware interrupts from the CPU. Changes in the boot codes. Changes in some device drivers because of new I/O buses. Changes in the I/O buses. Changes in low-level memory management. Changes in the Math run-time library.
Some advantages of RISC technology are that the new microprocessor can be developed and tested quickly and both the operating system and application programs have a smaller instruction set. A RISC processor, however, shifts much of the computational burden from the hardware to the software. Macintosh computers have RISC microprocessors.
The following is a sample of a VAX Cluster, which includes VAX and Alpha computers sharing a disk farm. The cluster resources are accessible through the network backbone with different protocols via terminals, PCs, workstations and MAC computers.
![]()
What is Open Virtual Memory System (VMS)?
VMS is an interactive and multi-user operating system that communicates with users, manages computer resources (hardware and software) and programs (utilities and applications) and provides services for its users. It is a strong time-sharing system that shares its resources and CPU with many users in a way that gives each user an impression that all computer resources are dedicated to him or her. VMS is designed to be capable of handling large files, processes and programs. VAX/VMS runs on VAX computers, which vary from a VAX station that supports a single user to a large VAX or Alpha computer that can support more than 1,000 concurrent users. VMS supports virtual memory, which means that an entire program might not be in memory during execution. Programs and data are divided into pages on the hard disk and moved to main memory when they are needed for execution.
VMS was designed entirely by Digital. In 1978, VAX-11/VMS version 1.0 shipped to the market. In the early 1980s, the VAX-11/VMS name was changed to VAX/VMS. When the VMS operating system was adapted to the Alpha platform in 1992, it was renamed to Open VMS for both VAX (Open VMS VAX) and Alpha (Open VMS AXP). Open VMS versions 6.1 and higher are usable with both VAX and Alpha computers. The VAX and Alpha platforms are very close and most applications can be recompiled and run from one system to another one. In 1982, VMS version 3.0 had 900,000 lines of the code, but in 1996, VMS version 7.1 had 25 million lines of code. The difference is an indication of additional functionality and services through the VMS operating system.
VMS was renamed to Open VMS in order to signify its full support of industry standards like OSF/Motif, OSF Distributed Computing Environment and POSIX. POSIX provides many features of UNIX systems. An Open VMS license allows the user to install and run POSIX for Open VMS at no additional charge, but DECwindows Motif is available exclusively as a separate layer product.
Open VMS is an operating system that controls and directs VAX resources as well as engage in communication with the user. It is a multiprocessing, multitasking and virtual memory operating system that allows many users to access computer resources and run a variety of programs simultaneously. Open VMS is also a 32-bit (recent versions support 64-bit instructions) general purpose and multi-user operating system that supports VAX and Alpha series computers. Open VMS is a command-driven and interactive operating system. It communicates with its users and translates the users' commands into instructions that are understandable to the computer. In addition, it utilizes computer resources in order to accomplish the requested activity.
There are two ways to communicate with Open VMS: interactive and batch modes. In interactive mode, communication between the computer and its user occurs through the keyboard and terminal. In batch mode, the user submits programs or jobs for execution at a later time. Open VMS performance depends on the type of computer, size of memory, power of processors and types of input and output devices. When the user logs on to the system, Open VMS creates a process for each login.
Key Words:
OSF The Open Software Foundation is an industry-sponsored organization, which identifies, supports and develops software technologies that can serve as industry standards.POSIX The Portable Operating System Interface is a set of standard operating system interfaces based on the UNIX operating system. The need for standardization (POSIX) was based on the need to develop programs that could be used between different manufacturers' computer systems without having to be rewritten. UNIX was selected as the basis for a standard system interface because it was a manufacturer-neutral operating system.
Design of VAX/VMS:
The main purpose of VAX/VMS is to manage hardware resources, including the central processing unit, memory, disk drive, network communication and many other features. VAX/VMS is a multiuser and time-sharing operating system, which means there are many users and applications using computer resources at the same time. The operating system must divide resources among all users. The core of VAX/VMS that is responsible for maintaining these services is called the kernel.
VAX/VMS provides services at many different levels. The layered structure of the VMS operating system includes the user interface, data management, system services and kernel. Each layer has a different level of privilege and access mode. The user interface is on the outer layer with less privilege and access; the kernel is the inside layer, which grants it the highest level of access privileges. All user interfaces, utilities, application programs and run-time libraries are executed in the user mode. All system services are executed in the kernel mode. In the VAX/VMS system, the interface focuses on communication with its users, the kernel focuses on communication with the hardware and the hardware focuses on the electronic aspect. The VMS operating system layers are the user interface, data management, system service, and kernel.
User Interface:
The interface, which is the interactive environment presented to the user, is a command-language interpreter (CLI). It is part of the digital command language (DCL) and is available on all VAX/VMS systems. With the user interface, the user can communicate with the operating system about the utilization of computer resources and services. The most basic interface is the command line, which allows the user to type VAX commands.Data Management:
The VAX/VMS operating system provides data management facilities at two levels. The record structure that exists for files is interpreted by Record Management Services (RMS). The location tracking that notes addresses of files on the mass storage devices such as hard disk and tape. Some of the data management functions are open, get, put and close.System Services:
Many operations that VAX/VMS performs for the user are implemented as procedures called system services. System services typically execute in the kernel access mode. Some services are invoked by application programs; others are called by system components such as Record Management Services. Some of the system service functions and procedures are ASSIGN, CANCEL, CRETVA (Create Virtual Address Space) and ADJWSL (Adjust Working Set Limit, referring to physical pages).Kernel:
The kernel is the essential center of the VMS operating system that provides services for all other parts. The kernel of VAX/VMS is the part of the system that runs in protected mode (separate address space that is not accessible by the user's processes). Some people see the kernel as an operating system. Each computer system has its own kernel, and the user communicates with the kernel through system calls, which appears to the user as processes from library subroutines. It is loaded to main memory during system startup; it resides there while VAX is up and running. The kernel has records of all hardware with which it needs to communicate. The components that the VAX/VMS kernel supports includes memory management, input/output requests and process scheduling for time-sharing operations. The kernel's services are requested by other parts of the operating system or by applications through a specified set of program interfaces known as system calls. The main components of the kernel are:I/O Subsystem The I/O subsystem takes care of all I/O requests, such as regular I/O request, page I/O, swap I/O and I/O database. It also consists of device drivers and their associated data structures.
Memory Management Memory management consists of the page fault handler, which implements virtual memory support, and the working set swapper, which helps the system to fully utilize physical memory. Both the pager and swapper require input and output operations in order to fulfill their functions.
Scheduling and Process Control The scheduling and process control is the third major component of the VAX/VMS kernel. It select processes for execution and removes processes that can no longer execute. The scheduler also handles clock servicing for the system.
The kernel also provides other services such as logical name creation, clock management services and privileged utilities.
The user uses the command line to send commands through the user interface (shell), the CLI translates commands for the kernel, and finally, the kernel sends the requests to the hardware. The following example can help one to understand the process of execution for a user request.
The user wishes to copy a file "main.pfo" from the main directory to the subdirectory "surgery" with the name of file "cmain.pfo".$ copy main.pfo [.surgery] cmain.*
The DCL looks like a shell between the user and the kernel. The DCL's CLI (command line interpreter) will interpret the command and replace the wildcard ".*" with ".pfo," which is the extension of the file "main.pfo". The CLI will find the subdirectory "surgery" and will locate where the copy program is kept. Finally, it starts the execution of the program. The CLI-translated command is now in a format understandable by the kernel.
The kernel puts the commands in its process queue and schedules when it should use the CPU's time and services. It finds disk space (storage) for storing the copy of the file in the subdirectory. It creates properties such as time of creation, file sizes and file permission (protection). The copy command tells the kernel to copy the file "main.pfo" into the subdirectory with the name "main1.pfo."
In addition to the above layers, the VAX/VMS software package has other components, such as utilities, program development tools, job controller, DCL interpreter, Record Management System and the executive.
Access Modes:
Access mode defines level of privilage and type of instructions to be executed by the CPU. Access control list is a table that tells OS which access options and right each user has in accessing system resources. The four access modes known as Kernel, Executive, Supervisor and User provides the protection modes for the processor. At any time, a processor executes its instructions with one of these protection modes. The process' mode determines its privileges for accessing memory and the type of instructions it can execute. For example, instructions to change processor execution is allowed in the most privileged mode, which is the kernel mode. The user, supervisor, executive and kernel make four different layers, with the User on the outside with the least protection and the kernel inside with the highest protection. The main instructions in each mode are:
User mode User programs, utility programs, compilers, editors, linkers, debuggers and other non-privileged services.
Supervisor mode Command language interpreters.
Executive mode Record management and system services (file structure and address) and virtual memory creation.
Kernel mode Scheduling, memory management, input/output operations and system services.The processor usually runs in the least privileged mode, which is the user mode. If a system service routine needs to run at a higher mode, the routine executes a change mode instruction. The level of privilege of each mode is different, where the Kernel is 0, Executive is 1, Supervisor is 2 and User is 3.
Booting:
VAX/VMS uses Firmware to boot the system. Firmware is a small operating system with the instructions needed to load Open VMS from the hard disk into main memory. Firmware has permanent instructions, which are provided by manufacturer. Firmware resides in an EPROM memory chip, which is nonvolatile. The instructions in Firmware can be updated with special equipment. Firmware is like a BIOS as it has loading instructions that are permanent.
Process:
When the user logs on to the VAX system, a process is created by the VMS for the user. VMS is a multi-user system, which has many different processes to represent different users. A process is an environment that the user uses while using the VAX system. It is a method that allows the user to interact with the hardware. The system keeps track of the user's activities and characteristics via an allocated process. It is a method for the user to interact with computer resources. The user's process will be created when user logs on and deleted when the user log out. Each process has a process name, user identification, process identification, assigned privileges and other definitions.
With the:
$ show process
or
$ show process/contThe user can see information about the current process.
With the following command:
$ MCR process_count
The user can see the number of unique and interactive processes in the cluster.
CPU Scheduling:
The VAX/VMS operating system (kernel) uses an algorithm to determine the order in which processes use the CPU's services. The simpliest part of the algorithm is priority. Each process has a priority; higher priorities get to use the CPU's services sooner than a lower priority process. Priorities range from 0 to 31, but 16 through 31 are used for real-time processes and for the software performance monitor (SPM). Most normal terminal sessions have a base priority of 4. Most of VMS's behind-the-scenes processes can run at a priority of 8.
In order to share the CPU's services, VMS uses an algorithm that adjusts the priorities of processes in order to prevent one process with a high priority to hold the CPU for a long time. In addition of the base priority, VMS assigns a temporary high priority, which helps even a very low priority batch job receive some services from the CPU. If the user types:
$ show process/continuous
The user will see both base and current priorities.
Digital Command Language (DCL):
The user controls and directs the computing environment with the Digital Command Language (DCL). The DCL is a shell for the VMS operating system. VMS commands at the "$" prompt are part of the DCL. It provides a means of communication between the user and the operating system. In addition, the DCL is in charge of interpreting entered command through its Command Language Interpreter (CLI). The DCL command can be entered directly from the "$" prompt, placed in a command procedure file that has an extension of ".com" or added to the "login.com" file. The user can automate some frequent and needed services with a command procedure file. For example,
$ show users
or
$ show quotaThe execution of the DCL command "show" followed by the parameter "users" will produce a list of people currently logged on to the system. Show quota could also display the disk-space status of the user's VAX account. DCL commands can have up to 128 fields, each can contain up to 128 characters. The whole command line can have a maximum of 1,024 characters. The typical terminal screen accepts 80 characters; the user can finish each line with the "-" character in order to prevent the execution of the command to continue typing commands on the next line.
DCL Commands Structure:
The "$" prompt is an indication of the readiness of the system to accept DCL commands. DCL commands have the following structure:Command It specifies which command is to be executed, such as the DIR, SHOW and SET commands.
Parameter -- It specifies to the command which item is to be used. For example, the "quota" option in a "show quota" command or the "file.dat" file in a "type file.dat" command.
Qualifier It defines the different options to be used with the command; it is usually preceded by a "/," such as in "set terminal/inquire" or "type file.dat/page."
Value It is a parameter for the qualifier; it is preceded by an "=." For example, print/que=ess_laser file.dat.Command Files:
Command files are a powerful part of the VAX/VMS operating system. Command files provide users with many time-saving features and flexability. A command file is a set of DCL commands in a file. DCL programming is very important on a VAX computer as it can do almost anything that a structured programming language can do. The DCL also supports control logic such as IF, CALL and GOTO statements. A command file has an extension of ".com," such as "first.com" or "list.com." The user can run a command file from the "$" prompt with an "@" sign in front of the file name. The user can also add the name of the command file to the "@" sign in the "login.com" file. The "login.com" file, which is in the root directory, is a good example of this type of file. The command procedure or ".com" file is comparable to a batch file on the PC. Command files are strong tools for experienced users to automate some frequently performed tasks and activities.Example 1
To compile, link and run a COBOL program without typing all three commands over and over, the user can create a command procedure file (first.com), which contains the following DCL commands.$ set verify
$ cobol prog1.cob
$ link prog1
$ run prog
$ exitTo run the "first.com" file, type @first.
This will execute the contents of "first.com" which are DCL commands for compiling, linking and running a COBOL program. The user can also execute a command procedure file from the "login.com" file.
Example2
To write a program in the DCL to multiple two numbers.$ inquiry number1 "Enter value for the first number: "
$ write sys$output " "
$ inquiry number2 "Enter value for the second number: "
$ mult = 'number1' * 'number2'
$ write sys$output " "
$ write sys$output "The result is: ' ' mult' "
$exitLogin.com File:
The most important command file is the LOGIN.COM file. A "login.com" file is a text file that contains many DCL commands. A "login.com" file is executed every time the user logs into the VAX system; it is in the root directory of the user's area. The "login.com" file can define a customized operating environment for the user. The "login.com" file is comparable to the "autoexec.bat" file on the PC. The following lists some characteristics of the "login.com" file.
The following is some of the helpful set-up and commands for a "login.com" file.
- It should be present in every account.
- It can be edited by the user.
- It executes a sequence of DCL commands.
- It sets up the terminal type.
- It sets up the default directory.
- It sets up the default editor.
- It sets up some shortcuts for the user.
- It sets up a customized prompt for the user.
- It sets up access to different printers on the network.
- It executes other ".com" files.
$ show quota -- To see disk space's status.
$ count :== mcr process_count -- To type count and see number of unique and interactive processes.
$ dtr32 := = $sys$system:dtr32.exe -- In order to access datatrieve database by dtr32.
$ epi := = run bsu$user_3:[00jkczer.epi]epid.exe -- To run program from another user's account by typing epi.
$ up := = set def [-] -- To move up one directory by typing up.
$ res := = set def [00b0nasse.research] -- To move to research subdirectory by typing res.
$ prod := = @sys$oracle:oraprod -- To activate production Oracle by typing prod.
$ linkc := = link main, sub1, sub2, surg_sub, convert -- To link main and many subroutines by typing linkc.The "show symbol" command can help the user to see the statement that is activated by the symbol. For example, to see the statement that is activated by "sas," a symbol for a statistical package, type:
$ show symbol sas
sas = = "@sys$common:[sysmgr]stats_have_moved.com"$show symbol up
up = = "set def [-]"Terminal:
The computer terminal is a link between the user and the resources of the VAX system. A computer terminal consists of the display screen and keyboard. A terminal converts user commands into codes that are understandable to the computer and displays codes in understandable characters and symbols on the screen. There are many different types of terminal, of which some are text terminal like the VT 200, VT220 and VT320. There are graphics terminals like the VT240 and VT340. The VT series of terminals have typewriter-style keyboards and a row of programmable function keys (F1, F2, F3, ....). In addition, it has a numeric keypad and an editing keypad. After logging into the VAX at the "$" prompt, type:
$ show terminal
It will show the current configuration of the terminal or terminal emulator.
Today, most users have a PC. A personal computer can be used as a terminal to connect to a VAX system via terminal-emulator software. There are different personal computer terminal emulators. In addition to connectting to VAX, some terminal emulators provide networking, modem dial-up and local operating system control while connected with VAX. One common and free program emulator is Kermit. Reflection-4 is a graphical terminal emulator, which has many additional functions.
Accessing VAX/VMS:
VAX/VMS is a time-sharing operating system, which means it shares computer resources with several users concurrently. For security and integrity, each user must have a unique account number. An account number consists of userid, password, privilege and disk quota.
The userid identifies the user to the VAX operating system as an authorized user for accessing the system's resources and services. To log into the VAX system at the "username" prompt, type your userid and at the "password" prompt type your password. The computer responds with the date and time that the account was used last time. Then the user is presented with the "$" prompt, which indicates that the system is ready to accept DCL commands. If the user wish to change the prompt to a word or message, the user can use the "set" command to change the prompt. For example, to change the prompt from "$" to "READ>" and change back to "$," type:
$ set prompt="READY>"
READY> set prompt="$"
$After receiving your account, it is recommended that you change your password to a string of characters, numerals or combine two associate words, which are difficult to guess and access. For changing your password, use the "set password" command.
$ set password
Old password: type in current password
New password: type in new password
Verification: type in new password againEach user is allocated a fixed amount of storage space that the user can use to store files. The storage space is measured in blocks (each block is 512 bytes long). With a fixed amount of storage, the user should use the "show quota" command in order to check the amount of used and free storage space. If the user exceeds the allocated storage space, the user will receive a message that disk quota has been exceeded. In this case, the user must delete some files or move them to a secondary storage such as a tape or diskette. In the case that additional space is needed, contact your system manager for permanent or temporary additional space.
The "logout" command (in the short form "log") will terminate the user's session. After receiving the logout command, VAX/VMS closes any open files, terminates all processes and displays time and date that the user logged out of the system. If the user wish to display account information for this session, the user can use the "/full" qualifier after the "logout" command.
If the user wishes to login from outside the campus' or organization's LAN and WAN, the user must ask the system manager for the telnet protocol login process. For example, from Netscape browser, the user can type:
telnet://bsuvc.bsu.edu.
Files, Directory, and Subdirectory:
Files in VAX/VMS are divided into two main categories: text and binary files. Each group has different characteristics, contents and methods of organization.
Text files are composed of letters, digits and special characters. These files are stored according to the ASCII character code on storage such as disk and tape. The main characteristics of text files are:
The second group of the files are binary files. Binary files are stored in machine code (machine readable form). The main characteristics of binary files are:
- They can be displayed on terminals with the "type" command.
- They can be edited with a text editor.
- They can be printed with the "print" command.
File Specification:
- They cannot be display on the terminal with the "type" command.
- They cannot be edited with a text editor.
- They cannot be printed with the "print" command.
- They need the support of applications, such as word processing or graphic program, in order to be accessed (a ".doc" or ".gif" file, for example), or directly executed bythe system like ".exe" files.
The file specification gives the file a unique identity on the VAX cluster. It also helps the user to access the file of another user on the VAX system. The file specification of each file on VAX includes:Node name The name of the computer on which the file is stored.
Device name The name of the storage device on which the file is stored.
[directory name] The name of the directory and subdirectory where that file is located.
Filename.ext;v The filename, file extension and file version number.For example: bsu$user_3[00b0nasseh.chem] main.for
It defines a file specification, which makes the 'main.for' file a unique file on the VAX cluster.File Name:
A file is recognized by filename, filetype and version number on VAX/VMS. For example, first.doc;4 and research1.spx;2.
A file name consist of up to 39 characters, which can be a combination of letters, digits and special characters such as "$" and "_." The first character should start with a letter (a-z) or a digit (0-9). Selection of a meaningful name, which has a relation to the content of the file, can help the user in the accessing and storing of the file.
A file type is another indication of the content of the file. Some file types are assigned by the user, such as ".dat," ".doc," ".spx" and ".txt." There are other files that have their extensions assigned by the system like as ".obj" (after compilation) and ".exe" (after linkage) files.
With VAX/VMS, it is possible to have more than one copy of the same file with different version numbers. The number of copies allowed is defined locally by the system manager (usually, 2 copies). The version number is a numeric value from 1 to 32,767; it is incremented each time the user modifies the file. When you access a file without a version number, the system defaults to the latest version of the file. For example, some of the common file names and types on VAX are:
first.cob;3
login.com;76
resume.doc;8
nature.exe;1Directory:
Understanding the file structure on VAX/VMS is very important in order for the user to manage files. All files in the user's account are in directories. Every user has a main directory, which was created when the user's account was created. The user can check the main directory with the "show default" command. This main directory is created by the system manager. For example, bsu$user_3:[00bjnasse] indicates that the directory name is "00bjnasse" and resides on the disk device called "bsu$user_3." The main directory's name matches with the userid and has 1-9 alphanumeric characters. Each main directory can have many subdirectories.
$ dir
It will display a list of files in the main directory.$ dir *.dir
It will display the list of all subdirectories in the main directory.$ dir *.gif
It will display the list of all files with the extension ".gif."Subdirectory:
Each main directory has many subdirectories. Each subdirectory can have many other subdirectories. The structure of the file system in VAX/VMS is based on the tree structure, with the main directory at the top and many subdirectories as children on the next level and subdirectories under the main directory can have many branches (subdirectories) as their children on the next level. The maximum number of hierarchy levels for directories is eight. The DIR command displays the list of files in the current directory.
In order to store all related files in a separate folder or subdirectory, the user creates many different subdirectories. To create a subdirectory use the CREATE command followed by a "/," "DIR," then the directory name followed by the subdirectory's name. For example:
$ create/dir [.first]
This command creates an entry in the main directory called first.dir. The following command can help the user to work and move around the file structure (directory and subdirectory) on VAX/VMS.
$ show default
It will show the current directory.$ set default [.first]
It will set the default directory to first, which is a subdirectory of the main directory. If the user types DIR, the user will see all files in the current directory (first).$ set default [-]
It will move the user up one level from the current directory.$ set default [--]
It will move the user up two levels from the current directory.$ set default [userid]
It will move the user up to the main directory.File Protection:
VAX/VMS provides the user with an extensive protection system. In order for a user to access a particular file, the user's User Identification Codes (UIC) will go through a series of tests and evaluations to determine the user's eligibility to access the file. In this system, the user has the option of granting access privileges to a group, the world, the system and the owner. In addition, the user has the option to take away granted privileges from other users or to restrict access to files. The four categories of protection are:
System (s) It is for anyone with system privilege.
Owner (o) It is only for the owner of the account.
Group (g) It is for anyone having the same group part of UIC as you.
World (w) It is for everybody, including the owner.For each category, there are four kinds of file accesses and the user can use the "set" command followed by "protection" to grant all or some of them.
Read (r) It allows other users to read the contents of the file.
Write (w) It allows other users to write to the contents of the file.
Execute (e) It allows other users to run the file.
Delete (d) It allows other users to delete the file.For example, to reward privilege of read/write/execute/delete to yourself and a group, type:
$ set protection=(O:rwed, G:rwed)
To grant privilege of read and execute to everybody in the world, type:
$ set protection=(W:re)To check the file's protection, type:
$ dir/prot filename.ext
When the user creates a new file, most systems will reward all protection options (rwed) to the system and owner by default.
Electronic Mail:
The electronic MAIL utility (e-mail) allows you to send mail messages to other users on VAX/VMS. To enter the MAIL utility, log onto VAX/VMS and at the "$" prompt, type:
The system will respond with "MAIL>" to indicate that you are in the MAIL utility's environment.
E-mail Addresses:
The e-mail address is your VAX/VMS username. The username could be up to 12 characters total. Older usernames start with two zeros, the first letters of the user's first name and the user's middle initial followed by the user's last name (00bjnasseh), but newer usernames are in the format of first initial, middle initial and then the last name (mknasseh1) with "1" added at the end if there is a duplicate name.User Internet email addresses are in the form of the VMS username followed by "@bsvc.bsu.edu" or even just simply "@bsu.edu."
SEND Command:
The SEND command allows you to send a message or a file to another user.
To send a message to someone on campus, follow the following process:
After activating the mail utility by typing "mail" at the "$" prompt, type "send" at the "mail>" prompt. Then type the e-mail address of the receiver at the "To" prompt before typing the message. When you have completed your message, you can send message to receiver by hitting CTRL/Z or terminate the process by hitting CTRL/C.The following are examples of sending messages:
MAIL> send
To: 00b0nasseh
Subj: Internet Service Provider
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
To send a message to someone OFF campus, such as to an Internet address, you follow the same process for on-campus, but type the receiver's Internet e-mail address (00b0nasseh@bsu.edu).MAIL> send
To: 00b0nasseh@bsu.edu
Subj: Internet Service Provider
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit.
It is good idea to use an editor if you are sending a long message. In order to use an editor for typing a message, type the following at the "mail>" prompt:MAIL> send/ed
To: 00b0nasseh@bsu.edu
Subj: text editorThis command will provide you a screen mode environment for typing and editing your message and information.
Sending Files via E-mail:
To mail an existing ASCII file from your VAX file directory, include the file name with the SEND command. For example:MAIL> send service.fil
To: 00b0nasseh
Subj: Internet Service ProviderTo mail an existing file from a subdirectory, include the subdirectory name and the file name with the SEND command. Non-ASCII (non-text) files such as files with the extensions of .DIR, .EXE, .MAI, .JOU, .OBJ and .WPL cannot be sent through VMS mail successfully. The default email utility on VAX/VMS is a text-only medium. The most common method for sending non-ASCII files is to use FTP.
READ Command:
VAX/VMS will notify you when you have received new mail. If you have new mail, you will receive a "You have new mail" message when you log on to your account. If you receive new mail while already logged onto VAX/VMS, MAIL will signal you by displaying a message.If you enter MAIL, you will see a brief directory list of all new messages. You can read the messages by pressing the ENTER key or by typing the sequence number of each message from the brief directory listing. You can also type the following command to read all of your new messages:
MAIL> READ/NEW
REPLY Command:
When you are reading a message and want to respond to it, enter the REPLY command at the MAIL> prompt and press RETURN. MAIL will automatically display the header information as follows:MAIL> REPLY
To: BSUVC::00b0nasseh
Subject: Re: ISP documentation
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:FORWARD Command:
When reading a message, you can forward a copy of that message to another user by entering the FORWARD command. For example:MAIL> FORWARD
To: mknasseh
Subj: FYI...
A copy of the message will automatically be sent when you press RETURN after the Subj: line.DIR Command:
When you want to see a list of all mail messages that you have collected, enter the DIR command at the "mail>" prompt and press RETURN to see a list of the collected messages. To read one of the messages from the listing, type the sequence number of the message and press RETURN. For example, to read the message number 44, type:MAIL> 44
Message #44 will appear on the screen.EXTRACT Command:
Use the EXTRACT command to save (copy) a mail message from MAIL to a file in your VAX area. Enter EXTRACT while you are reading the message and press RETURN. The MAIL utility will prompt you for a name for the file that you want to create. Type the file name and press RETURN. For example, to save current message as "service.fil."MAIL> EXTRACT
_File: service.fil
%MAIL-I-CREATED, BSU$USER:[00b0nasseh]service.fil;1 created.The command EXT/NOH (extract/noheader) lets you extract the contents of the mail message without the mail header.
DELETE and COMPRESS Commands:
When you want to remove a message, use the DELETE command. You can enter the DELETE (also DEL or just D) command while you are reading the message.COMPRESS is a command that reclaims space that is used by previously deleted messages. For example:
MAIL> COMPRESS
Several messages will be displayed on the screen before the MAIL> prompt returns. After compressing, EXIT from MAIL and delete a file entitled MAIL.OLD (which was created by the COMPRESS process) by typing "DEL mail.old;1" at the "$" prompt (DCL command).
WARNING: NEVER attempt to edit or delete your MAIL.MAI file.PRINT Mail Message:
To print a mail message, type the print command while reading any part of the mail message that you want to print. When you EXIT from MAIL, the message will be printed by the printer that you indicated in your print command.DISTRIBUTION LIST:
If you frequently send mail to the same group of users, you might want to use a distribution list. A distribution list is a file containing the usernames of those to whom you send messages. Use the DCL command ED or CREATE to create a distribution list file with the file extension "DIS." In this file, you can enter the usernames of people you want to send e-mail messages. For example, to create the "family.dis" file at the "$" prompt, type:$ CREATE family.dis
00kjnasseh
00tlnasseh
00spnassehThen press CTRL Z to close the file and save it.
To use the distribution list, type its filename preceded by the "@" symbol at the "To:" prompt. For example:MAIL> send
To: @family
Subj: vacationFINGER Utility:
If you don't know someone's exact username, you can use the FINGER utility to find it. For example, if you would want to find the username for Smith on the VAX cluster, type the following at the $ prompt:$ finger smith
The system will respond with all occurrances of the string "smith" in the existing list of users with VAX accounts. You can use the wildcard "*" for names that you are not sure such as finger "nass*."
Text Editor:
The user can work with the EDT text editor to create a new file or manipulate an existing file in a line mode or screen mode. In screen mode, the user can move cursor around the screen in order to change and add to the content of the file. To activate the editor at the "$" prompt, type "EDT" followed by the name of the file. When system-prompted with "*," type "c" in order to change to full-screen editing. If the file already exists, the system will display the content of the file on the screen. If the name does not exist (new file), the system will provide you with a blank screen to type in the content line by line. At the end of each line press the ENTER key for a new line. When finished, the user can save the content of the file with the "Ctrl-Z" key combination or by typing "exit." To exit the editor without saving the current changes, type "quit" at the "*" prompt. For example, the following is a process to create a text file (first.txt) with the EDT text editor:$ EDT first.txt
*c
type the data or
text file, then press
Ctrl-Z keys
*exit
It will save a new file first.txt;1 in the current directory.Some Useful Commands:
The following are some commands and utility programs that are a part of common sessions on a VAX/VMS system.
Create Command:
The create command is another way to create a file on VAX/VMS. It is effective for the creation of a small file, because it does not have editing features like EVE or EDT. For example:
$ create note.fil
type line by line content of file,
use the Ctrl-Z key combination to finish the file and
return to $ prompt.Type Command:
The type command displays the content of a file or a group of files on the screen. The user can use the "page" qualifier in order to display the content of the file one page at a time on the screen. The user can press the RETURN key in order to continue one page to the next page. The user can terminate the display of the file content by entering the Ctrl-Y and Ctrl-C key combinations. Some common type commands are:
$ type note.fil
$ type/page long.fil
$ type *.dat
The wild card "*" will display all the files with the extension ".dat" in the current directory.
Copy Command:
The user can create a new file from an existing file by using the "copy" command. The user can also copy more than one file into a single file. Some common copy commands are:
$ copy first.fil second.fil
It copies the content of "first.fil" into a new file called "second.fil."$ copy first.fil,second.fil third.fil
It copies the content of "first.fil" and "second.fil" into a new file called "third.fil."$ copy *.dat backup.dat
It copies all files with the extension ".dat" into a new file called "backup.dat."If the existing file or destination file is in a different subdirectory, then teh user should indicate the subdirectory's name. For example:
$ copy first.fil [.research] second.fil
It copies "first.fil" to a new file called "second.fil" in the subdirectory "research."To copy a file from another user, the file should first be read (r) protected for group or world. Then the user should provide the address of the device, userid and subdirectory in order for another user to make a copy of the file. For example:
$ copy bsu$user_3:[00b0nasseh.research]third.fil *.*
The second user is making a copy of a file (third.fil) with the same name in his/her main directory from the first user's (00b0nasseh) subdirectory (research).Delete Command:
The delete command will delete a single file or a group of files from the user's directory or subdirectory. With this command, the user should indicate the version number with the name and extension of the file or files. Usually VAX/VMS asks the user for confirmation before deleting any file.
$ delete first.fil;1
$ delete *.dat;4
$ delete *.fil;*
Rename Command:
The user can change the file name, extension and version number with the rename command. The user should have a good reason to change a file extension because some extensions have special meanings to the user or the system like ".for," ".cob" and ".com."
$ rename first.fil resume.doc
$ rename first.fil;102 resume.doc;1
The following are some other useful commands and utilities of VAX/VMS.
Finger To find information about other users.
Gopher To access information on the Internet through gopher.
Phone To invoke the VAX/VMS phone utility.
Set host To login more than one, or to log onto a specific node (machine) on the cluster. It creates a new process.
Set term/device=vtxx To change the terminal type. For example: set term/device=vt100.
Show que/all To show the status of the queue.
Show quo To show the disk space (quota).
Submit filename To submit a file in batch mode and to accomplish a task that is independent from the current session.
Show cluster To display information about the cluster.
Show printer device-name To display the current setting for the printer.Help:
The VAX/VMS system has a help file with numerous topics and subtopics. To access the help file, type:
$ help
The system will display a list of help topics and prompts the user with:Topic?
If the user enters the topic's name, the system will display a description of the topic and a list of subtopics related to the topic.Subtopic?
The user can type the name of a subtopic in order to receive more information. Most topics and subtopics have some examples, which can help show users how to use and benefit from the commands and options.The user can press the ENTER key to move up from a subtopic to a topic. Pressing the ENTER key again will move back from the subtopic prompt to the "$" prompt.
Students in this class will learn more about VAX/VMS and will gain some practical experience with two Lab assignments and a group presentation.
[Return to chapter listing]