구성 요소 관리자
Component Manager이 글은 검증을 위해 인용구가 추가로 필요하다.– · · 책· · (2009년 6월)(이 템플릿 하는 |
Apple Macintosh 컴퓨터 프로그래밍에서 Component Manager는 PowerPC 이전 Macintosh에서 시작된 코드를 공유하기 위한 많은 접근 방식 중 하나였다.원래 QuickTime의 일부로 도입되었는데, 이를 가장 많이 사용한 클래식 맥 OS의 일부로 남아 있었다.[1]
기술적 세부사항
컴포넌트는 고객이 호출할 수 있는 다양한 기능을 제공하는 코드 조각이었다.각 기능은 서명된 16비트 정수 ID 코드로 식별되었다.비양성 코드는 모든 구성 요소에서 이해해야 하는 미리 정의된 기능(구성 요소 인스턴스 열기/닫기, 함수 지원 여부 쿼리 등)에 대해 예약되었다.양의 함수 코드의 의미는 성분의 종류에 따라 달라졌다.
구성 요소를 열어 구성 요소 인스턴스를 생성했다.이를 통해 인스턴스에 필요한 스토리지를 할당하고 초기화하기 위한 구성 요소의 개방형 함수를 불렀다.인스턴스를 닫으면 이 저장소가 제거되고 해당 인스턴스에 대한 모든 참조가 무효화된다.
컴포넌트와 컴포넌트 인스턴스는 포인터가 아닌 32비트 값으로 참조되었다.대신, 그것들은 내부 Component Manager 테이블로 키로 해석되었다.이러한 참조는 일단 무효화되면 해당 값이 다시 오랫동안 유효하지 않을 가능성이 낮은 방식으로 생성되었다.이를 통해 참조가 매달려 있어 잘 알려지지 않은 버그가 발생할 가능성을 최소화했다.
구성요소는 유형, 하위 유형 및 "제조업체"를 제공하는 OSType 코드로 식별되었다.예를 들어 구성 요소 유형은 JPEG, H.261, 소렌슨 및 Intel Indo에 대한 하위 유형인 "래스터 이미지 압축기"일 수 있다.하드웨어 대 소프트웨어 사용, 속도 대 품질의 트레이드오프(Trade off) 또는 기타 기준과 같은 알고리즘의 대체 구현을 제공함으로써 정확히 동일한 식별 코드로 복수의 구성요소를 등록할 수 있었다.애플리케이션이 그러한 대안의 존재를 질의하고 그들 사이에서 명시적인 선택을 하거나, 시스템이 디폴트를 선택하도록 하는 것이 가능했다.
이용 가능한 옵션들 중에서, 구성요소는 코드 재사용을 위한 하위 분류의 한 형태로 그것의 기능의 일부를 다른 구성요소에 위임할 수 있다.한 구성 요소가 다른 구성 요소를 캡처하는 것도 가능했는데, 이는 캡처된 구성 요소에 대한 모든 액세스가 캡처된 구성 요소를 통과해야 함을 의미한다.
Mac OS 구성 요소
Mac OS는 다음과 같은 다양한 구성 요소 유형을 축적했다.
- QuickTime 내에는 이미지 코덱, 미디어 핸들러, 미디어 데이터 핸들러, 비디오 디지타이저 드라이버, 파일 형식 가져오기 및 내보내기 등이 있었다.
- 사운드 매니저는 버전 3.0에서 주로 컴포넌트 기반 아키텍처로 이동했다. 즉, 사운드 출력 장치는 컴포넌트로 표현되었고, 또한 여러 채널을 혼합하여 샘플링 속도와 샘플 크기 사이를 전환하고 압축 포맷을 인코딩 및 디코딩하는 컴포넌트 유형도 있었다.
- 애플스크립트는 구성요소로 구현된 스크립팅 언어의 개념을 도입했다.
- ColorSync는 다른 색상 매칭 방법을 구성 요소로 구현했다.
- QuickDraw GX "Font Scaler"는 다양한 글꼴 형식의 렌더러였다.
참조
- ^ Weinstein, Stephen B. (2005). The multimedia Internet. Springer. pp. 355. ISBN 0-387-23681-3.