운영 체제를 위한 적응형 도메인 환경
Adaptive Domain Environment for Operating Systems원저작자 | 카림 야그무르 필리프 게룸 |
---|---|
초기 릴리즈 | 2002년 6월 | , 전(
운영 체제 | 리눅스 |
플랫폼 | IA-32 |
이용가능기간: | 영어 |
유형 | 나노커널 하드웨어 추상화 레이어(HAL), 하이퍼바이저 |
면허증. | GPL |
웹 사이트 | www |
Adeos(Adaptive Domain Environment for Operating Systems)는 컴퓨터 하드웨어와 [1][2]운영체제(OS) 사이에서 작동하는 나노커널 하드웨어 추상화 레이어(HAL) 또는 하이퍼바이저입니다.외부 커널을 위한 낮은 층일 뿐만 아니라 다른 나노커널과 구별됩니다.대신 여러 커널을 함께 실행하도록 설계되어 있기 때문에 완전한 가상화 기술과 유사합니다.GNU General Public License(GPL)에 따라 출시된 무료 오픈 소스 소프트웨어입니다.
Adeos는 여러 운영체제 간 또는 한 OS의 여러 인스턴스 간에 하드웨어 자원을 공유하기 위한 유연한 환경을 제공하므로 동일한 하드웨어 상에 여러 우선순위 도메인이 동시에 존재할 수 있습니다.
Adeos는 Linux 커널 아래에 성공적으로 삽입되어 대칭 멀티프로세서(SMP) 클러스터링, 보다 효율적인 가상화, 패치리스 커널 디버깅, Linux용 실시간 컴퓨팅(RT) 시스템 등의 다양한 가능성을 열어 놓았습니다.
HAL 중에서 이례적으로 Adeos는 Linux 로딩 가능한 커널 모듈로 로드되어 다른 OS가 함께 실행되도록 할 수 있습니다.Adeos는 그것을 모듈화하고 실시간 커널로부터 HAL을 분리하기 위해 실시간 애플리케이션 인터페이스 (RTAI)의 맥락에서 개발되었다.
선행 작업
여러 운영 체제를 동일한 시스템에서 실행할 수 있도록 하기 위한 두 가지 범주의 방법이 있습니다.첫 번째는 시뮬레이션 기반이며 추가 운영 체제를 실행할 수 있는 가상 환경을 제공합니다.두 번째는 하드웨어 [1]공유를 활성화하기 위해 나노커널 층을 사용할 것을 권장합니다.
시뮬레이션 카테고리에는 Xen, VMware, Plex86, Virtual PC, SimOS 등의 툴이 있습니다.Adeos와[citation needed] 더 유사하지만 RT가 아니므로 특정 가상화 하드웨어 지원이 필요한 KVM(Kernel-based Virtual Machine)도 있습니다.이러한 방법은 기본 OS와 다른 애플리케이션을 실행하려는 사용자에게 사용되며 기본 OS를 제어할 수 없습니다.시뮬레이션은 실제 환경에서 사용하도록 의도된 것이 아닙니다.nanokernel 카테고리에는 SPACE, 캐시 커널, Exokernel 등의 툴이 있습니다.이[citation needed] 모든 것은 운영 체제 구축에 사용할 수 있는 소규모 하드웨어 관리 설비를 구축하는 것을 의미합니다.이 접근방식의 문제는 기존 운영체제 및 그 사용자 [1]기반 문제에 대처하지 않는다는 것입니다.
Adeos는 수정되지 않은 실행 중인 OS 아래에 삽입되는 단순한 레이어를 제공하고 그 후 여러 OS가 동일한 하드웨어 환경을 공유할 수 있도록 하기 위해 필요한 프리미티브와 메커니즘을 제공함으로써 두 애플리케이션 카테고리의 요건을 모두 충족합니다.Adeos는 Adeos 자신의 운영에 필요한 것보다 많은 다른 OS에 의해 하드웨어 사용에 어떠한 제한도 가하지 않는다.대신, 이러한 제한은 시스템 관리자 또는 시스템 프로그래머에 의해 부과됩니다.이것은 시스템을 잘못된 관리로 노출시키지만, Adeos의 배후에 있는 아이디어는 시스템 관리자와 [1]프로그래머에게 제어권을 돌려주는 것입니다.
아키텍처
Adeos는 신호의 큐를 구현합니다.주변기기가 신호를 보낼 때마다 기계에서 실행 중인 다른 운영체제가 차례로 작동하기 때문에 신호를 받아들일지, 무시할지, 폐기할지 또는 종료할지를 결정해야 합니다.OS에 의해 처리되지 않은(또는 폐기되지 않은) 신호는 체인의 다음 OS로 전달됩니다.종단된 신호는 [1]후기로 전파되지 않습니다.
Adeos는 하드웨어에 대한 동등하고 신뢰할 수 있는 접근을 보장해야 하기 때문에 다른 OS에서 발행되는 일부 하드웨어 명령어를 제어할 수 있지만 다른 OS의 정상적인 동작에 너무 간섭해서는 안 됩니다.각 OS는 완전한 제어가 가능한 도메인에 포함되어 있습니다.이 도메인에는 프라이빗 주소 공간과 프로세스, 가상 메모리, 파일 시스템 등의 소프트웨어 추상화가 포함될 수 있습니다.Adeos는 하드웨어 운영에 필요한 경우를 제외하고 하드웨어 사용 정책을 부과하지 않는다.정책을 결정하는 작업은 시스템 [1]설계자에게 맡겨집니다.
아데오스 인터럽트 파이프

Adeos는 인터럽트 파이프를 사용하여 하드웨어에서 실행되는 다른 도메인을 통해 인터럽트를 전파합니다.일부 도메인이 하드웨어 인터럽트를 최초로 수신하는 것을 선호할 수 있기 때문에 Adeos는 도메인이 우선 인터럽트 디스패치에 접근할 수 있는 메커니즘을 제공합니다.실제로, Adeos는 SPACE 용어에서 인터럽트 메커니즘으로 불릴 수 있는 요청 도메인의 인터럽트 핸들러와 부수된 테이블을 인터럽트 파이프라인의 첫 번째 단계에 배치한다.도메인은 인터럽트를 허용할지, 무시할지, 폐기할지 또는 종료할지 제어할 수 있습니다.이들 각각은 다른 효과와 다르게 [1]제어됩니다.
인터럽트를 받아들이는 것은 도메인의 인터럽트 메커니즘의 정상적인 상태입니다.Adeos는 인터럽트를 받아들이는 도메인을 발견하면 인터럽트 핸들러가 올바르게 동작하기 위해 필요한 CPU 환경과 스택컨텐츠를 설정한 후 인터럽트 핸들러를 호출합니다.OS는 태스크 스케줄링을 포함한 임의의 수의 조작을 실행할 수 있습니다.OS가 완료되면 파이프라인은 계획대로 인터럽트를 파이프라인으로 [1]전파합니다.
도메인내의 OS가 어떠한 이유로 인터럽트를 원하지 않는 경우, 그 도메인이 인터럽트 파이프라인내에서 차지하는 스테이지의 정지를 Adeos에게 요구합니다.이렇게 하면 인터럽트는 파이프라인 내에서 더 이상 진행되지 않고 도메인이 점유하는 단계에서 정지됩니다.OS가 중단되지 않기를 원하는 경우, 그것은 Adeos에게 파이프라인을 설치하도록 요청하고, 그 후 대응하는 단계에서 정지된 모든 인터럽트는 [1]파이프라인의 다른 단계로 경로를 따릅니다.
도메인이 인터럽트를 폐기할 때 인터럽트는 도메인이 점유하고 있는 스테이지를 넘어 다른 스테이지로 넘어갑니다.도메인이 인터럽트를 종료하면 도메인으로 종료된 인터럽트는 후기로 전파되지 않습니다.인터럽트 폐기 및 종료는 도메인 내의 OS가 Adeos를 인식할 때만 가능합니다.
일부 OS는 Adeos를 인식하지 않기 때문에 해당 OS의 핸들러 역할만 하는 도메인을 만들 수 있습니다.따라서 인터럽트 파이프라인에서 이 단계는 항상 처리 도메인의 단계보다 앞서고 처리 도메인의 OS에 정상적인 시스템 작동의 착각을 제공하기 위해 Adeos를 사용하여 해당 도메인에 대한 조치를 취할 수 있다.
Adeos가 파이프라인을 통과하면 모든 도메인이 휴지 상태인지 확인합니다.이 경우 아이돌태스크를 호출합니다.이 작업은 다음 인터럽트가 발생할 때까지 활성 상태로 유지됩니다.모든 도메인이 휴면 상태가 아닌 경우 파이프라인에 진입하는 인터럽트 이전 상태로 프로세서를 복원하고 실행은 계속됩니다.Adeos는 하드웨어에 매우 의존적이기 때문에, 많은 세부사항들이 특정 구현 [1]중 하나에 한정된다.
적용 가능성
범용 운영 체제 리소스 공유
범용 운영 체제 자원 공유는 Adeos의 주요 목표 중 하나로, 여러 범용 OS가 동일한 [1]하드웨어를 공유할 수 있는 환경을 제공합니다.
운영 체제 개발
OS의 개발은 통상 복잡한 프로세스로, OS가 가동하고 있는 하드웨어를 조사하기 위해 회로 내 에뮬레이터 등의 추가 하드웨어가 필요할 수 있습니다.Adeos를 사용하면 원하는 동작이 적절한 도메인 핸들러에 의해 제어될 수 있기 때문에 OS 개발이 쉬워집니다.또, OS개발용의 디폴트 도메인 핸들러를 제공할 수도 있습니다.이 경우 개발자는 자신이 제어하는 하드웨어에 직접 액세스 할 수 있습니다.Adeos 자체가 커널 모듈이기 때문에, 그러한 개발 도메인 핸들러는 [1]Adeos로부터 독립적으로 개발될 수 있다.
패치리스 커널 디버거 및 프로버
Adeos는 커널 디버거와 프로버가 Linux를 수정하지 않고 Linux를 제어할 수 있는 방법을 제공합니다.다른 Adeos 도메인과 마찬가지로, 이 기능들은 일반적인 커널 모듈로 로딩될 것이고, 그 후에 Adeos로부터 링 제로 도메인을 요구할 것이다.이 작업이 완료되면 인터럽트 파이프라인에서 인터럽트 디스패치를 우선적으로 요구할 수 있습니다.따라서 Linux가 인터럽트를 처리하기 전에 인터럽트를 대행 수신하여 요청된 디버깅작업을 수행할 수 있습니다.퍼포먼스 프로파일러 및 기타 개발 도구로도 확장할 [1]수 있습니다.
「 」를 참조해 주세요.
- 제노마이
- 나노커널
- 하드웨어 추상화 레이어
- HAL(소프트웨어)