오늘날, 기성품(off-the0shelf) 운영체제의 요구사항은 신뢰성 또는 실시간으로 필요로 하는 애플리케이션을 지원으로 복잡해 졌다. 이러한 요구사항을 다루기 위해서는 Microkernel-based separation 해결책일 있다. Microkernel-based separation legacy 어플리케이션을 다시 사용할 있으며, 요구되는 검증부분이 작다. 또한 실시간 어플리키에션, 신뢰성 어플리케이션을 다시 사용할 있다. 때문에 논문에서는 Microkernel based workhorse approach 제안한다.

 

Workhorse 운영체제는 리눅스 또는 윈도우 운영체제와 같이 기성품 운영체제이며 유저모드에서 동작한다. Core 운영체제에 의지하며 core 어플리케이션은 core 안에서 작동한다. I/O supporting 유저모드 I/O 드라이버을 사용하며 안전한 I/O 위해 workhorse로부터 I/O 드라이버를 분리시킨다. 기법은 faulty drivers 실시간 시스템과의 충돌을 workhorse 안전하게 보호 가능하며 신뢰된 어플리케이션 또한 보호된다.

 

Application scenario in Workhorse approach에서는 신뢰할 수 있는 응용 프로그램과 핵심 버그와 악의적인 공격으로부터 보호하며 성공적으로 workhorse encapsulation 있다. 예로 PDA에서 신뢰 가능한 E-mail 핸들러는 신뢰하지 않는 workhorse 안에 파일 시스템을 사용할 서버로부터 Fetch 있으며 암호화, 복호화를 통해 유저에게 전달 한다. 이때 안전하고 신뢰할 있는 서비스를 위해 자체 core 사용한다. 이는 기밀성과 신뢰할 수 있는 응용 프로그램의 무결성은 보장하지만 가용성은 보장하기 않기 때문에 secure storage 필요로 합니다.

 

Software Architecture에서는 Microkernel(L4 fiasco) + 신뢰된 서비스 역할을 하는 small trusted core, Dataspace 통해 메모리는 신뢰하지 않은 컨테이너에 any type 데이터를 넣을 있다. 메시지 기반 통신은 region copy strings 공유하는데 쓰이며, Bus-based DMA는 기기의 Dataspace 있는 물리적 주소를 기억하고 있고 값들을 메모리에 pin한다. Window manager 활성화된 윈도우 display 제어한다. Secure storage 키와 신뢰된 어플리케이션의 자격 증명서(credentials) 가지고 있다. Encryption 사용하여 workhorse 메시지의 내용을 없도록 하며 이때 secure storage 필요하다. DMA CPU처럼 동작하며 physical address 이용한다

 

workhorse로부터 드라이버들을 분리시키는 설명이 있었으며 Separate driver 메시지(5 sequence) 사용하며 internal driver 인터럽트를 사용한다고 한다. 디바이스 드라이버가 Separating address space 가지는 것에 대한 장점으로 메인 메모리가 디바이스 드라이버가 사용할 공간이 생겼다는 것이다. 분리된 드라이버와 Data transfer 중요한 이슈이며

Data transfer address space간의 data 전송을 의미한다. Bus-master DMA bus 통해 실시한 작업에 대해서 tranjaction 작업하며 중간에 오류 나면 해당 작업 전체를 처음부터 안 한 상태로 되돌린다.

 

I/O MMU에서 DMA 반드시 연속적이어야 하며 Physical address에서 동작해야 한다. System call mmap() 이용하여 Mapping 가능하다. mmap()에서 각각은 서로 다른 Virtual address지만 같은 physical address page를 이용한다. Workhouse I/O MMU 지원하며 그것은 I/O MMU에서 mapping을 설정하거나 취소할 있는 핵심 응용 프로그램을 신뢰한다. 논문에서는 I/O MMU mapping steps 대해 나와있으며 Encapsulating 통해 I/O MMU 사용하지 않고도 성능(performance) 있다는 방법도 보여준다.

 

논문에서는 Microkernel based workhorse approach 기법을 제안하였고 workhorse로부터 드라이버가 분리될 있으며 workhorse encapsulate 하는 기법에 대해 제시하였다. 이에 비슷한 연구들이 많이 진행 되었고, 연구들에 대한 survey 함께 제시하였다. 논문을 통해 드라이버를 수정 없이도 활용이 가능하다는 것을 알게 되었으며 마이크로커널을 통해 다양한 방법으로 디바이스 드라이브를 접근할 있다는 것을 배우게 되었다.

+ Recent posts