HermiTux : Linux 애플리케이션과 호환되는 바이너리 유니 커널

허미턱스

Virginia Polytechnic University의 연구원 그룹 (미국), Qualcomm 및 Aachen Rhine-Westphalia Technical University (독일) 그들은 발전하고있다 경량 코어 허미턱스, 유니 커널 패러다임에 해당합니다.

HermiTux는 하이퍼 바이저에서 직접 애플리케이션을 실행할 수 있도록 설계 추가 레이어없이 ABI 수준에서 Linux 애플리케이션과 바이너리 호환성을 제공합니다.

HermiTux 코드 C 프로그래밍 언어로 작성되었으며 BSD 라이선스에 따라 배포됩니다..

HermiTux는 최소한의 운영 체제 환경을 제공합니다. 자체 커널 (유니 커널)로 훨씬 적은 자원을 소비합니다. 일반 Linux 커널을 기반으로 환경을 만들 때보 다.

이것으로 하이퍼 바이저에서 애플리케이션을 빠르게 시작할 수 있습니다. 시작 시간은 0,1 초를 초과하지 않습니다.

HermiTux 성능 테스트에서, 호스트 측으로의 I / O 포워딩 오버 헤드로 인해 일반 Linux 커널을 사용하는 환경에서 약 3 % 지연되었습니다.

테스트 환경의 메모리 사용량은 9MB였습니다. 이는 Linux 커널을 사용할 때보 다 10 배 적습니다 (Docker 사용량은 전체 가상화를 사용하지 않고 호스트 환경에서 공통 커널을 사용하기 때문에 약 2MB였습니다).

HermiTux 정보

허미턱스 수정되지 않은 응용 프로그램을 실행할 수있는 기능을 가지고 있다는 점에서 두드러집니다. Linux 용으로 생성되었습니다. ELF 형식 지원을 통해 수행됩니다., Linux 시스템 호출의 구현 및 가상 파일 시스템의 에뮬레이션.

HermiTux 개발의 현재 단계에서 이것은 83 개의 시스템 호출을 구현합니다. 전체적으로 Linux 커널은 350 개 이상의 시스템 호출을 제공하지만 실제 애플리케이션에서는 그중 일부만 사용됩니다 (정규 배포 프로그램의 90 %를 다루기 위해 200 개의 시스템 호출을 구현하는 것으로 충분합니다).

시스템 호출 처리 중 지연을 줄이기 위해 일반적인 커널 함수를 호출하기 위해 시스템 호출을 재정의 (재 작성)하는 선택적 메커니즘이 구현됩니다.

정적으로 관련된 애플리케이션의 경우 실행 파일에서 syscall 문을 함수 호출로 대체 할 수 있습니다.

동적으로 관련된 응용 프로그램의 경우 표준 라이브러리 수준에서 교체가 수행됩니다.

또한, 실행 파일과 관련된 시스템 호출을 분석하기위한 도구가 준비되었습니다. 애플리케이션에서 사용되는 시스템 호출 만 처리하는 데 필요한 코드 만 포함 된 HermiTux의 최소 이미지를 수집 할 수 있습니다.

허미턱스

HermiTux 기능

허미턱스 최소 계층과 함께 Linux 바이너리를로드하는 경량 KVM 기반 하이퍼 바이저를 사용합니다. 단일 주소 공간 가상 머신 내에서 운영 체제의. 런타임시 응용 프로그램에서 만든 시스템 호출은 HermiTux 커널에 의해 캡처됩니다.

선택적으로 HermiTux 시스템 호출 호출을 다시 작성하는 메커니즘을 제공합니다. 일반적인 커널 함수 호출에서 시스템 호출 대기 시간을 크게 줄입니다.

보호의 관점에서 보면 모듈화는, 그리고필터링 대신 사용하지 않는 시스템 호출 (예 : seccomp를 통해) 커널에서 완전히 제외하십시오.

애플리케이션은 공유 주소 공간에서 실행됩니다 (HermiTux는 단일 애플리케이션 하이퍼 바이저 위에서 실행되도록 설계되었습니다).

기본 스레딩 지원 (Pthreads Embedded)이 제공됩니다.

파일 시스템으로 MiniFS 제안, 여기서 파일은 RAM (RAM 디스크)에 배치되고 가상 파일 시스템의 일부 요소 (/ dev / zero, proc / cpuinfo 등)가 에뮬레이션됩니다.

TCP / IP 스택은 LWIP 프로젝트를 기반으로하며 Musl 프로젝트의 수정 된 버전이 표준 C 라이브러리로 사용됩니다.

HermiTux는 응용 프로그램의 재 조립이 필요하지 않으며 컴파일 된 실행 파일 (정적 및 동적 관련)과 해석 된 언어 (Python, Lua 등)의 응용 프로그램을 모두 실행할 수 있습니다.

프로젝트 링크.


코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.