03/12/84 ed_installation_parms Syntax: ed_installation_parms {path} Function: edits installation_parms and rate_structure segments. Normally, the segments edited should be those in the directory >system_control_1. Arguments: path is the pathname of an installation_parms segment. If path is not given, a segment named installation_parms in the working directory is edited. The segment is created if it does not already exist. If the installation_parms segment defines multiple rate_structures, then segments named rate_structure_N (where N is a digit in the range 1 through 9) in the same directory as installation_parms are edited. Editor requests allow the user to switch between installation_parms and the rate_structure segments within one invocation of the editor. The entire set of segments is edited as a single unit in order to maintain consistency among them. All editing is done with temporary copies of these segments; the actual segments are updated only by the "w" request described below. Notes: After this command is invoked, the editor enters its main request loop, and prompts the user with the message "type". To return to this request loop from any editor query, press the QUIT key and invoke the "program_interrupt" command. Certain operations of the editor are defined as critical, as they may require updating many interdependent fields. If the user attempts to return to the request loop using QUIT and program_interrupt when such an operation is taking place, the editor asks the user to confirm the abandonment of the operation. The user may elect to restart the interrupted operation. After an abandonment, it may be necessary to retype a number of tables, or quit the editor and redo the editing. If the user is editing multiple rate_structures, then the following notes apply. When editing any segment except installation_parms, the user is said to be editing a rate_structure, and is limited in the operations which may be performed. In general, it is possible to change the pricing information of the rate_structure, but not values (such as device names) that affect all rate_structures. In addition, there are items specific to installation_parms that cannot be accessed while editing a rate_structure. See "Notes on keywords for rate structure" for details. Some of the requests accept keywords. If the keyword is not given with the request, the system prompts with the message "id"; the system administrator then responds with one of the keywords described below. At this point, the system either prints out the current value of the item or prompts for a new value. All requests, keywords, and values can be typed ahead, avoiding the prompting messages. In several cases, certain typed ahead values alter the operation of the request, causing it to operate on a subset of the data that it normally operates on. List of edit requests: add XX, a XX adds new items to the entry specified by the XX keyword. This request may only be used for device_prices, config_table, rate structure_names, and resources entries. change XX, c XX allows an entry, or a portion of an entry, specified by the XX keyword to have its value changed. copy prompts for an existing rate structure name and copies pricing information from that rate_structure to the one being edited. default sets all entries in the installation_parms segment to default values. Requests of the form _default (e.g., mr10.0_default) are also provided, with any release in which new parameters have been added to installation_parms, to initialize just the new parameters. See the installation instructions for the release for more information. When specified while editing a rate_structure, the default request causes pricing information from the rate_structure named "default" (the one in installation_parms) to be copied to the rate_structure being edited. help {long}, h {long} prints a summary of available requests and keywords. Normally, only the primary name of each keyword is printed. If the long argument is given, then the keyword abbreviations are also printed. print XX, p XX prints the entry specified by the XX keyword. retype XX, r XX allows all portions of an entry specified by the XX keyword to be replaced. w writes the changes that have been made back into the input segments; all editing is done on temporary copies. q quits from editor. Must be preceded by a "w" request to save changes. rate_structure {RS}, rates {RS} specifies that subsequent editor requests are to affect the pricing information of the rate_structure RS. The installation_parms segment is referred to as rate_structure "default". The site may change this or any rate structure name. The single character RS "." always refers to installation_parms, even if the name has been changed from "default". To return to editing installation_parms, type the request: "rate_structure .". If RS is omitted, the name of the current rate structure is printed. verify, v performs certain verifications of the integrity of the installation_parms and rate_structure_N segments. Most checks are designed to detect inconsistencies between installation_parms and rate_structure segments. If -force, -fc, force, or fc is typed on the same line as the verify request, ed_installation_parms forces table consistency, zeroing prices for affected entries. The user is notified of each such alteration. List of keywords: abs_cpu_default_limit, abscpudf selects the default absentee CPU time limit (in seconds), for each queue. Default limits are used when no time limit is specified by the user who enters a job in one of the background absentee queues. abs_cpu_max_limit, abscpumx selects the maximum absentee CPU time limit (in seconds), for each queue and shift. These limits allow jobs with high CPU time limits (either specified by the user or set by the abs_cpu_default_limit parameter) to be run during lightly-loaded shifts, by specifying the longest-running jobs from each queue that will be permitted to log in during each shift. abs_default_queue, absdfq selects the default absentee queue for submission of jobs by the enter_abs_request, pl1_abs, etc. commands. This parameter can have a value in the range 1 to 4 (the default is 3 unless changed by the system administrator). abs_timax selects the absentee timax per queue (in microseconds). abs_queue_parameters, abs_ is the same as selecting all of the keywords abs_cpu_default_limit, abs_cpu_max_limit, abs_default_queue, and abs_timax. access_ceiling, acce selects the maximum sensitivity level that may be used, and all categories that may be used. Categories are specified by an octal string, levels by a decimal digit. all selects every entry. This keyword may only be used with the print or retype requests. all_structures selects every entry of installation_parms and every rate_structure. This keyword has the effect of "all" for installation_parms, and "rates" for all rate_structures. ARPANET_host_number, ARPA selects the Advanced Research Projects Agency Network (ARPANet) host address. A value of -1 means the installation is not attached to the ARPANet. authentication, auth selects the default level of security for volume authentication under RCP Resource Management. See "Notes on volume authentication" below. auto_registration, auto selects the automatic volume registration set by RCP. The value can be "on" or "off" (off is the default). Automatic registration of an unregistered volume is performed when the operator allows a user to mount the volume. The volume is registered, with default attributes, to the user requesting the volume. This keyword may only be used with the change, print, or retype requests. category_names, cate selects the short (up to eight characters) and long (up to 32 characters) names for up to 18 access categories. Embedded blanks are allowed in long names only. Category names may not be blank. config_table, conf selects the elements of the configuration table which consist of 9 decimal numbers, in the order: CPU mem bulk shift min max base absu absq See "Notes on config table" below. All 9 parameters must be entered for the retype, add, or change requests in the order shown above. Each parameter is prompted for or the prompting may be avoided by typing all nine parameters of the element in response to the prompt for the first one (CPUs). cwe_count, cwec selects the count parameter of the terminal channel wakeup loop detector. If a user causes more than cwe_count interactions within cwe_time while logging in, the channel is hung up. An interaction occurs every time the Answering Service is notified of an event for the terminal channel. The number of interactions perceived by the Answering Service is typically the same as the number of input lines (terminated by a newline) entered by the user. The default value for this parameter is 10. See "Notes on wakeups" below. cwe_time, cwet selects the time parameter of the channel wakeup error loop detector in seconds. Default time is 3 seconds. See also the description of cwe_count. device_prices, devi selects the names and prices (dollars per hour, for each shift) for each of up to 16 miscellaneous devices (teletype channels, tapes, high-speed channels, etc.). For the print request, if the name of a device is typed ahead on the input line after the device_prices keyword, the prices for that device are printed; otherwise the prices of all devices are printed. For the retype request, the name of each device is typed and new prices are requested for all shifts. device_names, devname, devn selects the names of the miscellaneous devices. Allows changing the name of an existing device or printing the names of all the defined devices. Changing a device name to devN, where N is a number from 1 to 16 indicating the location of the device in the table, has the effect of deleting the device, since unused device table locations contain names of that form. If a deleted device is the last one in the list, the list is shortened by one. Charging for certain devices is built into the system. These devices must be defined in the device table, with their names spelled exactly as the system expects to find them. These devices are defined automatically by the "default" request. A warning message is printed by the "print device_prices" and "print devnames" requests for any of these devices that is not defined. devices, device selects the names and prices (dollars per hour, for each shift) for each of up to 16 miscellaneous devices. For the print request, if the name of a device is typed ahead on the input line after the devices keyword, the prices for that device are printed; otherwise the names and prices of all devices are printed. For the retype request, the user can enter new prices for the system defined devices, and enter a new set of site-defined device names and prices. For the add request, it allows the user to define a new device. foreground_cpu_default_limit, fgcpudf selects the default CPU time limit (in seconds) for the foreground absentee queue. This limit is used when no time limit is specified by the user who enters a job in the foreground absentee queue. fpe_count, fpecount, fpec selects the count parameter of the fatal process error loop detector. Default is 3. If interactive users get fpe_count fatal process errors within fpe_time, they are logged out. fpe_time, fpetime, fpet selects the time parameter of the fatal process error loop detector. Default is 1 minute. idle_time_constant, idle selects the time over which the moving average of foreground load is taken, for use in adjusting maximum background absentee users (abs_maxu). Default is 15 minutes. inactive_time, inac selects the number of real-time seconds a process may remain blocked before being bumped for inactivity. installation_id, inst selects the installation name, city, and state (maximum of 32 characters). level_names, leve selects the short (up to 8 characters) and long (up to 32 characters) names for up to eight sensitivity levels. Embedded blanks are allowed in long names only; "." means leave name blank (level 0 only). log_parameters, log_ selects the number of pages (1 to 63) to which ring 0 syserr log may grow before being copied. A value of -1 means disable automatic copying; 0 means use default value. login_time, logi selects the number of real-time seconds in which login must be completed. max_abs selects the per-shift upper limit in the abs_maxu equation. See "Notes on shift and queue specification" below. max_qres selects the per-shift and per-queue upper limit in the qres equation. See "Notes on shift and queue specification" below. min_abs selects the per-shift lower limit in the abs_maxu equation. See "Notes on shift and queue specification" below. min_qres selects the per-shift and per-queue lower limit in the qres equation. See "Notes on shift and queue specification" below. pct_abs selects the percentage of idle units to be made available to background absentee jobs. Used in the abs_maxu equation. See "Notes on shift and queue specification" below. pct_qres selects the percentage of absentee slots to be reserved for each queue. Used in the qres equation. See "Notes on shift and queue specification" below. prices selects the prices of disk storage (per page-second or page-30-days), per-month registration, and per-shift prices of CPU time (dollars/virtual CPU hour), connect time (real hours), terminal I/O operations (kilo lines), and memory usage (kilo memory units). The change request allows the user to specify a shift and set the CPU, connect time, terminal I/O, and memory prices. The retype request asks for the disk and registration prices, and then optionally asks for all other prices for each shift. queue_prices selects the prices for absentee virtual CPU time (dollars/virtual CPU hour), absentee memory usage (dollars/kilo memory unit), and I/O daemon usage (dollars/kilo lines), for up to four queues. rate_structure_names, rate_structure_name, rsn allows changing the name of a rate_structure, printing the names of the defined rate structures, or adding a rate_structure. rates selects all pricing fields: device_prices, prices, queue_prices, resource_prices. resources, resource selects the names and prices of resources for which users are to be charged. For the print request, if the name of a resource is typed ahead on the input line after the resources keyword, the price for that resource is printed; otherwise the names and prices of all resources are printed. For the retype request, allows the user to re-enter all resource names and prices. For the add request, allows the user to define a new resource. resource_prices, reso selects the names and prices of resources for which users are to be charged. The resource price list is currently used only for charging for special forms in I/O daemon requests. For the print request, if the name of a resource price is typed directly after the resource_price keyword, that price is printed; otherwise all the prices are printed. For the retype request, the name of each resource is typed and a new price is requested. resource_names, rscname, rscn selects the name of an existing entry in the resource price list. Allows changing the name of an existing resource. resource_wait_time, rsctime, rsct selects the time interval at which to keep checking for resource availability when an absentee job is waiting for a resource and there are no other jobs logging in or out. Default is 5 minutes. rsc_mgmt_enabled, rsc_ controls activation of the RCP Resource Management subsystem. The string "on" sets the flag on. Initially this flag is off; it should not be turned off again once it has been turned on. This keyword may only be used with the change, print, or retype requests. shift_table, shif selects the shifts for each half-hour of the week. Shifts are numbered 0 to 7. By default, the change request changes the shift of a single half hour, specified by day, hour, and half hour. If the word "thru" is typed ahead on the input line after the first half hour, then a second day, hour and half hour are read, and all half hours from the first through the second are set to the specified shift. sus_cpu_time, susc selects the CPU time limit imposed on a suspended process. The default is 5 seconds. The default handler for the sus_ signal in a user process goes blocked and waits to be released. If the process fails to respond in this way and continues running, it is destroyed after it has used the specified amount of CPU time (after the sus_ signal is sent). sus_real_time, susr selects the real time limit imposed on a suspended process. The default is 180 seconds. Before going blocked, a suspended process sends a wakeup to the answering service, specifying the event channel on which it is about to go blocked, and over which it can be released. If the process fails to respond in this way within the specified interval of real time, it is destroyed. titles selects the company name and department name single-spaced (maximum of 64 characters) and double-spaced (maximum of 120 characters). tries selects the number of login tries allowed before Multics hangs up. trm_cpu_time, trmcputime, trmc selects the CPU time limit imposed on a process that is being terminated and has been sent a trm_ signal. Default is 5 seconds. A process being terminated involuntarily by the answering service (e.g., by the bump command), as opposed to a process that terminates itself voluntarily (e.g., by the logout command), is sent a trm_ signal, and is given a small amount of time to terminate itself. The default handler for trm_ signals the finish condition in the user's process. trm_real_time, trmrealtime, trmr selects the real time limit imposed on a process that has been sent a trm_ signal. Default is 120 seconds. unload_on_detach, unlo controls whether detached volumes are unloaded automatically. The string "on" sets the flag on; "off" is the default. When the flag is off, a detached volume remains on its drive until the drive is needed for another volume. This flag has no effect when the user specifies "-retain all" in the attach description of the volume being detached. This keyword may only be used with the change, print, or retype requests. update_time, upda selects the number of real-time seconds between accounting updates. warning_time, warn selects the number of real-time seconds between warning (of an automatic logout) and actual logout. This value also affects the automatic bumping of users prior to a shutdown scheduled through the operator down command. The bump is scheduled for N minutes before the time specified in the down command (where N is warning_time divided by 60, rounded up to the next whole minute). At that time, all interactive users are bumped (i.e., warned that they will be logged out in N minutes), and the login word is changed to prevent further logins. Notes on keywords for rate structure: The following keywords may be used when editing a rate_structure: all (same as "rates"), device_prices, device_names, devices, prices, queue_prices, rates, rate_structure_names, resource_prices, resource_names, and resources. Further restrictions on this set of keywords exist within some requests. For example, none of the keywords are allowed to change device or resource names when editing a rate_structure because such a change must be reflected in all rate_structures. Users must have read access to rate_structure_N segments in >sc1 when multiple rate_structures are in effect. In addition, all daemons that charge users for services must have read access to the SAT, to determine the appropriate rate_structure for a user's project. These access settings are unnecessary when a site is using a single rate structure. List of volume authentication values: The following is a list of acceptable values for the authentication keyword: automatic authenticates volume labels via an algorithm that accepts volumes only if they are obviously correct. Does not allow manual authentications of "***" to authenticate a volume whose identity is in doubt (requires the operator to type the correct authentication code). Automatic authentication means that the system checks IBM and ANSI magnetic tape volumes for an authentication code in the tape label that matches the tape label name. Such volumes created on Multics meet this requirement. IBM and ANSI tape volumes created on other systems require manual authentication when automatic authentication is in effect. manual require operator to manually authenticate every mount request with the proper authentication code. Does not allow an authentication code of "***" to be used under any circumstances. nominal authenticate volume labels via an algorithm that rejects volumes only if they are obviously incorrect. Additionally, allow manual authentications of "***" (as an alternative to typing the correct authentication code) to authenticate a volume whose identity is in doubt. none do not authenticate volume labels on mount requests. Notes on config table: A configuration table element consists of 9 numbers, in order: CPU mem bulk shift min max base absu absq The config table is automatically sorted after an add, change, or retype operation. Duplicate elements and elements containing -1 in the CPU field are deleted by this sort. Thus, config elements can be deliberately deleted by changing the CPU field to -1. The first four parameters describe the configuration and shift, and the last 5 give the load control parameters to be used for that configuration and shift. All are decimal numbers. The CPU parameter is the number of CPUs, the mem and bulk parameters are the number of pages of main memory and bulk store, respectively, and shift is the shift number. The load control parameters min and max are only used when response control (automatic load leveling) is enabled (by the operator command maxu level). Use of this feature is not recommended, since the load leveling algorithm is unsatisfactory. Nevertheless, values for these parameters must be given when entering a config table element. The base parameter is the maximum number of load units allowed. The min, max, and base parameters may optionally contain a decimal point and a single digit fraction (tenths). The absu and absq parameters are the maximum number of background absentee users and the number of the lowest priority (highest numbered) absentee queue from which jobs are to be taken. (Note that the absu parameter is ignored if the number of background absentee users is made a function of interactive load.) Nevertheless, this parameter must always be given when entering a config table element. The print request prints the entire config table. The retype request completely replaces the entire config table. All of its elements must be entered. The add request adds a new element to the table. The automatic sort described above properly positions the new element. The change request changes one element. The first four parameters (cpu, mem, bulk, and shift) are prompted for (or they may be typed ahead). The element matching all four of those parameters (exactly) is the one changed. All nine parameters of the element must be entered. Thus, the first four parameters must be typed twice: once to locate the element to be changed, and once to give new (or possibly the same) values to those parameters. It is required that elements be in order by number of CPUs, within that by amount of main memory, within that by amount of bulk store, and within that by shift; smaller numbers first. See the MAM System Administrator manual (AK50) which details the required ordering of elements in the table, and the meaning of the parameters in each element. Notes on wakeups: The terminal channel wakeup loop detector protects the Answering Service from overload due to accidental or malicious generation of a large number of wakeups in rapid succession by devices such as intelligent terminals. If this is a problem at the site, the system administrator should establish the smallest possible ratio of cwe_count/cwe_time that still allows high-speed channel users to log in. The administrator should estimate the maximum number of wakeups which could reasonably occur in a burst. For example, a hardwired terminal might generate five wakeups in quick succession: hangup, dialup, answerback, login line, and password line. It would therefore be imprudent to set cwe_count to a value less than 5 on a system having hardwired terminals and answerback reading enabled. The value of cwe_time would be set according to the fastest channel configured at the site. Notes on shift and queue specification: Several of the keywords take per-shift or per-shift and per-queue values. By default, values for all shifts and queues are printed, or are prompted for and must be supplied. However, it is possible to specify which shifts and queues are to be changed, retyped, or printed, by using the following notation. The words "shift" or "queue" may be typed, followed by a single number or a range of numbers. If both are given, shift must precede queue. These words must appear on the same input line as the keyword. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved