아크 컴파일러

Ark Compiler
아크 컴파일러
개발자화웨이
초도출시2019년 8월 9일, 4년 전(2019-08-09)
로 적음ArkTS, Cangjie, C, C++
운영체제Android(Android 앱), HarmonyOS, 오픈 하모니
플랫폼ARM, RISC-V, x86, x64 및 Loon[1] Arch
유형컴파일러, 런타임 환경, 컴파일러 프론트엔드, 툴체인
면허증.혼합: 독점 (하모니)OS), 아파치 라이센스(OpenHarmony, Android Ark Compiler)

아크 컴파일러(Ark Compiler) 또는 아크 컴파일러(Ark Compiler)는 프로그래밍 언어와 칩 플랫폼 간의 공동 컴파일 및 실행을 지원하는 통합 컴파일 및 런타임 플랫폼이며, 오픈 소스 오픈 하모니의 운영 체제이기도 합니다.단일 코어 시스템을 갖춘 OS 조화OS NEXT는 통합 개발 환경에서 이벤트 기반 프로그래밍의 네이티브 APP에 포함되었으며 이전에는 앱 성능을 향상시키는 앱 갤러리의 HMS 지원 apk 앱을 사용하여 화웨이 스마트폰 및 태블릿용 안드로이드 기반 EMUI용으로 구축되었습니다.[2] JS, TS, ArkTS 등 다양한 동적, 정적 프로그래밍 언어를 지원합니다. Harmony와 함께 OpenHarmony를 가능하게 하는 컴파일 및 런타임 기반입니다.스마트 기기, 휴대폰, PC, 태블릿, TV, 자동차, 웨어러블 등 여러 기기 형태에서 실행되는 OS NEXT. ArkCompiler는 컴파일러 툴체인과 런타임의 두 부분으로 구성되어 있습니다.[3]

화웨이는 2019년 9월 9일 미국 제재를 통해 운영 체제에서 벗어나면서 처음에 깃허브에서 안드로이드 플랫폼용 소스 아크 컴파일러를 오픈했습니다.[4] 그런 다음 회사는 2019년 8월 시작된 2년 후 2022년 2월 초 화웨이 아크 컴파일러 오픈 소스 프로젝트(HACOSP)의 일환으로 오픈아크 컴파일러와 함께 오픈아크 컴파일러를 오픈합니다. 전년도인 2021년 9월 아크JS_runtime은 2021년 8월에 시작되었습니다.[6]

개요

ArkCompiler는 OpenHarmony와 Harmony의 구성요소화되고 구성 가능한 다국어 컴파일 및 런타임 플랫폼을 내장하고 있습니다.하모니가 있는 OSOS NEXT. 컴파일러, 툴체인 및 런타임과 같은 핵심 구성 요소가 포함되어 있습니다. 멀티칩 플랫폼에서 고급 프로그래밍 언어의 컴파일 및 실행을 지원합니다. ArkCompiler JS Runtime은 OpenHarmony 운영 체제 측에서 자바스크립트(JS) 언어를 컴파일하고 실행하는 기능을 제공합니다.

ArkCompiler JS Runtime은 JS 컴파일러 툴체인과 JS Runtime과 같은 두 부분으로 구성되어 있습니다. JS 컴파일러 툴체인은 JS 소스 코드를 ArkCompiler 바이트코드로 컴파일합니다. JS 런타임은 생성된 ArkCompiler 바이트 코드를 실행합니다.[7]

아크 컴파일러 런타임 코어

하모니
개발자화웨이
로 적음ArkTS, Cangjie, C, C++
운영체제하모니OS
플랫폼ARM, RISC-V, x86, x64 및 Loon[8] Arch
유형런타임 환경
면허증.독점적
아크 런타임
개발자화웨이
로 적음ArkTS, Cangjie, C, C++
운영체제하모니OS NEXT
플랫폼ARM, RISC-V, x86, x64 및 Loon[9] Arch
유형런타임 환경, 컴파일러 프론트엔드, 툴체인
면허증.독점 아파치 라이센스(OpenHarmony Ark Compiler Runtime Core)

ArkCompiler Runtime Core라는 OpenHarmony 운영 체제의 공통 언어 런타임 모듈도 Harmony 위에 Ark Runtime으로 생성되었습니다.단일 프레임워크인 OpenHarmony 기반 Harmony 기반 Harmony와 함께 현재 이중 프레임워크를 기반으로 한 OS 런타임Ark Compiler File, Tooling, Base 및 ISA를 포함한 언어에 독립적인 기본 런타임 라이브러리로 구성된 OS NEXT. Ark Compiler File은 바이트코드와 바이트코드 실행에 필요한 정보를 제공합니다. 툴링은 런타임 디버거를 지원합니다. 베이스는 플랫폼 관련 유틸리티를 구현할 책임이 있습니다. ISA 기능은 Harmony를 실행할 수 있는 언어에 독립적인 공통 명령 집합 아키텍처를 제공합니다.다양한 하드웨어 세트의 호환성과 Harmony 간의 상호 운용성이 뛰어난 하드웨어의 다양한 명령어 세트 및 칩셋에 관계없이 OS 애플리케이션OS, Oniro 및 OpenHarmony 소프트웨어 및 하드웨어 에코시스템.[10]

ArkCompiler JS 런타임

ArkCompiler JS Runtime은 OpenHarmony의 기본 JS 런타임입니다. ECM 스크립트 라이브러리와 효율적인 컨테이너 라이브러리를 지원합니다. 또한 C++JS 상호 작용을 위한 네이티브 API 세트와 고성능이 특징인 다양한 가비지 컬렉터를 제공합니다.[11]

아크 유형 스크립트 런타임

ARK TypeScript Runtime은 Ark에서 사용되는 런타임입니다.이전 하모니에서 제공된 TS 애플리케이션OS 3.0/OpenHarmony 3.1 API 8 eTS(확장형 스크립트)뿐만 아니라 OpenHarmony에서도 구현맞춤형 오픈 하모니 기반 하모니를 활용한 OSOS NEXT 코어 운영 체제. ArkTS/JS 개체에 대한 할당자 및 GC(Garbage Collector), ECM 스크립트 규격을 준수하는 표준 라이브러리, ARK 프론트엔드 구성 요소에서 생성된 ARK 바이트코드(abc)를 실행하기 위한 인터프리터, 가속을 위한 인라인 캐시, 정적으로 입력된 컴파일러, 런타임 시 네이티브 API(NAPI) 응용 프로그램 개발을 위한 C++/C 기능 인터페이스 및 두 가지 Harmony 모두에서 버전 3.1.1 이후 DevEco Studio를 통한 Ahead-of-Time 컴파일의 다른 모듈OS 3.1 SDK 및 OpenHarmony 3.[12]2 SDK API 9.

ets_frontend

ets_frontend는 ETS 프로그래밍 언어 파일을 ARK 바이트코드 파일로 변환하는 것을 지원하는 ace-ets2 번들 구성 요소를 결합한 ARK 런타임 서브시스템의 프론트엔드 도구입니다. 그들은 아크와 일치합니다.오픈하모니와 하모니의 TS앱 개발Harmony 산하 OS 개발OS NEXT 시스템.[13]

아크 컴파일러 툴체인

Ark Compiler Toolchain은 개발자들에게 Ark에 대한 디버깅 도구를 제공합니다.디버거, CPU 프로파일러, 힙 프로파일러와 같은 TS 애플리케이션 개발. Ark Toolchain에서 제공하는 디버깅 및 튜닝 기능은 ArkCompiler Runtime에 의존하여 개발자에게 런타임 관련 정보를 제공하는 DevEco Studio IDE를 통해 사용됩니다.[14]

참고문헌

  1. ^ "OpenHarmony 3.0 successfully adapted Loongson 1C300B chip". Huawei Update. December 15, 2021. Retrieved December 15, 2021.
  2. ^ Siddiqui, Aamir. "Ark Compiler Explained: How Huawei's App Compiler May Improve Android App Performance". XDA Developers. XDA Developers. Retrieved February 12, 2024.
  3. ^ "ArkCompiler Runtime". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  4. ^ Amit. "Huawei Ark compiler officially open source from GitHub for self-hosting". Huawei Update. Huawei Update. Retrieved February 12, 2024.
  5. ^ Sarkar, Amy. "OpenArkCompiler 1.0 launched, Huawei Ark Compiler open source project (HACOSP)". HC Newsroom. HC Newsroom. Retrieved February 12, 2024.
  6. ^ Mishra, Yash. "Ark Compiler JS runtime became open source in Huawei HarmonyOS". HC Newsroom. HC Newsroom. Retrieved February 12, 2024.
  7. ^ "Overview". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  8. ^ "OpenHarmony 3.0 successfully adapted Loongson 1C300B chip". Huawei Update. December 15, 2021. Retrieved December 15, 2021.
  9. ^ "OpenHarmony 3.0 successfully adapted Loongson 1C300B chip". Huawei Update. December 15, 2021. Retrieved December 15, 2021.
  10. ^ "Runtime Core". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  11. ^ "ArkCompiler JS Runtime". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  12. ^ "ArkCompiler JS Runtime - ets Runtime". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  13. ^ "ets_frontend". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.
  14. ^ "Ark toolchain components". OpenAtom Gitee. OpenAtom Gitee. Retrieved February 12, 2024.