모노 (소프트웨어)

위키백과 ― 우리 모두의 백과사전.

모노 (소프트웨어)
개발자 노벨
발표일 2004년 6월 30일
최근 버전 2.2 / 2009년 1월 13일
운영체제 다중 플랫폼
종류 소프트웨어 플랫폼
라이선스 GNU GPL v2, GNU LGPL v2, MIT 허가서
웹사이트 [1]

모노(Mono)는 소프트웨어 프로젝트 가운데 하나다.

현재 노벨에 의해 진행되고 있으며 C# 컴파일러, 공통 언어 런타임닷넷 프레임워크와 호환되면서 ECMA 표준에 부합하는 프로그램 개발을 골자로 하고 있다. 현재 모노의 프레임워크는 마이크로소프트 윈도, 리눅스, BSD, 유닉스, 맥 오에스 텐, 솔라리스 등에서 사용할 수 있다.

마이크로소프트사에서는 이미 Shared Source CLI (코드명 Rotor)라는 FreeBSD와 맥 오에스에서 실행할 수 있는 .NET 버전을 내놓았다. 그러나 오픈 소스의 관점에서 볼 때 마이크로소프트사의 Shared Source 허가권은 진정한 오픈 소스는 아니라는 평가를 받고 있다. 또한 명시적으로 상업적인 사용이 금지되어 있다.

목차

[편집] 실행 환경

모노의 실행 환경은 다양한 CPU 아키텍처 형의 JIT(Just-In-Time) 컴파일 엔진을 포함하고 있으며 동작하는 CPU 아키텍처는 다음과 같다.

  • IA-32
  • IA-64 및 AMD64
  • SPARC 및 SPARC64
  • PowerPC
  • ARM
  • S390(32비트 및 64비트 모드)

[편집] 발자취

GNOME 프로젝트의 일원인 멕시코의 개발자 미겔 데 이카자는 2000년 12월경 닷넷 기술에 관한 문서가 나오자마자 이 신기술에 대해 흥미를 가지게 되었다. 바이트 코드 해석기를 자세히 살펴본 다음, 그는 메타데이터에 대한 규격이 전혀 없다는 것을 깨달았다. 2001년 2월 그는 닷넷의 메타데이터 파일 사양에 없는 정보를 닷넷 메일링 리스트에서 찾기 시작했고 동시에 그는 C# 컴파일러를 C#로 다시 작성하기로 한다. 2001년 4월 ECMA는 부족한 파일 규격에 대해 새롭게 발표하였고 2001년 4월 8일 열린 GUADEC 콘퍼런스에서 미겔은 그의 C# 컴파일러를 시연하기에 이른다.

[편집] 현재와 미래

모노의 최신 버전은 1.9이며 2008년 3월 14일에 공개되었다.

이 버전에서는 다음과 같은 기능이 추가 되었다.

  • core API에 대한 지원
  • C# 2.0 및 3.0에 대한 지원
  • Visual Basic.NET에 대한 지원
  • LINQ로부터 객체 혹은 XML형식으로의 변환
  • 모노를 이용한 DLR의 빌드 및 사용

닷넷 프레임워크 3.0에 대한 구현은 아직 개발 중이며 올리브 라는 코드명을 가지고 있다. 그러나 닷넷 프레임워크 3.0에 대해 구체적인 지원 계획은 아직 가지고 있지 않다.

실버라이트의 오픈소스 구현체는 문라이트 라는 코드명을 가지고 있으며 모노 1.9 버전에 포함되었다. 실버라이트 2.0의 닷넷 클래스는 올리브의 모듈의 일부로서 구현되었다. 문라이트는 모노 1.2.6 버전의 일부로 포함되었다.

[편집] 모노의 구성 요소

모노는 다음과 같은 구성 요소를 가지고 있다:

  1. 중심 구성 요소
  2. 모노/리눅스/그놈 개발 스택
  3. 마이크로소프트 호환 스택

모노의 중심구성요소는 C# 컴파일러, 가상머신 그리고 기본 클래스 라이브러리를 포함하고 있으며, 이들 구성요소들은 ECMA-334와 335 표준에 기반으로 하고 있다.

[편집] 덧붙임

[편집] 바깥 고리