• Aucun résultat trouvé

Editing the Program Description Menu

Dans le document Host System (Page 61-65)

Each program in a system (except the kernel, the shareable run-time li-brary images, and the. autoloaded device drivers) must have a program description. If you select the Edit Program Descriptions entry on the Main Menu, the System Builder displays the names of programs for which descriptions exist. Each program in the list is a VAXELN job. Select a program and use the DO command. The System Builder displays the Program Description Menu for that program and lets you edit the pro-gram's description. If no descriptions exist, the System Builder displays an empty menu. Use the DO command to display the Program Description Menu and add a program description. Figure 3-5 shows this menu.

If you select the Add Program Description entry on the Main Menu, the System Builder displays the Program Description Menu and lets you add a program description.

The System Builder adds some program descriptions automatically. For example, if you select the File access listener entry on the Network Node Characteristics Menu, the System Builder automatically adds the entry's image (FALSERVER.EXE) with default program characteristics. These system images and descriptions do not appear in the list of programs on the Edit Program Descriptions Menu.

Figure 3-5: Program Description Menu

System SAMPLE_IMAGE - Editing Program Program Powerfailure exception Yes Argument(s) using the defaults before you change them.

Descriptions of the Program Description Menu entries follow:

• Program - Specify the name of the program image you are describ-ing. For example, if the image file is named MYDRIVER.EXE, specify MYDRIVER. If you want the system to associate different character-istics with different jobs running the program, you can describe the program more than once. For example, you might want to include two descriptions of a program so you can debug one version but not the other.

To include multiple descriptions, use the same image name in each description. The System Builder loads the image once. The different descriptions, however, apply to the different jobs created to run the image.

The System Builder distinguishes descriptions in the system map. The system map indicates any additional descriptions of a program by the program name followed by a semicolon and a number. The number 1 indicates the first additional description; for the original description, the program name does not have a suffix. You might need to specify a name with a suffix in calls to the CREATE_JOB procedure or with the debugger's CREATE JOB command.

• Debug - Select Yes if a job that runs the program is to pass control to the debugger when the job is first eligible to run. The default is No.

See Chapter 5 for details about debugging.

• Run - Select Yes if a job running the program is to be created and eligible to start when the system starts executing. The default is Yes.

• Init required - Select Yes if the program is to execute initialization code - that is, if the program calls the INITIALIZATION_DONE procedure. If several programs call this procedure, the System Builder places them in order of job priority. (The System Builder, however, gives debuggers and device drivers predetermined priorities and places them accordingly.) The default is No.

• Mode - Select Kernel if the program is a device driver (programs calling CREATE_DEVICE) or if the program uses routines that require kernel mode, for example, the ALLOCATE_MAP, MFPR, MTPR, and FREE_MAP routines. Select User mode (the default) if the program does not require kernel mode.

• User stack (initial) - Specify an integer in the range 1 to 32767 to indicate an initial stack size for user-mode calls to user-defined procedures and to most predeclared procedures. The default is 1.

The kernel extends the stack as needed while a job executes. User mode programs run off the user stack except when they call kernel procedures or change to kernel mode.

• Kernel stack - Specify an integer in the range 1 to 32767 to indicate the stack size for programs that run in user mode and call kernel procedures or that run in kernel mode. The default is 1. However, most kernel-mode programs require more than one page. The kernel does not extend the kernel stack automatically. If a program attempts to use too much of the kernel stack, the process receives an exception.

You can avoid the exception by using the ALLOCATE_STACK kernel service.

• Job priority - Specify an integer in the range 0 to 31 to indicate the program's job priority. The highest priority is 0, the lowest priority is 31, and the default is 16. Try running the program with the default priority. If necessary, change the priority to optimize the system's

NOTE

Certain system jobs and drivers run at low priority. For example, the remote debugger runs at priority 3 and the Ethernet driver at priority 1. Assigning a job a higher priority than these system jobs and drivers may affect the system adversely. For example, the remote debugger will not get control.

• Process priority - Specify an integer in the range 0 to 15 to indicate the program's process priority. The highest priority is 0, the lowest priority is 15, and the default is 8. The process priority is the initial priority of the master process and the subprocesses it creates. Try running the program with the default priority. If necessary, change the priority to optimize the system's performance.

• Job port message limit - Specify an integer in the range 0 to 16384 to indicate the maximum number of messages that can be queued to the job's port without generating a wait or an error. The default is 16384.

• Powerfailure exception - Select Yes if the program is to receive the exception KER$_POWER_SIGNAL when the processor restarts after a power failure. Assign this exception to programs that will establish an exception handler for KER$_POWER_SIGNAL. This type of handler lets you take general, systemwide action when power fails;

for example, it lets you reset the system time. Device drivers generally .need to handle power recovery with interrupt service routines. This

use of interrupt service routines is not affected by your selection of this program description. The default is No.

• Argument(s) - Specify the program's arguments. Program arguments are strings. If an argument includes embedded spaces, enclose the ar-gument in quotation marks (for example, "my arg"). Separate multiple arguments with commas. The requirements for and the meaning of program arguments depend on the program. For example, device driver programs generally require arguments that supply names for the devices they are to control.

The most frequently used argument is a file specification used to redirect terminal input or output to a file or a device other than the controlling terminal. The first three program arguments provide equivalence strings for the reserved file specifications SYS$INPUT:, SYS$OUTPUT:, and SYS$ERROR:. These file specifications redirect terminal input, terminal output, and error message output, respec-tively. You can omit the equivalence string for one of these file specifications by specifying a null program argument in that argu-ment's position. If you specify a null program argument, the argument

defaults to CONSOLE:. You can also use this method of redirecting I/O with the CREATE_JOB procedure.

In EP ASCAL, the program arguments associated with the predeclared file variables INPUT and OUTPUT are associated with SYS$INPUT:

and SYS$OUTPUT:, respectively. The order in which you spec-ify INPUT and OUTPUT does not matter. There is no default for SYS$ERROR: in EP ASCAL. (See the V AXELN Pascal Language Reference Manual) for more information about I/O redirection in EPASCAL.

NOTE

Redirecting terminal I/O in a mixed-language application, in which terminal I/O is performed from more than one language, is unsupported.

If you enter more arguments than fit on the screen, the argument display scrolls to the left. Use the Left Arrow ( +- ) and Right Arrow

(~) keys to scroll the argument list. Use control commands to move around the argument list, delete arguments, or clear the screen (see Section 3.4).

Dans le document Host System (Page 61-65)