티스토리 뷰

오픈소스/Mir

Mir 란 무엇인가?

norux 2014.01.05 00:03

앞으로 미르에 대해 공부를 하면서 차근차근 포스팅도 올려보려 합니다.


처음은 Mir란 무엇인가에 대한 포스팅입니다.

본문은 https://wiki.ubuntu.com/Mir/Spec 의 내용을 참조하여 작성한 것입니다.



 Mir는 우분투에서 X window system을 대체하는 차세대 디스플레이 서버입니다. 우분투 13.10버전에서는 미르를 설치하고 테스팅 해볼 수 있습니다. 이 때문에 저 역시 안정적으로 사용하던 12.04 LTS 버전의 업데이트를 생각중입니다. 


 또한 올해 4월에 출시 예정인 14.04 LTS 버전에서도 Mir가 정식으로 포함되지는 않을 것이라고 합니다. (http://www.phoronix.com/scan.php?page=news_item&px=MTUxOTQ 그 만큼 미르는 아직 한창 개발중인 모듈이라고 할 수 있습니다


 사실 X window를 대체하려는 움직임은 오래전부터 있었으며 그 와중에 Wayland라는 것도 있었습니다. 우분투 역시 처음에는 wayland를 도입하려 했었으나, 우분투를 지원하는 캐노니컬에서 갑자기 Wayland대신 Mir를 도입하겠다고 발표를 했죠. 그래서 한동안 시끄러웠습니다. 어쨋든 지금의 우분투는 Mir를 밀고 있으며, 언젠가 Mir가 제대로 개발이 완료되어 정식 탑재가 되면 우분투가 어떻게 진화될지 기대가 됩니다.


아래는 위의 우분투 위키의 페이지의 일부를 번역한 내용입니다.


Motivation, Why Mir?

 최근 아이폰이나 안드로이드같은 모바일 기기로 제공되는 세련된 UX에 의해 유저들은 '빠르고, 부드러운' 것을 원하게 되었다. 역사적으로 리눅스 플랫폼의 GUI는 X 윈도우시스템을 사용했다. X는 지난 30년간 시스템과 어플리케이션 레벨의 UI를 잘 지원해오며 길고 성공적인 역사를 가졌다. 하지만 최근 유저들은 X 윈도우 시스템이 제공할 수 있는 것보다 더 일관되고 통합된 UX를 기대하고 있다. 심지어 X 스택 컴포지터의 도입 같은 최근 개발들도 이런 문제를 완벽하게 해결할 수 없고, 또한 X 렌더링 모델이 가진 문제들을 극복하기 위해서는 쉘과 어플리케이션 모두에서 새로운 대안이 개발되어야만 한다. 쉘 개발 관점에서 X 스택이 가진 3가지 주요 단점들이 새로운 UX(빠르고 부드러운) 개발을 어렵게 하고 있다.

  • X는 프로세스 경계선(process boundaries)을 통해 많은 시스템 상태를 공유한다. 이것은 그 스스로는 문제가 되지 않지만, 화려하고 일관된 UX를 제공하는 시스템 레벨의 UI는 전체적인 시스템 상태에 대해 타이트한 제어가 요구되야 할 것이다.
  • X의 인풋 모델은 복잡하며 어플리케이션이 소유하지 않은 다른 인풋 이벤트들을 스푸핑할 수 있다. 이것은 특히 모바일 플랫폼의 보안적인 측면에서 심각성을 증가시킨다. 또한, X 인풋 모델의 조절과 확장은 어려운 일이며 입력이벤트 일괄처리 및 압축같은 피처들을 지원하는 것과 전력 절감 전략, 정렬된 인풋 이벤트 전달에 대한 유연한 동기화 계획과 관련된 모션 이벤트 예측, 렌더링 동작은 너무 복잡하다.
  • 컴포지터 계층은 세션레벨에서 끝나고, 부팅시로부터 시스템의 타이트한 통합은 사용할 수 없다. 그런 이유에서 시스템을 VT레벨에서 그래픽화한 쉘 레벨로 전환할 때 나타나는 작은 문제가 있다.


그 외에도 Mir를 통해 서로 다른 플랫폼간에서 작동하는 그래픽 스택을 제공하기 위함이며, 그래픽 스택과 디스플레이 서버 컴포넌트가 쉽게 통합될 수 있게 하는 것을 목표로 하고 있습니다.


몇가지 목표들도 제시하고 있는데,

  1. Well-defined functionality : 최대한 불필요한 함수들을 줄여 잘 만들겠다는 이야기입니다.
  2. Efficiency : CPU, GPU, 메모리와 전력 소비에 특히 초점을 맞춰 효율성을 높인다는 이야기입니다.
  3. Test-driven : 소프트웨어 개발 방법론적으로 TDD를 사용한다는 이야기 입니다.
  4. Versatile & Flexible : 플랫폼간 이식성에 초점을 맞춘것 같습니다. (모바일 디바이스 - pc 등)
  5. Security : 보안적 측면에 대한 이야기입니다.
  6. Toolkit integration & Legacy X application support : 툴킷의 관한 이야기와, 기존 X window를 사용하던 시스템간의 호환성유지를 위해 X server의 일부를 탑재한다는 이야기입니다.

 이 외에도 왜 Wayland를 선택하지 않았는지에 대한 내용도 있습니다. 이 내용은 차후 번역해서 올려보도록 하겠습니다.



 * 참조


신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'오픈소스 > Mir' 카테고리의 다른 글

Mir 시작하기 - Mir 설치 및 코드 받기  (0) 2014.01.14
Mir 란 무엇인가?  (0) 2014.01.05

댓글
댓글쓰기 폼