2012-11-25 2 views
1

가능한 중복 : 그것은 이론적으로 가능한 것 자바 또는 Clojure의 자바 바이트 코드로 컴파일 언어를 사용
Is it possible to make an operating system using java?전적으로 JVM에있는 OS를 개발할 수 있습니까?

가 완전히 작동하는 전체 운영 체제를 작성하는 자바 가상 머신에서?

+1

JVM을 실행하는 대상은 무엇입니까? (그렇습니다, 그런 시도가 있습니다. 그렇습니다. 하드웨어 기반의 VM 구현이 있습니다. 따라서 먼저 검색하십시오!) –

답변

2

"전체 운영체제"의 의미에 따라 달라집니다. 가장 신뢰할 수있는 접근 방식은 하드웨어를 사용하기위한 기본 OS 인 Linux와 같은 "사용자 공간"으로 Java를 사용하는 하이브리드 OS입니다.

몇 가지 고려해야 할

  • 분명히 JVM 자체가 뭔가에서 실행해야합니다. 이것은 다른 OS에서 실행되는 기본 JVM 구현 일 수도 있고 하드웨어 일 수도 있지만 스택의 특정 지점에서 순수 Java 이외의 다른 것을 사용해야하는 경우가 있습니다. 따라서이 역할을 수행 할 Linux와 같은 제안.
  • 추가 네이티브 코드의 링크를 허용하지 않는 한 기본 하드웨어/플랫폼과의 상호 작용은 Java 런타임 환경 (예 : 파일 액세스의 경우 파일 추상화 등)에서 사용 가능한 것으로 지정됩니다. 이것은 작동중인 OS 쉘을 구현하는 데는 충분하지만, 예를 들어 많은 장치에 직접 하드웨어 액세스를 구현하기에는 충분하지 않을 수 있습니다.
  • 최신 OS의 경우 그래픽 (또는 비슷한 고성능 그래픽 라이브러리)에 OpenGL을 사용하고 싶을 것입니다. 현재 표준 Java 런타임 환경에 포함되어 있지 않으므로이를 포함 할 해결책을 찾아야합니다 (예 : LWJGL)
2

JavaOS이라는 프로젝트가 있는데, 당신이 제안한 것을 수행하려고했습니다.

+0

OP는 * Java 이외의 * Java에 OS를 쓸 수 있는지 묻는 것입니다. JavaOS는 기본 마이크로 커널에서 실행되었습니다. –

3

CPU가 Java 바이트 코드를 실행할 수있는 경우에만 가능합니다 (Java processor 참조). 그렇지 않으면 하드웨어를 초기화하고 바이트 코드를 해석하거나 JIT 컴파일하기 위해 일부 원시 시스템 명령어가 필요합니다.

관련 문제