MINIX

MINIX는 Andrew S. Tanenbaum이 운영체제의 내부 구조와 UNIX 프로그래밍 인터페이스를 교육하기 위해 개발한 운영체제다. 1987년 공개된 초기 MINIX 1과 후속 MINIX 2는 교육용 UNIX 유사 시스템에 초점을 맞췄고, MINIX 3에서는 드라이버와 시스템 서...

분류교육·연구용 마이크로커널 운영체제
개발Andrew S. Tanenbaum 및 MINIX 개발팀
시작1987년 최초 공개
기술 계보교육 목적의 독립 UNIX 유사 구현
커널·주요 구성MINIX 커널, MINIX 3 마이크로커널
대상 플랫폼x86 및 일부 ARM 시스템
주요 기능사용자 모드 서버·드라이버 격리
배포·라이선스BSD 계열 오픈 소스 라이선스
개발 상태역사적 교육·연구 운영체제, 후속 개발
참고 자료공식 기술 자료

MINIX는 Andrew S. Tanenbaum이 운영체제의 내부 구조와 UNIX 프로그래밍 인터페이스를 교육하기 위해 개발한 운영체제다. 1987년 공개된 초기 MINIX 1과 후속 MINIX 2는 교육용 UNIX 유사 시스템에 초점을 맞췄고, MINIX 3에서는 드라이버와 시스템 서비스를 사용자 공간 프로세스로 분리해 신뢰성을 높이는 운영체제 연구가 중요해졌다. POSIX와 UNIX의 영향을 받았지만 역사적인 AT&T UNIX 커널을 그대로 재배포한 제품은 아니다.[1]

MINIX 3의 작은 마이크로커널은 인터럽트, 스케줄링과 IPC 같은 기능을 담당하고, 파일 시스템·메모리 관리자·프로세스 관리자·장치 드라이버는 보호된 사용자 공간 서버로 실행된다. 드라이버가 오류로 종료되었을 때 관련 서버를 재시작할 수 있도록 하는 설계는 운영체제 전체의 오류 전파를 줄이는 데 목적이 있다. 구성 요소 사이의 메시지 전달과 접근 권한 제한이 안정성의 중요한 기반이다.

MINIX는 1991년 Linux의 등장과 교육용 운영체제·커널 설계 논의에 역사적 영향을 미쳤지만 Linux의 원본 커널 코드가 MINIX에서 직접 갈라졌다는 뜻은 아니다. 일부 MINIX 3 사용자 공간에는 NetBSD 코드·패키지와의 호환성을 개선하려는 작업도 존재한다. 따라서 커널의 독립적인 기원, 사용자 공간의 코드 재사용, POSIX 호환성을 서로 나누어 설명하는 것이 적절하다.[2]

역사

기원

기술적 발전

설계 목표

커널과 시스템 구조

실행 모델

메모리 관리

시스템 서비스

태스크와 동시성

드라이버와 입출력

네트워크·파일 시스템

개발 도구·응용 환경

실시간·보안 특성

지원 플랫폼과 이식성

관련 운영체제 계보

관련 문서

  1. MINIX 3: User Guide ↩
  2. MINIX 3: Architecture ↩