직스 RVM
Jikes RVM| 개발자 | Jikes RVM 팀, 기여자[1] |
|---|---|
| 초기 릴리즈 | 1999; 전 ( |
| 안정적 해제 | 3.1.4 / 2016년 2월 18일; 전 |
| 리포지토리 | |
| 기록 위치 | 자바 |
| 운영 체제 | 유닉스 유사 |
| 유형 | Java 가상 시스템, 라이브러리 |
| 면허증 | 이클립스 공용 라이선스 |
| 웹사이트 | jikesrvm.org |
Jikes Research Virtual Machine(Jikes RVM)은 자바 플랫폼용으로 작성된 프로그램을 실행하는 성숙한 가상 머신이다.대부분의 다른 자바 가상 머신(JVM)과는 달리, 메타 순환이라고 불리는 구현 스타일로 프로그래밍 언어 자바로 작성된다.Eclipse Public License에 따라 출시된 무료 오픈소스 소프트웨어다.
역사
- 1997년 11월, 잘라페뇨 프로젝트는 IBM의 Thomas J. Watson Research Center에서 내부 연구 프로젝트로 시작한다.[2]
- 1999, 2000년, IBM 연구자들에 의해 Jikes RVM의 새로운 측면을 기술하는 연구 논문이 발표되었고, 몇몇 대학들은 소스 코드에 대한 접근 권한을 부여받았다.
- 2001년 10월, Jikes RVM 버전 2는 공용 면허에 따라 오픈 소스 모델 프로젝트로 출시된다.이 릴리스는 PowerPC 및 Intel 아키텍처와 다양한 가비지 수집 알고리즘을 지원한다.
- 2002년 Jikes RVM 2.2는 정밀한 가비지 수집기와 함께 출시되며 현재 인기 있는 메모리 관리 툴킷 정밀 수집기로 리팩터링된다.
- 2004년, Jikes RVM 2.4는 부분적으로 안정성과 성능을 향상시키고 일식을 실행하는데 특별한 초점을 두고 출시되었다.
- 2007년 Jikes RVM 2.9 개발은 Java 5.0의 기능을 사용하고 Apache Ant 빌드 시스템을 사용하도록 광범위하게 리팩터링된 코드 베이스로 시작한다.
- 2008년, Jikes RVM 3.0은 2.9 개발의 종료와 코드 베이스의 새로운 안정성을 기념하여 출시되었다.
- 2009년, Eclipse Public License(EPL)에 따라 출시된 Jikes RVM 3.1은 버전 3.0.1의 성능과 네이티브 스레딩으로의 전환에 비해 상당히 개선되었다.
- 2012년, Jikes RVM은 "고품질과 모듈형 디자인"을 이유로 프로그래밍 언어에 관한 ACM(Association for Computing Machine, ACM) 특별 이익 단체상을 수상했다.[3]
부트스트랩
메타 원형이므로 Jikes RVM은 부트스트래핑 JVM을 실행하여 부트 이미지를 생성해야 한다.부트 이미지는 Jikes RVM이 부트스트랩 JVM에 반사되어 부팅하는 데 필요한 개체의 보기입니다.작은 C 로더는 런타임에 부트 이미지를 로드할 책임이 있다.
VM 매직
VM Magic은 컴파일러가 클래스에 대해 해당 클래스 내의 바이트코드가 수행해야 하는 것과 다른 코드를 생성하는 곳이다.VM Magic 클래스는 메모리에 대한 직접 액세스를 허용하며 메모리 관리 툴킷의 성능의 핵심이다.VM Magic 클래스는 org.vmmagic 패키지에 상주하며 다른 Java 프로젝트에서 재사용되었다.
메모리 관리 툴킷
MMTk(Memory Management Toolkit)는 Jikes RVM 내에서 사용되어 온 정밀한 가비지 수집기 집합체로서, 특이성 운영 체제와 공유 소스 공통 언어 인프라(SSCLI, 이전의 Roter)와 같은 다른 프로젝트들을 말한다.[4]나머지 Jikes RVM과 마찬가지로 구현도 자바에 있지만, 주요 의존도는 VM Magic에 있다.
클래스 라이브러리
Apache Harmony 또는 GNU Classpath 클래스 라이브러리를 Jikes RVM과 함께 사용할 수 있으며, OpenJDK의 클래스 라이브러리에 대한 실험적인 지원이 가능하다.
컴파일러스
Jikes RVM은 특정 아키텍처에 대한 코드를 신속하게 생성하기 위해 빠른 베이스라인 컴파일러를 사용한다.그런 다음 적응형 컴파일은 OSR(On-Stack Replacement)과 같은 기능을 갖춘 최적 컴파일러로 코드를 다시 컴파일한다.적응형 컴파일 시스템은 비용 편익 분석 모델을 사용한다.
런타임
직스 RVM의 런타임은 빠른 잠금 메커니즘, 협업 스케줄링, 빠른 예외 수집 및 전송 지원 등 많은 혁신적인 기능을 가지고 있다.
프로세서
Jikes RVM은 PowerPC(또는 pPC) 및 IA-32(또는 Intel x86, 32비트) 명령 집합 프로세서 아키텍처를 지원한다.
리서치
연구 프로젝트인 만큼 직스 RVM은 2015년 현재 220편이 넘는 논문을 배출한 과학 출판물에서 보듯이 신기술 연구에 중점을 두고 있다.[5][6]
직스 RVM은 구글 서머 오브 코드 2007, 2008, 2010, 2011, 2012에도 참여했다.
참고 항목
- 직스
- Java 가상 시스템 목록
- 무료 Java 구현
- 부트스트래핑(컴파일러)
- 셀프호스팅
- 셀프 인터프리터
- PyPy(Python 구현: Python 구현)
- 루비니우스(Ruby in Ruby)
참조
- ^ "Jikes RVM Team and Contributors".
- ^ "FAQ".
- ^ "Archived copy". Archived from the original on 2013-07-03. Retrieved 2013-06-21.
{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크) - ^ "Jikes RVM Project Proposals 2009".
- ^ "Jikes RVM research papers".
- ^ "The Jikes Research Virtual Machine project: Building an open-source research community" (PDF). IBM Systems Journal. 44 (2). 2005.