1 02/27/84  ed_mgt
  2 
  3 Syntax:  ed_mgt {path}
  4 
  5 
  6 Function:  allows the system administrator to edit a copy of the master
  7 group table (MGT).  The MGT defines work classes and load control
  8 groups, which determine the number of users from each group that are
  9 permitted to log in, and the percentage of system resources that they
 10 are allocated while logged in.  A complete discussion of load control
 11 groups and work classes is found in Section 5 of MAM -- System
 12 Administrator Manual, Order No. AK50.
 13 
 14 
 15 Arguments:
 16 path
 17    is the pathname of the copy of the MGT to be edited.  If the
 18    pathname is not given, the default is the segment MGT.mgt, in the
 19    working directory.  If the segment does not exist, it is created and
 20    initialized.  (The suffix, mgt, is not assumed, or required, by
 21    ed_mgt -- the MGT to be edited may have any name.  However, the
 22    suffix is required by the install command.)
 23 
 24 
 25 Notes: Normal practice is to edit the MGT.mgt segment in
 26 >udd>SysAdmin>admin and then install it, using the install command.
 27 The install command merges it with the system copy in the >sc1
 28 directory, preserving the current load figures in the system copy.
 29 The system copy of the MGT should never be edited directly.  (The
 30 load_ctl_status command may be used to display the contents of the
 31 system copy.)
 32 
 33 
 34 The MGT consists of a header and an array of entries.  The first 16 are
 35 always work classes 1 through 16; the rest are site-defined load
 36 control groups.  Some requests operate on only one of these two entry
 37 types; others operate on both types.  There is a conceptual pointer
 38 that always points to one of the entries.  There are several requests
 39 that move this pointer.  Some requests operate only on the entry
 40 specified by the pointer; others operate on all entries of one of the
 41 types, or on all entries in the MGT.
 42 
 43 
 44 Requests that operate on more than one entry do not move the pointer.
 45 Requests that do move the pointer print the type and name of the entry
 46 to which it is moved (unless there are further requests on the line
 47 after the one that moved the pointer).  When ed_mgt is entered, the
 48 pointer is set to the first load control group (the 17th entry).  If
 49 there are no groups (which is the case if the MGT did not exist), then
 50 ed_mgt prompts the user for the name and parameters of a group to add.
 51 
 52 
 53 List of requests:
 54 find entry, f entry
 55    moves the pointer to the entry (group or work class) whose name is
 56    given, and prints its type and name.  If the entry does not exist,
 57    the pointer is not moved.
 58 next, n
 59    moves the pointer to the next entry, and prints its type and name.
 60    If the pointer is already at the last entry, it remains there, and
 61    "EOF" is printed.
 62 - (minus sign)
 63    moves the pointer to the previous entry and prints its type and
 64    name.  If the pointer is already at the first entry, it remains
 65    there, and "TOP" is printed.
 66 top, t
 67    moves the pointer to the first entry and prints its type and name.
 68 
 69 
 70 add group constant work_class, a group constant work_class
 71    adds a new group, after the last group in the MGT.  The first
 72    argument is the group name, which can be a maximum of eight
 73    characters, and must begin with a capital letter.  The second
 74    argument is the constant in the maximum primary users equation for
 75    the new group.  (The group is allowed at least this number of
 76    primary users, on any configuration of the system.)  The third
 77    argument is the work class that all users in this group (both
 78    interactive and absentee) are assigned to, on all defined shifts.
 79    After the group has been added, the change request can be used to
 80    modify its parameters or add new ones.
 81 
 82 
 83    The pointer is set to the new group.  If the group already exists, a
 84    message to that effect is printed, and the pointer is set to the
 85    existing group.  The add request can only add groups.  Entries for
 86    the 16 possible work classes always exist, although the unused ones
 87    are marked as undefined.  The change request can be used to define
 88    an undefined work class.  An attempt to add one of the 16 work
 89    classes produces an error message, but leaves the pointer set to
 90    that work class.
 91 
 92 
 93 delete
 94    deletes the current load control group, if the current pointer
 95    points to a load control group.  If the current pointer points to a
 96    work class, an error message is printed.  See the note under the
 97    verify request regarding restrictions on deleting groups.
 98 define shift_spec {like shift_number}
 99    sets the group and work class values for the specified shifts to
100    valid, consistent values.  If the optional "like shift_number"
101    parameter is given, the values are set to the respective values from
102    the specified shift.  Otherwise, the values are set to defaults:
103    all groups are placed in work class 1; work class 1 is given 100% of
104    available virtual CPU time; its scheduling mode is set to normal;
105    and normal scheduling mode is set to percent.  If the specified
106    shifts are already defined, an error message is printed, and no
107    changes are made.
108 
109 
110 redefine shift_spec {like shift_number}
111    operates like the define request, except that it can be used to
112    change the values for a shift that is already defined.
113 undefine shift_spec
114    sets the group and work class values for the specified shifts to
115    null values, and undefines all work classes on the specified shifts.
116    It is recommended that shifts not used at the site be undefined.
117    This minimizes the output produced by the pall request and prevents
118    the verify request from printing extraneous error messages.
119 print, p
120    prints all information about the current entry.
121 
122 
123 pall type1 type2 ..., pa type1 type2 ..., p* type1 type2 ...
124    prints all information about some or all entries or the header.
125    When no type arguments are given, the default is to print all
126    information in the MGT.  Valid type arguments are;
127    total, tot
128       print header
129    group, lcg
130       print all load control groups
131    work_class, wc
132       print all work classes
133    xref, cref
134       print cross reference showing which groups are in each work
135       class, on each shift
136 
137 
138    Printing of a cross reference should only be attempted for an MGT
139    that passes the consistency tests made by the verify request.  The
140    results of a cross reference of an inconsistent MGT are
141    unpredictable.
142 
143 
144 write, w
145    writes the edited copy of the MGT back into the original.  (Editing
146    is performed on a temporary copy.)
147 quit, q
148    exits from ed_mgt.  If a write request is not issued before
149    quitting, the editing is lost, and the original copy remains
150    unchanged.
151 verify max_errors, v max_errors
152    examines the edited MGT for internal consistency and correctness,
153    and reports errors that it finds.  The max_errors argument is an
154    integer that indicates how many errors are reported before the user
155    is asked if the verify request should be continued.  This argument
156    is optional; if omitted, a default value of 5 is used.
157 
158 
159 global_change entry_type change_arguments,
160 gc entry_type change_arguments
161    allows the specified changes to be made to all groups or all defined
162    work classes.  The entry_type argument may be "group", "lcg",
163    "work_class", or "wc".  This request enters change mode, and accepts
164    a series of code-qualifier-value groups (see "Notes on change codes"
165    below.  Each change is made to all entries of the specified type
166    before the next change is processed.  Values of "."  or "*" for code
167    cause an exit from change mode and return to ed_mgt request level.
168 
169 
170 change code qualifiers values ...,
171 c code qualifiers values ...
172    The change request puts ed_mgt into change mode, in which successive
173    code-qualifier-value groups are read and processed.  A code of "."
174    or "*" causes an exit from change mode and return to ed_mgt request
175    level.  Except for the header codes (prio_sked, normal_mode, and
176    shifts), changes are made to the entry pointed to by the pointer.
177    See "Notes on change codes" below.
178 
179 
180 Notes on change codes:  The following is a summary of the
181 code-qualifier-values acceptable to the change request, grouped
182 according to the entry type to which they apply.
183 
184    Group                               Group and Work Class
185       id                                  num1
186       constant, const, con                denom1, den1
187       numerator, num                      work_class, wc
188       denominator, denom,                 absentee_max
189       max_prim, maxp, maxu, m             absentee_min
190       abs_max, abs, minamax               absentee_pct
191                                           absentee
192 
193 
194    Header                              Work Class
195       prio_sked, prio                     percent, pct, %
196       normal_mode, norm                   defined, def
197       shifts                              int_resp, ir
198                                           int_quantum, iq
199                                           resp, r
200                                           quantum, q
201 
202 There are several qualifier and value formats and many relationships
203 between the two that are common to several of the codes.  For a
204 more detailed description, see MAM -- System Administrator Manual,
205 Order No. AK50.