// =================================================================== // Title: UNIX Operating System MOF specification 2.6 // Filename: CIM_Unix26.mof // Version: 2.6 // Release: 0 // Status: Preliminary // Date: 06/12/2001 // =================================================================== // Copyright "2001" Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release cited should always be noted. // =================================================================== // Author: DMTF System and Devices Working Group // =================================================================== // - CR608, Initial Model // =================================================================== #pragma locale ("en_US") // =================================================================== // UNIXOperatingSystem // =================================================================== [Description ( "An UNIX OperatingSystem is software/firmware that makes a " "ComputerSystem's hardware usable, and implements and/or " "manages the resources, file systems, processes, user " "interfaces, services, ... available on the ComputerSystem. " "In addition, the OperatingSystem complies with the UNIX " "standard.") ] class CIM_UnixOperatingSystem : CIM_OperatingSystem { [Override ("FreePhysicalMemory"), Description ( "The amount of physical main memory, in megabytesavailable on " "the system."), MappingStrings {"MIF.DMTF|System Memory Settings|001.2", "MIF.UNIX|Host Physical Memory|6.1"} ] uint64 FreePhysicalMemory; [Override ("MaxNumberOfProcesses"), Description ( "The maximum number of process contexts thissystem can support."), MappingStrings {"MIF.UNIX|Host System|5.6", "MIF.DMTF|Host System|001.6", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"} ] uint32 MaxNumberOfProcesses; [Override ("NumberOfProcesses"), Description ( "The number of process contexts loadedor running on the system."), MappingStrings {"MIF.UNIX|Host System|5.5", "MIF.DMTF|Host System|001.5", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"} ] uint32 NumberOfProcesses; [Override ("NumberOfUsers"), Description ( "This attribute is the number of user sessionscurrently active " "on the system."), MappingStrings {"MIF.UNIX|Host System|5.4", "MIF.DMTF|Host System|001.4", "MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"} ] uint32 NumberOfUsers; [Description ( "A value that indicates the maximum processesthat a user can have " "associate with it.") ] uint64 MaxProcessesPerUser; }; // =================================================================== // UnixLocalFileSystem // =================================================================== [Description ( "A class derived from LocalFileSystem that represents the Unix " "file store controlled by a ComputerSystem through local means " "(e.g., direct device driver access). In this case, the " "file store is managed directly by the ComputerSystem " "without the need for another computer to act as a " "file server. This definition does not breakdown in the " "case of a Clustered File System. In this scenario, the " "FileSystem is a LocalFileSystem, weak to the Cluster.") ] class CIM_UnixLocalFileSystem : CIM_LocalFileSystem { [Override ("CasePreserved") ] boolean CasePreserved = TRUE; [Override ("CompressionMethod") ] string CompressionMethod = ""; [Description ("Indicates whether a file systemis a bootable."), MappingStrings {"MIF.UNIX|Host File System|10.6"} ] boolean Bootable; [Description ( "An indication if this FS is configuredto be readable and writeable or " "only readable.."), MappingStrings {"MIF.UNIX|Host File System|10.5"} ] string AccessMode = "ReadWrite"; [Description ( "In traditional UNIX parlance these correspond to INodes."), MappingStrings {"MIF.UNIX|Host File System|10.11"} ] uint64 FreeSlots = 0; [Description ( "In traditional UNIX parlance these correspond to INodes."), MappingStrings {"MIF.UNIX|Host File System|10.11"} ] uint64 TotalSlots = 0; [Override ("FileSystemSize"), Description ( "The data capacity of the file system in 512 byte blocks."), MappingStrings {"MIF.UNIX|Host File System|10.13", "MIF.DMTF|Host FileSystem|001.14", "MIF.DMTF|Partition|002.4"} ] uint64 FileSystemSize = 0; [Override ("AvailableSpace"), Description ( "The free data capacity of the file system in 512 byte blocks."), MappingStrings {"MIF.UNIX|Host File System|10.14"}, Units ("Blocks") ] uint64 AvailableSpace = 0; [Description ( "The reserve data capacity of the file systemin 512 byte blocks."), MappingStrings {"MIF.UNIX|Host File System|10.15"}, Units ("Blocks") ] uint64 ReservedCapacity = 0; [Override ("FileSystemType"), Description ( "This property identifies the type of the filesystem."), MappingStrings {"MIF.UNIX|Host File System|10.4"} ] string FileSystemType; }; // =================================================================== // UnixProcess // =================================================================== [Description ( "Each instance of the CIM_UnixProcess class represents a single " "instance of a running program. A user of the OperatingSystem " "will typically see a Process as an application or task. Within " "an OperatingSystem, a Process is defined by a workspace of " "memory resources and environmental settings that are allocated " "to it. On a multitasking System, this workspace prevents " "intrusion of resources by other Processes. Additionally, a " "Process can execute as multiple Threads, all which run within " "the same workspace.") ] class CIM_UnixProcess : CIM_Process { [Description ( "In the UNIX98 Schema we are using UnixExecutionState versus " "using the CIM_ProcessValues.ExecutionState. Therefore, we can " "map to the traditional UNIXvalues which are: 0 = Nonexistent, " "1 = Sleeping, 2 = Waiting, and etc."), MappingStrings { "MIF.DMTF|Process Information|001.9", "MIF.UNIX|ProcessInformation|13.9"}, Values {"Nonexistent", "Sleeping", "Waiting", "Running", "Intermediate", "Terminated", "Stopped", "Growing", "Unknown", "Other"} ] uint16 UnixExecutionState; [Override ("CSName"), Description ( "This process' name."), MappingStrings {"MIF.UNIX|Process Information|13.6"} ] string CSName; [Override ("Handle"), Description ( "This is a UNIX Process ID in string format"), MappingStrings {"MIF.DMTF|Process Information|001.1", "MIF.UNIX|ProcessInformation|13.1"} ] string Handle; [Override ("KernelModeTime"), Description ( "The number of seconds that this process has spentexecuting " "operating system code."), MappingStrings {"MIF.DMTF|Process Information|001.13", "MIF.UNIX|ProcessInformation|13.13"} ] uint64 KernelModeTime; [Override ("Priority"), Description ( "The process' schedule priority."), MappingStrings { "MIF.UNIX|Process Information|13.10"} ] uint32 Priority; [Override ("UserModeTime"), Description ( "The number of seconds that this process has spent executing " "user code."), MappingStrings {"MIF.UNIX|Process Information|13.14"} ] uint64 UserModeTime; [Description ( "The parent process ID of this executing process."), MappingStrings {"MIF.UNIX|Process Information|13.2"} ] string ParentProcessID; [Description ("The Real User ID of this currently " "executing process."), MappingStrings {"MIF.UNIX|Process Information|13.4"} ] uint64 RealUserID = 0; [Description ( "The Group ID of this currently executing process."), MappingStrings {"MIF.UNIX|Process Information|13.2"} ] uint64 ProcessGroupID = 0; [Description ( "The ID of a group of processes under the control of a " "session leader.") ] uint64 ProcessSessionID = 0; [Description ( "The TTY currently associated with this process."), MappingStrings {"MIF.UNIX|Process Information|13.5"} ] string ProcessTTY; [Description ( "The executing process' command path."), MappingStrings {"MIF.UNIX|Process Information|13.7"} ] string ModulePath; [Description ( "The operating system parameters provided to the executing " "process."), MappingStrings {"MIF.UNIX|Process Information|13.8"} ] string Parameters; [Description ("The process's nice value. Used to compute its " "priority."), MappingStrings {"MIF.UNIX|Process Information|13.11"} ] uint32 ProcessNiceValue = 0; [Description ( "The percentage of a CPU's time this process is consuming."), MappingStrings {"MIF.UNIX|Process Information|13.12"} ] uint32 ProcessCPUTime = 0; [Description ( "The number of Kbytes of real text space used by the process."), MappingStrings {"MIF.UNIX|Process Information|13.15"}, Units ("KBytes") ] uint64 ProcessRealText = 0; [Description ( "The number of Kbytes real data space used bythe process."), MappingStrings {"MIF.UNIX|Process Information|13.16"}, Units ("KBytes") ] uint64 ProcessRealData = 0; [Description ( "The number of Kbytes real stack space used bythe process."), MappingStrings {"MIF.UNIX|Process Information|13.17"}, Units ("KBytes") ] uint64 ProcessRealStack = 0; [Description ( "The number of Kbytes of virtual text space usedby the process."), MappingStrings {"MIF.UNIX|Process Information|13.18"}, Units ("KBytes") ] uint64 ProcessVirtualText = 0; [Description ( "The number of Kbytes of virtual data space usedby the process."), MappingStrings {"MIF.UNIX|Process Information|13.19"}, Units ("KBytes") ] uint64 ProcessVirtualData = 0; [Description ( "The number of Kbytes of virtual stack space usedby the process."), MappingStrings {"MIF.UNIX|Process Information|13.20"}, Units ("KBytes") ] uint64 ProcessVirtualStack = 0; [Description ( "The number of Kbytes of virtual shared memoryused by the " "process."), MappingStrings {"MIF.UNIX|Process Information|13.22"}, Units ("KBytes") ] uint64 ProcessVirtualMemoryMappedFileSize = 0; [Description ( "The number of Kbytes of virtual space used formemory mapped files by " "the process."), MappingStrings {"MIF.UNIX|Process Information|13.21"}, Units ("KBytes") ] uint64 ProcessVirtualSharedMemory = 0; [Description ( "A description of the event this process is currentlysleeping for. The " "precise nature of this string is implementationdefined, but is " "typically the address of a system data structure thatwill be modified " "when the event occurs. This string only has meaning when the " "ExecutionStateis \"Blocked\" or \"SuspendedBlocked\".") ] string ProcessWaitingForEvent; [Description ( "CPU time of terminated child processes in clockticks") ] uint64 CpuTimeDeadChildren; [Description ( "System time of terminated child processes inclock ticks") ] uint64 SystemTimeDeadChildren; }; // =================================================================== // UnixThread // =================================================================== [Description ( "Threads represent the ability to execute units of a Process " "or task in parallel. A Process can have many Threads, each " "of which is weak to the Process.") ] class CIM_UnixThread : CIM_Thread { [Description ( "Indicates the thread's scheduling policy"), Values {"SCHED_FIFO","SCHED_RR", "SCHED_OTHER"} ] uint16 SchedPolicy; [Description ( "Indicates the size of the guard area for a created thread's " "stack.") ] string GuardSize; [Description ( "Indicates the creation state of the thread. "), Values {"PTHREAD_CREATE_DETACHED", "PTHREAD_CREATE_JOINABLE"} ] uint16 DetachState; [Description ( "Indicates how the scheduling attributes are to be set."), Values {"PTHREAD_INHERIT_SCHED", "PTHREAD_EXPLICIT_SCHED"} ] uint16 InheritSched; [Description ( "Indicates the contention scope of the thread. "), Values {"PTHREAD_SCOPE_SYSTEM", "PTHREAD_SCOPE_PROCESS"} ] uint16 ContentionScope; [Description ( "Indicates the location of storage to be used for the thread's " "stack.") ] string StackAddr; [Description ( "Indicates the size of storage to be used for the thread's " "stack.") ] string StackSize; [Description ( "Indicates the thread's concurrency level.") ] uint64 ConcurrencyLevel; [Description ( "Indicates the thread's cancelability state. "), Values {"PTHREAD_CANCEL_ENABLE", "PTHREAD_CANCEL_DISABLE"} ] uint16 CancelState; [Description ( "Indicates the thread's cancelability type. "), Values {"PTHREAD_CANCEL_DEFERRED", "PTHREAD_CANCEL_ASYNCHRONOUS"} ] uint16 CancelType; }; // =================================================================== // UnixComputerSystem // =================================================================== class CIM_UnixComputerSystem : CIM_ComputerSystem { [Override ("NameFormat") ] string NameFormat = "IP"; [Override ("PrimaryOwnerName"), MappingStrings {"MIF.DMTF|General Information|001.4", "MIF.UNIX|GeneralInformation|2.3"} ] string PrimaryOwnerName; [Description ( "A provider can get this from the UNIX MIF by looking at the " "Host System Group (5) attribute 2. However, this only gives " "the provider an index into the Host Device Group") ] string LastLoadInfo; [Description ( "") ] boolean PowerManagementSupported = FALSE; };