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 시스템과 결합하는 과정을 보여주는 단계로 이해할 수 있다.