Fuchsia OS는 수정되지 않은 Linux 프로그램 실행을 지원하기 위해 노력하고 있습니다.

Google 개발자 며칠 전에 출시 Linux 용으로 컴파일 된 수정되지 않은 프로그램을 실행하는 메커니즘을 구현하는 계획 운영 체제 푹샤.

사용자 공간에서 Linux 프로그램을 실행하려면 Linux ABI를 지원하기 위해 "starnix"레이어를 제공 할 계획. 개발 된 계층에서 Linux 커널 시스템 인터페이스는 사용자 공간에서 실행되고 Linux 프로그램의 요청을 해당 Fuchsia 하위 시스템에 대한 호출로 변환하는 Fuchsia 운영 체제 용 프로세스로 실행되는 드라이버에서 구현됩니다.

관찰되는 것은e 프로젝트 개발 중에 많은 Fuchsia 하위 시스템을 수정해야합니다. Linux에서 사용 가능한 모든 시스템 인터페이스를 구현합니다. starnix의 아키텍처는 Windows를 사용하여 Linux 시스템 호출을 Windows 시스템 호출로 변환하는 Linux 용 Windows 하위 시스템의 아키텍처와 크게 동일합니다.

가능한 취약점 벡터를 최소화하기 위해 Rust에 starnix 코드를 구현할 계획입니다.Linux 프로세스의 권한을 starnix 프로세스로 승격시키는 데 잠재적으로 사용될 수 있습니다.

starnix의 보안을 보장하기 위해 가능한 한 표준 Fuchsia 보호 메커니즘이 사용됩니다.

예를 들어, 파일 시스템, 네트워크 스택 또는 그래픽 하위 시스템과 같은 시스템 서비스에 액세스 할 때 starnix는 요청 만 변환하여 Linux ABI를 Fuchsia 시스템 ABI로 변환하여 일반적인 Fuchsia 프로세스에 적용되는 것과 동일한 제한을 허용합니다.

예를 들어 어떤 상황에서 한 Linux 프로세스가 다른 프로세스를 종료 할 수있는 권한이 있는지 정의하는 것과 같은 Linux 특정 권한 부여 메커니즘도 구현됩니다.

Fuchsia 개발자는 과거에 Linux 애플리케이션 실행에 대한 지원을 개발했지만 Chrome OS에서 Linux 애플리케이션 실행이 구성되는 방식과 유사하게 작동하는 구현을 실험했습니다.

Linux 호환성을 위해 Fuchsia는 Machina 라이브러리를 제공했습니다., Linux 프로그램을 Zircon 커널 및 Virtio 사양을 기반으로하는 하이퍼 바이저를 사용하여 형성된 특수 격리 된 가상 머신에서 실행할 수 있습니다.

가상화의 사용은 배제되지 않습니다. Linux 시스템 인터페이스의 전체 구현은 사소한 작업이 아니기 때문입니다.

스타 닉스 망토 외에도 별도의 가상 머신에서 실행되는 Linux 커널을 사용하여 Linux 실행 파일을 실행하는 메커니즘을 생성 할 수 있습니다.. 이 방법은 구현하기 가장 쉽지만 가장 많은 리소스를 소비하는 것으로 간주됩니다.

어느 시점에서 Microsoft는 변환기에서 Linux 호환성 계층을 개발하기 시작했지만 결국 Linux 2 용 Windows 하위 시스템에서 기본 Linux 커널을 사용하도록 전환했습니다.

또한, Fuchsia는 이미 POSIX Lite 호환성 레이어를 제공합니다. Fuchsia System ABI 위에서 실행됩니다. POSIX Lite를 사용하면 일부 Linux 프로그램을 실행할 수 있지만 응용 프로그램 코드를 다시 컴파일하고 경우에 따라 소스 코드를 수정해야합니다.

문제 중 하나 POSIX Lite 사용 모든 POSIX 기능의 불완전한 구현입니다. 프로세스의 전역 상태 변경을 금지하는 Fuchsia의 보안 개념과 상충되는 프로세스의 전역 상태 (예 : kill 함수)를 변경하는 호출을 포함합니다. 표현하다.

개방형 응용 프로그램을 이식하는 과정에서 POSIX Lite의 사용이 정당화됩니다.s이지만 코드에 액세스 할 수없는 프로그램 실행 문제는 해결하지 못합니다 (예 : 컴파일 된 네이티브 삽입이 포함 된 Android 애플리케이션과의 호환성을 달성 할 수 없음).

Fuchsia 프로젝트의 프레임 워크 내에서 Google은 워크 스테이션과 스마트 폰에서 임베디드 및 소비자 기술에 이르기까지 모든 유형의 장치에서 작동 할 수있는 범용 운영 체제를 개발하고 있습니다. 개발은 Android 플랫폼을 만든 경험을 기반으로하며 확장 및 보안 분야의 단점을 고려합니다.

이 시스템은 LK 프로젝트의 개발을 기반으로하는 Zircon 마이크로 커널을 기반으로하며 스마트 폰 및 개인용 컴퓨터를 포함한 다양한 등급의 장치에서 사용하도록 확장되었습니다.

출처 : https://fuchsia.googlesource.com


코멘트를 남겨주세요

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

*

*

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