Lites

Lites는 Mach 3.0 마이크로커널 위에서 BSD UNIX 기능을 사용자 공간 서버로 제공하기 위해 개발된 운영체제 연구 프로젝트다. BSD 계열의 시스템 호출과 파일 시스템, 네트워크 기능 등을 Mach 인터페이스와 결합하며 UNIX 실행 환경을 구현했다. GNU Hurd처럼 여...

분류Mach 기반 BSD UNIX 서버
개발헬싱키 공과대학교 관련 연구진
시기1990년대
커널 기반Mach 3.0
UNIX 기반BSD 사용자 공간·커널 코드
구조단일 사용자 공간 UNIX 서버
프로그램 인터페이스BSD UNIX 시스템 호출 에뮬레이션
핵심 기술Mach IPC, 스레드 및 태스크
비교 계열Mach-US, GNU Hurd
상태역사적 연구
자료CMU Mach Research

Lites는 Mach 3.0 마이크로커널 위에서 BSD UNIX 기능을 사용자 공간 서버로 제공하기 위해 개발된 운영체제 연구 프로젝트다. BSD 계열의 시스템 호출과 파일 시스템, 네트워크 기능 등을 Mach 인터페이스와 결합하며 UNIX 실행 환경을 구현했다. GNU Hurd처럼 여러 작은 서버로 기능을 분리하는 접근과 구별되는 단일 UNIX 서버 계열의 사례다.[1]

Lites는 Helsinki University of Technology의 연구에서 Mach 3.0 마이크로커널을 활용해 BSD UNIX 기능을 사용자 공간의 단일 서버로 구현하려던 시스템이다. 파일과 프로세스, 네트워크, UNIX 시스템 호출 처리를 커널 밖에서 실행하되 BSD 소스 코드의 상당 부분을 재사용하는 방식을 취했다. Mach의 태스크·스레드 및 IPC가 저수준 실행 기반을 담당하고, BSD 서버가 UNIX 응용 프로그램에 필요한 서비스의 의미를 제공한다.[2]

Lites의 이름은 Mach-US나 Hurd처럼 독립 서버를 다수 구성하는 방식보다 하나의 BSD UNIX 서버를 중심으로 하는 구조를 설명할 때 중요하다. 서버로 옮겨진 UNIX 기능은 IPC와 에뮬레이션 라이브러리를 통해 사용자 프로그램에 노출되며, BSD 사용자 공간의 기존 인터페이스를 보존하는 것이 주요 목표였다. Mach 3.0 기술을 채택하더라도 상위 운영체제가 어떤 구성으로 UNIX 환경을 제공하는지에 따라 각 계보의 성격이 달라진다는 사례다.

Lites는 BSD UNIX 기능을 Mach 커널 내부에 직접 결합하기보다 사용자 공간에서 실행되는 하나의 UNIX 서버로 구성하는 접근을 택했다. Mach 커널은 태스크·스레드 및 메모리 관리와 메시지 전달을 처리하고, 서버는 응용 프로그램의 UNIX 파일·프로세스·네트워크 요청을 수행한다. BSD 소스 코드를 재사용하면서 이 인터페이스를 유지한다는 점이 주요 연구 목표였다.

Mach 기반 운영체제의 서비스 구조는 단일 서버와 다중 서버로 나뉠 수 있다. Lites는 BSD UNIX 기능을 한곳에 모아 기존 구현을 이식하는 모델을 보여주는 반면 Mach-US와 GNU Hurd는 여러 서버의 협력을 더 적극적으로 연구했다. 이 사례는 같은 Mach 3.0 커널을 사용하더라도 상위 운영체제 계보가 다른 방식으로 발전할 수 있음을 보여준다.[3]

역사

Mach 3.0 기반 연구

BSD UNIX 서버 개발

개발 목표

시스템 구조

Mach 마이크로커널

BSD 단일 서버

시스템 호출 에뮬레이션

파일 시스템

네트워크

프로세스 관리

BSD와의 관계

다른 Mach 서버와의 비교

관련 문서

  1. 관련 기술 문서 ↩
  2. CMU: Mach 관련 연구 ↩
  3. CMU Mach 아카이브 ↩