1 s.manicka 1.1 // Copyright (c) 2005 DMTF. All rights reserved.
2 // <change cr="DMTFCR01424.002" type ="modify">Unix Process Priority
3 // Correction</change>
4
5 // <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
6 // qualifier values to CIM Schema.</change>
7 // ==================================================================
8 // CIM_Process
9 // ==================================================================
10 [UMLPackagePath ( "CIM::System::Processing" ), Version ( "2.10.0" ),
11 Description (
12 "Each instance of the CIM_Process class represents a single "
13 "instance of a running program. A user of the OperatingSystem "
14 "will typically see a Process as an application or task. Within "
15 "an OperatingSystem, a Process is defined by a workspace of "
16 "memory resources and environmental settings that are allocated "
17 "to it. On a multitasking System, this workspace prevents "
18 "intrusion of resources by other Processes. Additionally, a "
19 "Process can execute as multiple Threads, all which run within "
20 "the same workspace.")]
21 class CIM_Process : CIM_EnabledLogicalElement {
22 s.manicka 1.1
23 [Key, Propagated ( "CIM_OperatingSystem.CSCreationClassName" ),
24 Description (
25 "The scoping ComputerSystem's CreationClassName."),
26 MaxLen ( 256 )]
27 string CSCreationClassName;
28
29 [Key, Propagated ( "CIM_OperatingSystem.CSName" ), Description (
30 "The scoping ComputerSystem's Name."),
31 MaxLen ( 256 )]
32 string CSName;
33
34 [Key, Propagated ( "CIM_OperatingSystem.CreationClassName" ),
35 Description (
36 "The scoping OperatingSystem's CreationClassName."),
37 MaxLen ( 256 )]
38 string OSCreationClassName;
39
40 [Key, Propagated ( "CIM_OperatingSystem.Name" ), Description (
41 "The scoping OperatingSystem's Name."),
42 MaxLen ( 256 )]
43 s.manicka 1.1 string OSName;
44
45 [Key, Description (
46 "CreationClassName indicates the name of the class or the "
47 "subclass used in the creation of an instance. When used "
48 "with the other key properties of this class, this property "
49 "allows all instances of this class and its subclasses to be "
50 "uniquely identified."),
51 MaxLen ( 256 )]
52 string CreationClassName;
53
54 [Key, Description (
55 "A string used to identify the Process. A Process ID is a "
56 "kind of Process Handle."),
57 MaxLen ( 256 ),
58 MappingStrings { "MIF.DMTF|Process Information|001.1" }]
59 string Handle;
60
61 [Override ( "Name" ), Description (
62 "The name of the process."),
63 MappingStrings { "MIF.DMTF|Process Information|001.6" }]
64 s.manicka 1.1 string Name;
65
66 [Description (
67 "Priority indicates the urgency or importance of execution "
68 "of a Process. Lower values reflect more favorable process "
69 "scheduling. If a priority is not defined for a Process, a "
70 "value of 0 should be used."),
71 MappingStrings { "MIF.DMTF|Process Information|001.10" }]
72 uint32 Priority;
73
74 [Description (
75 "Indicates the current operating condition of the Process. "
76 "Values include ready (2), running (3), and blocked (4), "
77 "among others. The majority of the enumerated values are "
78 "obvious. However, a few require additional explanation: \n"
79 "7 (Terminated) describes that a process has naturally "
80 "completed \n"
81 "8 (Stopped) describes that a process has been prematurely "
82 "'stopped' by a user or other request \n"
83 "10 (Ready but Relinquished Processor) describes that a "
84 "process is in the Ready state, but has voluntarily "
85 s.manicka 1.1 "relinquished execution time to other processes. For "
86 "example, this state may indicate a problem when the "
87 "relinquishing process is not handling items on its queues. "
88 "If these semantics cannot be detected, the process should "
89 "report its state as 2 (\"Ready\"). \n"
90 "11 (Hung) indicates that a process is not responding and "
91 "should therefore not be given further execution time."),
92 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
93 "10", "11" },
94 Values { "Unknown", "Other", "Ready", "Running", "Blocked",
95 "Suspended Blocked", "Suspended Ready", "Terminated",
96 "Stopped", "Growing", "Ready But Relinquished Processor",
97 "Hung" },
98 MappingStrings { "MIF.DMTF|Process Information|001.9",
99 "MIF.UNIX|Process Information|13.9" }]
100 uint16 ExecutionState;
101
102 [Description (
103 "A string describing the state - used when the instance's "
104 "ExecutionState property is set to 1 (\"Other\"). Other "
105 "ExecutionDescription should be set to NULL when the "
106 s.manicka 1.1 "Execution State property is any value other than 1.")]
107 string OtherExecutionDescription;
108
109 [Description (
110 "Time that the Process began executing.")]
111 datetime CreationDate;
112
113 [Description (
114 "Time that the Process was stopped or terminated.")]
115 datetime TerminationDate;
116
117 [Description (
118 "Time in kernel mode, in milliseconds. If this information "
119 "is not available, or if the operating system does not "
120 "distinguish between time in kernel and in user mode, a "
121 "value of 0 should be used."),
122 Units ( "MilliSeconds" ),
123 MappingStrings { "MIF.DMTF|Process Information|001.13" }]
124 uint64 KernelModeTime;
125
126 [Description (
127 s.manicka 1.1 "Time in user mode, in milliseconds. If this information is "
128 "not available, a value of 0 should be used. If the "
129 "operating system does not distinguish between time in "
130 "kernel mode and user mode, the time should be returned in "
131 "this property."),
132 Units ( "MilliSeconds" ),
133 MappingStrings { "MIF.DMTF|Process Information|001.14" }]
134 uint64 UserModeTime;
135
136 [Description (
137 "The amount of memory in bytes that a Process needs to "
138 "execute efficiently, for an OperatingSystem that uses "
139 "page-based memory management. If an insufficient amount of "
140 "memory is available (< working set size), thrashing will "
141 "occur. If this information is not known, NULL or 0 should "
142 "be entered. If this data is provided, it could be monitored "
143 "to understand a Process' changing memory requirements as "
144 "execution proceeds."),
145 Units ( "Bytes" ), Gauge]
146 uint64 WorkingSetSize;
147 };
|