가공데이터 · 한국어 지식관계

엑소커널 document_id A220623137510

분류
연예
라벨 상태 (label_status)
approved
문맥 (context)
엑소커널(Exokernel)은 매사추세츠 공과대학교의 병렬 및 분산 운영 체제 그룹에서 개발한 운영 체제 커널이다. 엑소커널의 기본 아이디어는 개발자에게 가장 낮은 수준의 추상(abstraction) 수준을 제공함으로써 개발자들이 하드웨어와 관련해 가능한 많은 결정권을 갖도록 만드는 것이다. 엑소커널은 자원에 대한 보호(protection)와 다중화(multiplexing)만을 제공하므로 매우 크기가 작고, 마이크로커널의 메시지 전달(message passing)이나 모놀리틱 커널의 추상 계층들에 비해 훨씬 간단하다. 엑소커널 위에서 구현된 애플리케이션은 라이브러리 운영 체제(library OS)라고 불리는데, 이 라이브러리 운영 체제들은 특정 메모리 영역, 디스크 블록 등의 자원을 엑소커널에 요청할 수 있다. 커널은 요청된 자원이 쓸 수 있는지, 요청한 애플리케이션이 접근 가능한지만을 확인한다. 이런 낮은 수준의 하드웨어 접근 방식은 애플리케이션 프로그래머들이 예전의 추상 계층들을 똑같이 구현하거나, 쓸모없는 부분을 생략하거나, 프로그램의 성능을 향상시키는 데 쓰일 수 있다. 따라서 프로그래머들은 어느 수준의 추상화를 원하는지를 선택할 수 있다. 엑소커널은 하나의 애플리케이션이 다른 요구조건(requirements)을 가진 다른 추상 계층 위에 놓이도록 강제하지 않는다는 점에서 단대단 원칙(end-to-end principle)을 운영 체제에 적용한 한 예로도 볼 수 있다. 예를 들어 MIT 엑소커널 프로젝트에서는 치타 웹 서버는 미리 형태가 준비된 인터넷 프로토콜(IP) 패킷을 디스크에 저장해놓고, 커널은 그 디스크에 대한 다른 애플리케이션의 읽기 및 쓰기를 차단해준다. 하지만 디스크가 어떻게 추상화되어 있는지는 전적으로 애플리케이션이나 그 애플리케이션이 쓰는 라이브러리에 달려있을 뿐이다. 엑소커널은 추상화를 제공하는 라이브러리 운영 체제(libOSes)를 이용한다. 라이브러리 운영 체제는 응용 소프트웨어 프로그래머에게 고수준, 전통적인 운영 체제 추상화, 맞춤 추상화 구현의 의한 더 유동적인 방법을 제공한다. 이론적으로 엑소커널 체제는 하나의 엑소커널 아래에 윈도나 유닉스와 같은 다양한 운영 체제를 구동할 수 있다. 엑소커널의 개념은 1995년에 MIT의 도슨 앵글러가 쓴 논문에서 소개되었고, 여전히 학계에서 연구 중이나 대규모의 상용 운영 체제는 없다. 연구용으로 현재 사용되고 있는 엑소커널 기반의 시스템은 케임브리지 대학교, 글라스고 대학교, Citrix Systems, Swedish Institute of Computer Science가 만든 네미시스와 MIT가 엑소커널 기반의 운영 체제로 구성한 ExOS가 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
엑소커널이 개발자에게 제공하는 핵심적인 이점과 이것이 운영 체제 설계 측면에서 갖는 의의는 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    엑소커널의 설계 방식이 개발자에게 주는 이점과 그로 인한 운영 체제적 의의를 파악한다.

  2. 2정보 추출information_extraction

    엑소커널의 기본 아이디어와 개발자에게 제공하는 추상화 수준을 추출한다.

    • 엑소커널의 기본 아이디어는 개발자에게 가장 낮은 수준의 추상(abstraction) 수준을 제공함으로써 개발자들이 하드웨어와 관련해 가능한 많은 결정권을 갖도록 만드는 것이다.
  3. 3근거 선택evidence_selection

    낮은 수준의 접근이 가져오는 구체적인 활용 방안을 선별한다.

    • 이런 낮은 수준의 하드웨어 접근 방식은 애플리케이션 프로그래머들이 예전의 추상 계층들을 똑같이 구현하거나, 쓸모없는 부분을 생략하거나, 프로그램의 성능을 향상시키는 데 쓰일 수 있다.
  4. 4논리 통합logical_integration

    개발자의 결정권 확대와 성능 최적화 가능성을 연결하여 의의를 도출한다.

    • 따라서 프로그래머들은 어느 수준의 추상화를 원하는지를 선택할 수 있다.
  5. 5결론 도출conclusion_formulation

    개발자에게 하드웨어 결정권을 부여하여 성능 향상 및 유연한 추상화 선택권을 제공한다는 결론을 도출한다.

    • 개발자들이 하드웨어와 관련해 가능한 많은 결정권을 갖도록 만드는 것이다.
  6. 6답변 생성answer_generation

    질문에 대해 개발자의 결정권, 성능 향상, 추상화 선택권의 관점에서 답변을 작성한다.

    • 개발자들이 하드웨어와 관련해 가능한 많은 결정권을 갖도록 만드는 것이다.
    • 프로그램의 성능을 향상시키는 데 쓰일 수 있다.
    • 프로그래머들은 어느 수준의 추상화를 원하는지를 선택할 수 있다.
최종 답변 (final_answer)
엑소커널은 개발자에게 가장 낮은 수준의 추상화 수준을 제공함으로써 하드웨어와 관련한 최대한의 결정권을 부여한다. 이를 통해 프로그래머는 기존의 추상 계층을 재구현하거나 불필요한 부분을 생략하여 프로그램의 성능을 향상시킬 수 있으며, 자신이 원하는 수준의 추상화를 직접 선택할 수 있는 유연성을 갖게 된다.
핵심 해석 (core_interpretation)
엑소커널은 개발자에게 가장 낮은 수준의 추상화 수준을 제공하여 하드웨어와 관련된 최대한의 결정권을 부여함으로써 성능 향상과 추상화 수준 선택의 유연성을 제공한다.