모노 (소프트웨어)

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
모노
Mono
Mono Project Logo.svg
모노 아키텍처의 다이어그램
모노 아키텍처의 다이어그램
원저자 시미안
개발자 자마린
발표일 2004년 6월 30일
안정화 버전 5.18.0 / 2018년 12월 21일
미리보기 버전 5.16.0.108 / 2018년 8월 14일
프로그래밍 언어 C, C#, XML
운영 체제 윈도우, macOS, 리눅스
플랫폼 IA-32, x86-64, IA-64, ARM, MIPS, 파워PC, SPARC, S390
종류 소프트웨어 프레임워크
라이선스 MIT 라이선스
웹사이트 mono-project.com

모노(영어: Mono)는 C# 컴파일러와 공통 언어 런타임을 포함하여, Ecma 표준을 준수하는 닷넷 프레임워크오픈 소스 버전이다. 원래는 노벨이 개발 회사인 시미안을 인수하면서 노벨이 계속 개발하게 되었는데, 마이크로소프트에서 개발을 양도받아 자회사인 자마린에서 개발하고 있다. 모노의 각종 크로스 플랫폼에서 닷넷 프레임워크 기반 응용 프로그램을 실행을 하는 동시에 리눅스 개발자에게 더 나은 개발 도구를 제공하기 위한 목적으로 개발되었다. 모노는 대부분 리눅스 배포판을 비롯하여, BSD, macOS, 윈도우, 솔라리스, 안드로이드등을 비롯하여, 플레이스테이션3, 엑스박스 360 같은 콘솔 게임기 같은 많은 운영 체제에서 실행할 수 있는 장점이 있다.

모노는 개발 초기에는 닷넷 프레임워크을 개발한 마이크로소프트에 맞서기 위해서 개발했는데, 문제는 모노를 개발하면서 닷넷 프레임워크를 구현 시키기 위해서는 일부 닷넷의 특허를 사용해야 한다는 문제점이 있다. 당시 마이크로소프트는 폐쇠적인 사유 소프트웨어 정책을 펼치기로 유명해서 초창기에 개발된 모노는 특허 침해에 대한 많은 소송전을 맞서야 했다. 그러나 최근에 마이크로소프트가 폐쇠적인 정책을 버리고 오픈 소스 정책을 추진하기 시작하면서, 닷넷을 오픈 소스화 시켰고, 모노의 개발을 양도를 받으면서 자마린에서 활용할 수 있도록 개발하고 있다.

실행 환경[편집]

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

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

모노의 구성 요소[편집]

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

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

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

같이 보기[편집]

각주[편집]

외부 링크[편집]