Mach 1

Mach 1은 카네기 멀런 대학교의 Mach 프로젝트에서 1980년대 중반 개발한 초기 커널 계열이다. Accent의 메시지 전달 모델과 BSD UNIX 호환성, 태스크·스레드 및 멀티프로세서 실행을 결합했으며, 후대의 Mach 2.x 및 Mach 3.0으로 이어지는 토대가 되었다. 당...

분류초기 Mach 커널 개발 단계
개발카네기 멀런 대학교
개발 시기1980년대 중반
선행 연구Accent, RIG
UNIX 기반BSD UNIX 호환성
커널 기능태스크·스레드, IPC, 가상 메모리
설계 목적멀티프로세서 및 분산 시스템
후속 계보Mach 2.x, Mach 3.0
상태역사적 개발 버전
공식 자료CMU Mach Project

Mach 1은 카네기 멀런 대학교의 Mach 프로젝트에서 1980년대 중반 개발한 초기 커널 계열이다. Accent의 메시지 전달 모델과 BSD UNIX 호환성, 태스크·스레드 및 멀티프로세서 실행을 결합했으며, 후대의 Mach 2.x 및 Mach 3.0으로 이어지는 토대가 되었다. 당시의 연구 기록에서는 Mach-1이라는 명칭으로도 언급된다.[1]

초기 Mach는 Accent에서 발전한 IPC 개념과 BSD UNIX의 실제 사용자 환경을 결합하면서 운영체제 내부에서 태스크와 스레드의 책임을 구분했다. 태스크가 주소 공간과 커널 자원을 관리하고 여러 스레드가 그 안에서 실행되는 모델은 이후 Mach 계열의 핵심 구조가 되었다. 멀티프로세서와 분산 컴퓨팅을 위한 메시지 전달 및 동시 실행 기능도 초창기 연구에서 중요한 위치를 차지했다.[2]

이 연구는 후속 Mach 2.x에서 BSD와 통합된 UNIX 커널로 발전하고, Mach 3.0에서 운영체제 기능을 사용자 공간 서버로 더 적극적으로 나누는 기반이 되었다. 같은 Mach라는 이름을 쓰더라도 모든 시기의 커널이 동일한 마이크로커널 구조를 갖는 것은 아니다. 초기 Mach의 의의는 실제 UNIX 호환성을 제공하면서 운영체제 커널의 실행·통신·메모리 구조를 새롭게 조직하려 했던 개발 단계라는 점에 있다.

초기 Mach의 연구진은 메시지 중심 운영체제의 장점을 유지하면서 실제 사용 가능한 UNIX 기반 개발 환경을 함께 제공하려 했다. BSD UNIX 호환성에 더해 스레드와 태스크를 구분하는 실행 모델, 커널 수준의 메시지 전달 및 가상 메모리 관리 등 새로운 구성 요소를 도입했다. 이는 하나의 운영체제 프로젝트가 UNIX의 실용성과 분산 시스템·멀티프로세서 연구를 동시에 다루는 방식이었다.[3]

뒤이은 Mach 2.x에서는 UNIX 기능을 커널에 보다 풍부하게 통합했고 Mach 3.0에서는 상위 운영체제 서비스를 사용자 공간 서버로 분리했다. 따라서 Mach 1을 후대의 완성된 마이크로커널과 동일한 구성으로 설명하지 않는다. 초기 개발은 Accent에서 발전한 통신 개념을 UNIX 시스템과 결합하는 과정을 보여주는 단계로 이해할 수 있다.

역사

Accent 이후의 개발

초기 연구 시스템

Mach 2.x로의 계승

설계 목표

커널 구조

태스크와 스레드

포트와 메시지

가상 메모리

BSD UNIX 호환성

멀티프로세서 지원

초기 하드웨어 플랫폼

VAX

기타 연구용 플랫폼

관련 문서

  1. 기술 문서 ↩
  2. CMU Mach 프로젝트 개요 ↩
  3. CMU Mach의 역사 ↩