1 mike 1.2 // ===================================================================
2 // Title: UNIX Operating System MOF specification 2.6
3 // Filename: CIM_Unix26.mof
4 // Version: 2.6
5 // Release: 0
6 // Status: Preliminary
7 // Date: 06/12/2001
8 // ===================================================================
9 // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release cited should always be noted.
18 // ===================================================================
19 // Author: DMTF System and Devices Working Group
20 // ===================================================================
21 // - CR608, Initial Model
22 mike 1.2 // ===================================================================
23
24 #pragma locale ("en_US")
25 // ===================================================================
26 // UNIXOperatingSystem
27 // ===================================================================
28 [Description (
29 "An UNIX OperatingSystem is software/firmware that makes a "
30 "ComputerSystem's hardware usable, and implements and/or "
31 "manages the resources, file systems, processes, user "
32 "interfaces, services, ... available on the ComputerSystem. "
33 "In addition, the OperatingSystem complies with the UNIX "
34 "standard.") ]
35 class CIM_UnixOperatingSystem : CIM_OperatingSystem {
36 [Override ("FreePhysicalMemory"), Description (
37 "The amount of physical main memory, in megabytesavailable on "
38 "the system."),
39 MappingStrings {"MIF.DMTF|System Memory Settings|001.2",
40 "MIF.UNIX|Host Physical Memory|6.1"} ]
41 uint64 FreePhysicalMemory;
42 [Override ("MaxNumberOfProcesses"), Description (
43 mike 1.2 "The maximum number of process contexts thissystem can support."),
44 MappingStrings {"MIF.UNIX|Host System|5.6",
45 "MIF.DMTF|Host System|001.6",
46 "MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"} ]
47 uint32 MaxNumberOfProcesses;
48 [Override ("NumberOfProcesses"), Description (
49 "The number of process contexts loadedor running on the system."),
50 MappingStrings {"MIF.UNIX|Host System|5.5",
51 "MIF.DMTF|Host System|001.5",
52 "MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"} ]
53 uint32 NumberOfProcesses;
54 [Override ("NumberOfUsers"), Description (
55 "This attribute is the number of user sessionscurrently active "
56 "on the system."),
57 MappingStrings {"MIF.UNIX|Host System|5.4",
58 "MIF.DMTF|Host System|001.4",
59 "MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"} ]
60 uint32 NumberOfUsers;
61 [Description (
62 "A value that indicates the maximum processesthat a user can have "
63 "associate with it.") ]
64 mike 1.2 uint64 MaxProcessesPerUser;
65 };
66
67
68 // ===================================================================
69 // UnixLocalFileSystem
70 // ===================================================================
71 [Description (
72 "A class derived from LocalFileSystem that represents the Unix "
73 "file store controlled by a ComputerSystem through local means "
74 "(e.g., direct device driver access). In this case, the "
75 "file store is managed directly by the ComputerSystem "
76 "without the need for another computer to act as a "
77 "file server. This definition does not breakdown in the "
78 "case of a Clustered File System. In this scenario, the "
79 "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
80 class CIM_UnixLocalFileSystem : CIM_LocalFileSystem {
81 [Override ("CasePreserved") ]
82 boolean CasePreserved = TRUE;
83 [Override ("CompressionMethod") ]
84 string CompressionMethod = "";
85 mike 1.2 [Description ("Indicates whether a file systemis a bootable."),
86 MappingStrings {"MIF.UNIX|Host File System|10.6"} ]
87 boolean Bootable;
88 [Description (
89 "An indication if this FS is configuredto be readable and writeable or "
90 "only readable.."),
91 MappingStrings {"MIF.UNIX|Host File System|10.5"} ]
92 string AccessMode = "ReadWrite";
93 [Description (
94 "In traditional UNIX parlance these correspond to INodes."),
95 MappingStrings {"MIF.UNIX|Host File System|10.11"} ]
96 uint64 FreeSlots = 0;
97 [Description (
98 "In traditional UNIX parlance these correspond to INodes."),
99 MappingStrings {"MIF.UNIX|Host File System|10.11"} ]
100 uint64 TotalSlots = 0;
101 [Override ("FileSystemSize"), Description (
102 "The data capacity of the file system in 512 byte blocks."),
103 MappingStrings {"MIF.UNIX|Host File System|10.13",
104 "MIF.DMTF|Host FileSystem|001.14",
105 "MIF.DMTF|Partition|002.4"} ]
106 mike 1.2 uint64 FileSystemSize = 0;
107 [Override ("AvailableSpace"), Description (
108 "The free data capacity of the file system in 512 byte blocks."),
109 MappingStrings {"MIF.UNIX|Host File System|10.14"},
110 Units ("Blocks") ]
111 uint64 AvailableSpace = 0;
112 [Description (
113 "The reserve data capacity of the file systemin 512 byte blocks."),
114 MappingStrings {"MIF.UNIX|Host File System|10.15"},
115 Units ("Blocks") ]
116 uint64 ReservedCapacity = 0;
117 [Override ("FileSystemType"), Description (
118 "This property identifies the type of the filesystem."),
119 MappingStrings {"MIF.UNIX|Host File System|10.4"} ]
120 string FileSystemType;
121 };
122
123
124 // ===================================================================
125 // UnixProcess
126 // ===================================================================
127 mike 1.2 [Description (
128 "Each instance of the CIM_UnixProcess class represents a single "
129 "instance of a running program. A user of the OperatingSystem "
130 "will typically see a Process as an application or task. Within "
131 "an OperatingSystem, a Process is defined by a workspace of "
132 "memory resources and environmental settings that are allocated "
133 "to it. On a multitasking System, this workspace prevents "
134 "intrusion of resources by other Processes. Additionally, a "
135 "Process can execute as multiple Threads, all which run within "
136 "the same workspace.") ]
137 class CIM_UnixProcess : CIM_Process {
138 [Description (
139 "In the UNIX98 Schema we are using UnixExecutionState versus "
140 "using the CIM_ProcessValues.ExecutionState. Therefore, we can "
141 "map to the traditional UNIXvalues which are: 0 = Nonexistent, "
142 "1 = Sleeping, 2 = Waiting, and etc."),
143 MappingStrings {
144 "MIF.DMTF|Process Information|001.9",
145 "MIF.UNIX|ProcessInformation|13.9"},
146 Values {"Nonexistent", "Sleeping", "Waiting", "Running",
147 "Intermediate", "Terminated", "Stopped", "Growing",
148 mike 1.2 "Unknown", "Other"} ]
149 uint16 UnixExecutionState;
150 [Override ("CSName"), Description (
151 "This process' name."),
152 MappingStrings {"MIF.UNIX|Process Information|13.6"} ]
153 string CSName;
154 [Override ("Handle"), Description (
155 "This is a UNIX Process ID in string format"),
156 MappingStrings {"MIF.DMTF|Process Information|001.1",
157 "MIF.UNIX|ProcessInformation|13.1"} ]
158 string Handle;
159 [Override ("KernelModeTime"), Description (
160 "The number of seconds that this process has spentexecuting "
161 "operating system code."),
162 MappingStrings {"MIF.DMTF|Process Information|001.13",
163 "MIF.UNIX|ProcessInformation|13.13"} ]
164 uint64 KernelModeTime;
165 [Override ("Priority"), Description (
166 "The process' schedule priority."),
167 MappingStrings {
168 "MIF.UNIX|Process Information|13.10"} ]
169 mike 1.2 uint32 Priority;
170 [Override ("UserModeTime"), Description (
171 "The number of seconds that this process has spent executing "
172 "user code."),
173 MappingStrings {"MIF.UNIX|Process Information|13.14"} ]
174 uint64 UserModeTime;
175 [Description (
176 "The parent process ID of this executing process."),
177 MappingStrings {"MIF.UNIX|Process Information|13.2"} ]
178 string ParentProcessID;
179 [Description ("The Real User ID of this currently "
180 "executing process."),
181 MappingStrings {"MIF.UNIX|Process Information|13.4"} ]
182 uint64 RealUserID = 0;
183 [Description (
184 "The Group ID of this currently executing process."),
185 MappingStrings {"MIF.UNIX|Process Information|13.2"} ]
186 uint64 ProcessGroupID = 0;
187 [Description (
188 "The ID of a group of processes under the control of a "
189 "session leader.") ]
190 mike 1.2 uint64 ProcessSessionID = 0;
191 [Description (
192 "The TTY currently associated with this process."),
193 MappingStrings {"MIF.UNIX|Process Information|13.5"} ]
194 string ProcessTTY;
195 [Description (
196 "The executing process' command path."),
197 MappingStrings {"MIF.UNIX|Process Information|13.7"} ]
198 string ModulePath;
199 [Description (
200 "The operating system parameters provided to the executing "
201 "process."),
202 MappingStrings {"MIF.UNIX|Process Information|13.8"} ]
203 string Parameters;
204 [Description ("The process's nice value. Used to compute its "
205 "priority."),
206 MappingStrings {"MIF.UNIX|Process Information|13.11"} ]
207 uint32 ProcessNiceValue = 0;
208 [Description (
209 "The percentage of a CPU's time this process is consuming."),
210 MappingStrings {"MIF.UNIX|Process Information|13.12"} ]
211 mike 1.2 uint32 ProcessCPUTime = 0;
212 [Description (
213 "The number of Kbytes of real text space used by the process."),
214 MappingStrings {"MIF.UNIX|Process Information|13.15"},
215 Units ("KBytes") ]
216 uint64 ProcessRealText = 0;
217 [Description (
218 "The number of Kbytes real data space used bythe process."),
219 MappingStrings {"MIF.UNIX|Process Information|13.16"},
220 Units ("KBytes") ]
221 uint64 ProcessRealData = 0;
222 [Description (
223 "The number of Kbytes real stack space used bythe process."),
224 MappingStrings {"MIF.UNIX|Process Information|13.17"},
225 Units ("KBytes") ]
226 uint64 ProcessRealStack = 0;
227 [Description (
228 "The number of Kbytes of virtual text space usedby the process."),
229 MappingStrings {"MIF.UNIX|Process Information|13.18"},
230 Units ("KBytes") ]
231 uint64 ProcessVirtualText = 0;
232 mike 1.2 [Description (
233 "The number of Kbytes of virtual data space usedby the process."),
234 MappingStrings {"MIF.UNIX|Process Information|13.19"},
235 Units ("KBytes") ]
236 uint64 ProcessVirtualData = 0;
237 [Description (
238 "The number of Kbytes of virtual stack space usedby the process."),
239 MappingStrings {"MIF.UNIX|Process Information|13.20"},
240 Units ("KBytes") ]
241 uint64 ProcessVirtualStack = 0;
242 [Description (
243 "The number of Kbytes of virtual shared memoryused by the "
244 "process."),
245 MappingStrings {"MIF.UNIX|Process Information|13.22"},
246 Units ("KBytes") ]
247 uint64 ProcessVirtualMemoryMappedFileSize = 0;
248 [Description (
249 "The number of Kbytes of virtual space used formemory mapped files by "
250 "the process."),
251 MappingStrings {"MIF.UNIX|Process Information|13.21"},
252 Units ("KBytes") ]
253 mike 1.2 uint64 ProcessVirtualSharedMemory = 0;
254 [Description (
255 "A description of the event this process is currentlysleeping for. The "
256 "precise nature of this string is implementationdefined, but is "
257 "typically the address of a system data structure thatwill be modified "
258 "when the event occurs. This string only has meaning when the "
259 "ExecutionStateis \"Blocked\" or \"SuspendedBlocked\".") ]
260 string ProcessWaitingForEvent;
261 [Description (
262 "CPU time of terminated child processes in clockticks") ]
263 uint64 CpuTimeDeadChildren;
264 [Description (
265 "System time of terminated child processes inclock ticks") ]
266 uint64 SystemTimeDeadChildren;
267 };
268
269 // ===================================================================
270 // UnixThread
271 // ===================================================================
272 [Description (
273 "Threads represent the ability to execute units of a Process "
274 mike 1.2 "or task in parallel. A Process can have many Threads, each "
275 "of which is weak to the Process.") ]
276 class CIM_UnixThread : CIM_Thread {
277 [Description (
278 "Indicates the thread's scheduling policy"),
279 Values {"SCHED_FIFO","SCHED_RR", "SCHED_OTHER"} ]
280 uint16 SchedPolicy;
281 [Description (
282 "Indicates the size of the guard area for a created thread's "
283 "stack.") ]
284 string GuardSize;
285 [Description (
286 "Indicates the creation state of the thread. "),
287 Values {"PTHREAD_CREATE_DETACHED", "PTHREAD_CREATE_JOINABLE"} ]
288 uint16 DetachState;
289 [Description (
290 "Indicates how the scheduling attributes are to be set."),
291 Values {"PTHREAD_INHERIT_SCHED", "PTHREAD_EXPLICIT_SCHED"} ]
292 uint16 InheritSched;
293 [Description (
294 "Indicates the contention scope of the thread. "),
295 mike 1.2 Values {"PTHREAD_SCOPE_SYSTEM", "PTHREAD_SCOPE_PROCESS"} ]
296 uint16 ContentionScope;
297 [Description (
298 "Indicates the location of storage to be used for the thread's "
299 "stack.") ]
300 string StackAddr;
301 [Description (
302 "Indicates the size of storage to be used for the thread's "
303 "stack.") ]
304 string StackSize;
305 [Description (
306 "Indicates the thread's concurrency level.") ]
307 uint64 ConcurrencyLevel;
308 [Description (
309 "Indicates the thread's cancelability state. "),
310 Values {"PTHREAD_CANCEL_ENABLE", "PTHREAD_CANCEL_DISABLE"} ]
311 uint16 CancelState;
312 [Description (
313 "Indicates the thread's cancelability type. "),
314 Values {"PTHREAD_CANCEL_DEFERRED", "PTHREAD_CANCEL_ASYNCHRONOUS"} ]
315 uint16 CancelType;
316 mike 1.2 };
317
318
319 // ===================================================================
320 // UnixComputerSystem
321 // ===================================================================
322 class CIM_UnixComputerSystem : CIM_ComputerSystem {
323 [Override ("NameFormat") ]
324 string NameFormat = "IP";
325 [Override ("PrimaryOwnerName"),
326 MappingStrings {"MIF.DMTF|General Information|001.4",
327 "MIF.UNIX|GeneralInformation|2.3"} ]
328 string PrimaryOwnerName;
329 [Description (
330 "A provider can get this from the UNIX MIF by looking at the "
331 "Host System Group (5) attribute 2. However, this only gives "
332 "the provider an index into the Host Device Group") ]
333 string LastLoadInfo;
334 [Description (
335 "") ]
336 boolean PowerManagementSupported = FALSE;
337 mike 1.2 };
338
|