일반 정보 모델
CIM(일반 정보 모델)은 엔터프라이즈의 여러 부분에 대한 정보를 포함하는 확장 가능한 개체 지향 데이터 모델입니다. CIM 분산 관리 태스크 포스(DMTF)에서 유지 관리하는 플랫폼 간 표준입니다. 개발자는 WMI를 통해 CIM을 사용하여 하드 디스크 드라이브, 애플리케이션, 네트워크 라우터 또는 네트워크 공조기와 같은 사용자 정의 기술을 나타내는 클래스를 만들 수 있습니다. 관리자는 CIM 클래스를 보고 변경하여 엔터프라이즈의 다양한 측면을 제어할 수 있습니다. 예를 들어 관리자는 데스크톱 워크스테이션을 나타내는 CIM 클래스 인스턴스를 쿼리할 수 있습니다. 그런 다음 관리자는 스크립트를 실행하여 CIM 워크스테이션 인스턴스를 수정할 수 있습니다. WMI는 워크스테이션 CIM 클래스 인스턴스에 대한 변경 내용을 실제 워크스테이션의 변경 내용으로 변환합니다.
CIM은 개체 지향 기술을 사용하여 엔터프라이즈를 설명하는 언어 독립적 프로그래밍 모델입니다. CIM은 세 가지 수준의 부모/자식 상속을 사용하여 기업의 일반 및 특정 측면을 모두 설명할 수 있습니다. 또한 CIM은 "연결"이라는 기술을 사용하여 엔터프라이즈 모델의 여러 부분을 연결하고 스키마를 사용하여 다양한 관리 환경을 구분합니다.
CIM은 관리 환경에서 논리적 개체와 물리적 개체의 일관된 보기를 제공하도록 설계되었습니다. CIM은 "class"라는 개체 지향 구문을 사용하여 관리되는 개체를 나타냅니다. C++ 또는 COM 클래스와 마찬가지로 CIM 클래스에는 동작을 설명하는 데이터 및 메서드를 설명하는 속성이 포함될 수 있습니다. COM 클래스 집합과 마찬가지로 CIM은 플랫폼에 연결되지 않습니다. 그러나 WMI에는 Microsoft Windows 운영 체제 플랫폼을 설명하는 CIM에 대한 확장이 포함되어 있습니다.
CIM은 세 가지 수준의 클래스를 정의합니다.
심
핵심 클래스는 관리의 모든 영역에 적용되는 관리되는 개체를 나타냅니다. 이러한 클래스는 관리되는 시스템을 분석하고 설명하기 위한 기본 어휘를 제공합니다. __Parameters 및 __SystemSecurity 클래스는 핵심 클래스의 예입니다.
보통의
공통 클래스는 특정 관리 영역에 적용되는 관리되는 개체를 나타냅니다. 그러나 공통 클래스는 특정 구현 또는 기술과 독립적입니다. 공통 클래스는 핵심 클래스의 확장입니다. CIM_UnitaryComputerSystem 클래스는 공통 클래스의 예입니다.
확장
확장 클래스는 공통 클래스에 기술별 추가된 관리되는 개체를 나타냅니다. 확장 클래스는 일반적으로 UNIX 또는 Microsoft Win32 환경과 같은 특정 플랫폼에 적용됩니다. Win32_ComputerSystem 클래스는 확장 클래스의 예입니다.
개발자는 다른 클래스에서 클래스를 파생시킬 수 있습니다. 파생 클래스는 부모 클래스의 특수한 경우를 나타내며 부모의 모든 속성과 메서드를 상속합니다. 예를 들어 Win32_ComputerSystemCIM_UnitaryComputerSystem상속합니다. 상속 관계는 시스템 속성 __Derivation, __Dynasty및 __SuperClass사용하여 확인할 수 있습니다. __Derivation 시스템 속성은 루트 클래스를 포함하여 상속의 전체 체인을 나열하는 문자열 배열로, __Dynasty포함되어 있습니다. __SuperClass 시스템 속성은 현재 클래스의 직계 부모를 표시합니다.
WMI는 연결을 지원합니다. 연결은 둘 이상의 다른 WMI 클래스 간의 관계입니다. 예를 들어 실행 중인 워크스테이션에는 일반적으로 프로세서가 있습니다. WMI 연결 클래스 Win32_ComputerSystemProcessor 워크스테이션 클래스 Win32_ComputerSystem 프로세서 클래스 Win32_Processor연결합니다. 그러나 연결 클래스는 두 종속 클래스를 함께 연결할 필요가 없습니다. 실제로 연결 클래스의 주요 목적은 반드시 서로 종속되지 않는 클래스 간의 관계를 표시하는 것입니다. 자세한 내용은 연결 클래스 선언하는참조하세요.
마지막으로 WMI는 스키마 개념을 지원합니다. WMI의 컨텍스트에서 스키마는 특정 관리 환경을 설명하는 클래스 그룹입니다. Microsoft Windows SDK(소프트웨어 개발 키트)는 CIM 스키마와 Win32 스키마라는 두 가지 스키마를 사용합니다. CIM 스키마 클래스 이름은 CIM_시작하고 Win32 스키마 클래스 이름은 Win32_시작합니다. CIM 스키마에는 코어 및 공용 클래스에 대한 정의가 포함되고 Win32 스키마에는 Win32 환경에 공통적인 확장 클래스에 대한 정의가 포함됩니다. 그러나 타사 공급업체는 공급업체별 요구 사항을 설명하는 자체 스키마를 만들 수 있습니다. 스키마는 무한히 확장 가능하도록 설계되었기 때문에 개발자는 항상 새 클래스를 추가하여 기존 환경에서 새 관리되는 개체를 설명할 수 있습니다. 그러나 간단히 하기 위해 대부분의 공급업체는 CIM 또는 Win32 스키마에서 속성을 상속하는 스키마를 만들도록 선택합니다.