Loading
2009. 3. 16. 10:20 - citybell.com

아이폰(iPhone) OS(1) 계층구조

iPhone OS의  계층구조

iPhone OS 의 내부 구조는  Mac OS X 와 유사하다. iPhone OS의 커널은  OS X 에서 사용된 기본적인 마하커널(Mach Kernel)의  변형된 구조 이다.  이커널의 상부에 자리잡고 있는 서비스 계층은 이 플렛폼의 응용프로그램 구현에 사용된다.  그림은 이러한 계층을 보여주고 있다. 이런 계층구조는  당신이 코드를 작성할때 선택을 할 수 있게 한다. 예를 들어 Core OS와 Core서비스 계층은 iPhone OS의 기초가 되는 인터페이스인 파일액세스, 로우레벨 데이터, Bonjour(자동네트웍인식)서비스, 네트웍 소켓, 등등을 포함하고 있다. 이러한 이터페이스는 대부분 C-기반인 Core Foundation, CFNetwork, SQLite같은 기술을 포함하며,  다른 POSIX 쓰레드와 연결, UNIX 소켓 연결등 포함한다. iphoneoslayer
상위의 계층으로 올라간다면  C-기반과  오브젝트-C (COM같은)기반의 인터페이스들의 혼합된 기술을 발견하게 된다.  예를들어, Media계층은 2D와 3D drawing과 오디오 비디오에 대한 기반기술지원을 포함하고 있다. 이 계층은 C-기반 기술인 OpenGL ES와 Quartz, 그리고 Core Audio를 포함하고 있으며,또한 진보된 오브젝트-C기반의 애니메이션 엔진인 Core Animation을 가지고 있다.
Cocoa 터치 계층은 대부분 오브젝트-C 기술을 사용하고 있다. 이 계층의 프래임웍은 당시의 응용 프로그램에 사용할수 있는 기반이 되는 인프라를 제공한다. 예를들어, 기반 프레임웍은 collection,파일관리,네트웍킹 및 기타에 대해 오브젝트 지향적인 지원을 제공한다. UIKit프레임웍은 개발되는 응용프로그램에게  비쥬얼 인프라를 제공하는데, window, view, control class등이 있으며 이러한 오브젝트에 대한 Controller들도 제공한다. 이 계층에서 다른 프레임웍들은 사용자의 전화번호부나 사진정보 등에 대한 접근방법과 가속도계 또는 기타 디바이스에 대한 하드웨어적 정보를 얻을 수 있게 해준다.
모든 신규프로젝트의 시작점은 Cocoa 터치 계층이며 몇몇 경우 UIKit 프레임웍이 될수있다.  이 외에 추가적인 기술이 필요한 경우 상위(higher-level)계층의 프레임웍에서 시작하고, 필요한 경우에만 하위계층 으로 내려갈것을 권장한다. 상위계층의 프레임웍은 최소한의 노력으로 시스템동작에 대한 손쉬운 지원을 얻으수 있게 해준다. 상위계층에서 지원되지 않는 Custom동작이 필요할 때만 하위레벨로 내려 가도록 한다.


관련된 글: 아이폰(iPhone) OS(2)

 

 

  • Total
  • Today
  • Yesterday
  • Total
  • Today
  • Yesterday