• Aucun résultat trouvé

TIME AND FUNDS LIMITS

Dans le document The Michigan Terminal System (Page 26-29)

USERIDS, LIMITS, AND SIGFILES

TIME AND FUNDS LIMITS

The computer resources used by a userID can be limited at three levels: in the accounting record, in an individual batch job or terminal session, and in the execution of individual programs within a batch job or terminal session.

In the accounting record, each userID normally has at least three limits: funds, file space, and an expiration time and date. Other limitations (e.g., prohibiting terminal use) may be requested. MTS is designed to prevent the user from overdrawing his or her account. The funds limit is checked when the user attempts to sign on. If the balance is zero or negative, the signon is not allowed. If the balance is positive, and the job is a batch job, the system checks to ensure that the remaining balance is sufficient to cover the CPU time specified on the SIGNON command; if the balance is insufficient, the job is not run. For each terminal session, the system simply stops when the user runs out of money.

At the individual session level, the user may specify aglobal CPU time limitin seconds as part of the SIGNON command, e.g.,

SIGNON WXYZ T=10

If the global time limit is exceeded on a batch job, the message Global time limit exceeded [at xxxxxxxx]

is printed and the job is terminated (the location “xxxxxxxx” is printed only if the interrupt occurred while a program was executing). If the global time limit is exceeded on a terminal job, the above message is printed and the user is prompted for permission to continue what was interrupted or to return to MTS command mode. From this point, the job is continued without a global time limit.

The system also sets a funds-depletion time limit on the SIGNON command which is anestimateof the amount of CPU time needed to expend the remainder of the money allotted to the account. When this time limit is exceeded, the system recomputes the balance of funds. If the balance is still positive, a new time limit is set and the job is continued. If the balance is negative, the following message is printed:

You have run out of money [at xxxxxxxx]

(the location “xxxxxxxx” is printed only if the interrupt occurred while a program was executing). The current balance of funds is printed and the user is prompted to continue whatever was interrupted or to return to MTS command mode. The user is then given a new time limit of 3 seconds. Thereafter, at 3-second (CPU time) intervals, the warning is repeated.

Warning:The system will not prevent the user’s account from accumulating a deficit balance and will not force the user to terminate the session. If the initial estimate by the system of the CPU time needed to deplete the remaining balance of funds is inaccurate (due to the type of computing being performed by the user’s job) or if another person is concurrently signed onto the same account and is expending funds, the deficit incurred may be substantial. Rebates will not be granted because the system fails to prevent an account from being overdrawn.

At the individual program-execution level, the system imposes no time limits; however the user can specify alocal CPU time limiton any RUN, RERUN, LOAD, DEBUG, RESTART, or START command to limit the execution time of the program, e.g.,

RUN *TEX T=5

sets a local time limit of 5 CPU seconds for the executing program. If no local limit is specified, program-execution times are limited only by the remaining portion of the global limit. For aterminal session, if no explicit global or local time limit is set, the only limit is the remaining money in the user’s account. Therefore, it isstrongly advisedthat users specify explicit global or local time limits.

Since it is inconvenient to enter a local time limit on every RUN, RERUN, etc., command, the SET TIME=n command allows the user to establish a default local time limit. The value specified becomes the default local time limit until another SET TIME=n command is entered or until the user signs off.

Users must remember to SET TIME=n for every batch or terminal job if they want a default local time limit (this may be easily done using a sigfile). An explicit local time limit presented on the RUN, etc., command always overrides the default value. Whenever a local limit is reached, program execution is interrupted and a message of the form

Local time limit exceeded [at xxxxxxxx]

is printed. The user can restart execution by using the RESTART command. The user should specify a new local time limit on the RESTART command if the default value is inappropriate, .e.g.,

RESTART T=3

A warning message of the form

WARNING: Program being run with no local time limit.

is printed if the RESTART command is given without a local time limit when a previous local time limit was in effect.

A global time limit takes precedence over a local time limit only if the local limit is greater than the global limit.

Some programs cannot be restarted if they are interrupted because a time limit has been reached.

Such programs (e.g., *WATFIV and *PLC) may establish an internal time limit that is smaller than the one the user specified; if the internal limit is reached, program execution is interrupted so that a meaningful dump can be produced.

The user can determine the cost of the session at any time by entering the command DISPLAY COST

The user can also determine, after each MTS command, the incremental and total cost of the session by issuing the command

SET COST=ON

Similar information is available for the execution of programs by using the SET command options EBM and ETM.

The user may specify either a global or local plot-time limit for either a batch or terminal job. A global plot-time limit may be specified on the SIGNON command in the form

SIGNON WXYZ PT={t | tM}

and a local plot-time limit may be specified in the same form on the RUN, RERUN, START, RESTART, LOAD, or DEBUG commands. If given in the form “t”, the limit is in seconds; if given in the form “tM”, the limit is in minutes. If a global plot-time limit is exceeded, the plot job is automatically terminated;

if a local plot-time limit is exceeded, the executing program is terminated. The default global and local plot-time limits are none which means that the plot-time limit is unrestricted.

Dans le document The Michigan Terminal System (Page 26-29)