가상 머신이란 무엇인가요?
일반적인 의미의 가상 머신은 소프트웨어로 시뮬레이션되고 완전히 격리된 환경에서 실행되는 완전한 하드웨어 시스템 기능을 갖춘 완전한 컴퓨터 시스템입니다. 가상 머신 소프트웨어를 통해 실제 컴퓨터에서 하나 이상의 가상 컴퓨터를 시뮬레이션할 수 있습니다. 예를 들어, 운영 체제를 설치하고, 애플리케이션을 설치하고, 네트워크에 액세스할 수 있습니다. 여러분에게는 물리적 컴퓨터에서 실행되는 애플리케이션일 뿐이지만, 가상 머신에서 실행되는 애플리케이션에게는 실제 컴퓨터에서 작업하는 것과 같습니다. 따라서 가상머신에서 소프트웨어 평가를 진행하면 시스템도 충돌이 나는 경우가 있는데, 물리적 컴퓨터의 운영체제가 아닌 가상머신의 운영체제만 충돌하고, 가상머신의 "실행 취소"(복구)를 사용합니다. ) 기능을 사용하면 가상 머신을 소프트웨어 설치 전 상태로 즉시 복원할 수 있습니다.
현재 주류 가상 머신
현재 널리 사용되는 가상 머신 소프트웨어에는 VMware(VMWare ACE)와 Virtual PC가 포함되며, 두 가지 모두 Windows 시스템에서 여러 대의 컴퓨터를 가상화하여 Linux, OS/ 2, FreeBSD 및 기타 운영 체제. Microsoft는 2003년 2월 Connectix를 인수한 후 신속하게 Microsoft Virtual PC 2004를 출시했습니다. 그러나 다양한 고려 사항으로 인해 새로 출시된 Virtual PC 2004는 더 이상 Linux, FreeBSD, NetWare, Solaris 및 기타 운영 체제를 명시적으로 지원하지 않으며 OS/2만 유지합니다. Linux 컴퓨터를 가상화하려는 경우 OS/2만 설정할 수 있습니다. 수동으로 올려요. 이에 비해 VMware는 여러 운영 체제 지원 및 실행 효율성 측면에서 Virtual PC 2004보다 훨씬 우수하며, 이것이 이 기사에서 VMware를 선택한 이유 중 하나입니다. 컴퓨터 한 대가 두 대가 되면 더 이상 Linux 사용법을 배울 필요가 없습니다.
가상화 분류
가상화 웨이브
Microsoft 가상화
IBM 가상화
HP 가상화
SWsoft 가상화
SUN 가상화
Intel 가상화
AMD 가상화
p>Java Virtual Machine
VMware 4.5에는 Workstation, GSX 서버 등 다양한 버전이 있는데, 그 중 Windows 버전의 Workstation이 가장 널리 사용됩니다. 실용적인 운동.
가상 머신의 개념은 비교적 광범위합니다. 일반적으로 사람들이 접하는 가상 머신 개념에는 VMware와 같은 하드웨어 시뮬레이션 소프트웨어, 하드웨어와 컴파일러 사이에 있는 JVM과 같은 소프트웨어가 포함됩니다. 여기서 언급하는 것은 후자이다.
가상 머신은 실제 컴퓨터처럼 명령어 세트가 있고 다양한 저장 영역을 사용하는 추상적인 컴퓨터입니다. 명령을 실행하고 데이터, 메모리 및 레지스터를 관리하는 역할을 담당합니다. 이 가상 머신은 모든 플랫폼의 컴파일러에 일관된 인터페이스를 제공합니다. 컴파일러는 가상 머신을 지향하고 가상 머신이 이해할 수 있는 코드를 생성하기만 하면 통역사가 가상 머신 코드를 특정 시스템의 실행을 위한 머신 코드로 변환합니다.
Sun xVM VirtualBox가 새 버전인 2.1.0을 출시했습니다.
2.1.0은 주로 버그를 수정하고 원래 기능을 개선한 이전 2.0.X와는 다릅니다.
VBox 사용자는 업데이트를 적극 권장합니다!
공식 웹사이트의 ChangeLog에서 이 버전의 주요 업데이트 정보를 확인할 수 있습니다.
* Max OS X 클라이언트(VT-x 및 AMD)의 하드웨어 가상화 기술 지원 -V);
* 32비트 운영 체제에서 64비트 클라이언트 시뮬레이션을 지원합니다! (실험적 성격이므로 자세한 내용은 사용 설명서를 참조하세요.);
* Intel Nehalem 가상화 향상 기술을 지원합니다(EPT 및 VPID, 자세한 내용은 사용 설명서를 참조하세요).
* OpenGL을 통한 3D 가속을 지원합니다! (사용 설명서 4.8장 참조);
더 많은 업데이트가 있지만 위의 네 가지만으로도 사용자가 업그레이드할 이유가 충분합니다!
VirtualBox는 마침내 OpenGL 실험을 통해 3D 가속을 지원하며, 32비트 운영 체제에서 64비트 클라이언트 시뮬레이션을 최초로 지원합니다(64비트 CPU 지원 필요). 이는 가상 머신 플랫폼의 제한이 덜하고 x86 플랫폼에서 AMD64를 에뮬레이트할 수 있음을 의미합니다!
"OpenGL 3D 가속" 항목과 관련하여 이 기능은 현재 Windows 시스템에서만 사용할 수 있으며 OpenGL 가속만 가능하고 Direct3D 가속은 불가능하다는 것을 알게 되었습니다. 이는 이미 Windows 가상 머신에서 일부 OpenGL 3D 애플리케이션을 실행할 수 있지만 Direct3D는 조금 더 기다려야 함을 의미합니다.
무엇을 기다리고 계십니까? 이것은 크게 개선된 버전입니다. 빨리 다운로드해서 사용해 보세요:
개인이 가상 머신을 사용하는 이유
1. 데모 환경, 다양한 데모 환경을 설치하여 다양한 예제를 활용할 수 있습니다.
2. 호스트의 빠른 작동을 보장하고 불필요한 정크 설치 프로그램, 가끔 사용되는 프로그램 또는 가상 머신에서 실행되는 테스트 프로그램을 줄입니다.
3. , 자주 사용되지 않으며 더 나은 기밀성이 요구됩니다.
4. 익숙하지 않은 애플리케이션을 테스트하려면 가상 머신에 설치하고 완전히 삭제하면 됩니다.
5. Linux, Mac 등 다양한 버전의 운영체제를 경험해 보세요.
가상 머신 사용의 몇 가지 예
예 1: 일상 생활에서 컴퓨터 네트워크의 영향력이 증가함에 따라 많은 학교에서 네트워크 관련 과정을 다음과 같이 나열했습니다. 필수 또는 선택 과목 내용. 온라인 강좌는 이론과 실습을 동등하게 강조하는 강좌로, 단순히 네트워크 관련 지식을 가르치고 학생들에게 실험적인 환경을 제공하지 않는다면 학생들의 인터넷에 대한 흥미를 자극하기 어려워 학습에 어려움을 겪게 됩니다. 학생들은 온라인 수업을 거부하고 심지어 학습할 수 없게 만듭니다. 따라서 이론 교육에 중점을 두는 동시에 많은 학교에서도 관련 온라인 실험 과정을 적극적으로 진행하고 있습니다.
위 문제를 해결하기 위한 가장 간단한 해결책 중 하나는 가상 머신 소프트웨어를 사용하여 소규모 네트워크 환경을 구축하는 것입니다. 이를 통해 학생들은 이 시뮬레이션된 네트워크 환경에서 네트워크의 통신 원리를 배울 수 있으며, 그런 다음 네트워크 애플리케이션을 개발할 수 있는 능력을 갖추십시오.
터미널 가상화는 점유 공간 감소, 소프트웨어 및 하드웨어 장비 구매 비용 절감, 에너지 절약 및 유지 관리 비용 절감 등 유지 관리 비용이 크게 절감되므로 인기가 높습니다. 실제 단말 장비보다 비용 효율적인 장점이 있습니다. 그러나 이것이 교육 산업과 제조업체가 가상화 기술에 애착을 갖는 유일한 이유는 아닙니다. 반면에 우리가 거의 언급하지 않는 것은 가상화 기술이 시스템 보안을 크게 향상시킬 수 있다는 것입니다.
예 2: 개선을 기다리는 중..VMware 가상 머신 설치 프로세스 VMware Workstation 가상 머신은 Windows 또는 Linux 컴퓨터에서 실행되는 애플리케이션으로, 표준 x86 기반 PC 환경을 시뮬레이션할 수 있습니다. 이 환경은 칩셋, CPU, 메모리, 그래픽 카드, 사운드 카드, 네트워크 카드, 플로피 드라이브, 하드 디스크, 광학 드라이브, 직렬 포트, 병렬 포트, USB 컨트롤러, SCSI 컨트롤러 및 기타 장치를 갖춘 실제 컴퓨터와 동일합니다. 이 애플리케이션을 제공하는 창은 가상 머신의 모니터입니다.
사용 측면에서 이 가상 머신은 실제 물리적 호스트와 크게 다르지 않습니다. 파티션 나누기, 포맷, 운영 체제 설치, 애플리케이션 및 소프트웨어 설치가 필요합니다. 간단히 말해서 모든 작업이 동일합니다. .실제 컴퓨터와 같습니다.
다음에서는 예를 사용하여 VMware Workstation을 사용하여 가상 머신을 생성하는 방법과 단계를 소개합니다.
1. VMware Workstation 6을 실행하고 "파일→새로 만들기→가상 머신" 명령을 클릭하여 가상 머신 생성 마법사로 들어가거나, 바로가기 키인 "Crtl+N"을 눌러 가상 머신 생성으로 들어갑니다. 마법사.
2. 팝업 환영 페이지에서 '다음' 버튼을 클릭하세요.
3. "가상 머신 구성" 옵션 영역에서 "사용자 정의" 라디오 버튼을 선택합니다.
4. 가상 머신 하드웨어 호환성 선택 페이지의 하드웨어 호환성 드롭다운 목록에서 VMware Workstation 6, VMware Workstation 5 또는 VMware Workstation 4를 선택할 수 있습니다. 상자 중에서 선택하세요. 일반적으로 새로운 가상 머신 하드웨어 형식이 더 많은 기능을 지원하기 때문에 Workstation 6 형식을 선택합니다. 선택한 후 "다음" 버튼을 클릭합니다.
5. 게스트 운영 체제 선택 대화 상자에서 생성할 가상 머신 유형과 실행할 운영 체제를 선택합니다. 여기에서 Windows 2000 Professional 운영 체제를 선택하고 "다음"을 클릭합니다. 단추.
6. 가상 머신 이름 지정 대화 상자에서 새 가상 머신의 이름을 지정하고 저장 경로를 선택합니다.
7. 프로세서 옵션 영역에서 가상 머신의 CPU 수를 선택합니다. 2개를 선택하는 경우 호스트에는 2개의 CPU 또는 하이퍼 스레드 CPU가 있어야 합니다.
8. 가상 머신용 메모리 페이지에서 가상 머신이 사용하는 메모리를 설정합니다. 일반적으로 Windows 98 이하 시스템의 경우 Windows 2000/XP의 경우 최소 64MB를 설정할 수 있습니다. Windows 2003의 경우 최소 128MB, Windows Vista 가상 머신의 경우 최소 512MB입니다.
9. 네트워크 유형 페이지에서 가상 머신 네트워크 카드의 "네트워크 유형"을 선택합니다.
첫 번째 항목을 선택하고 브리지된 네트워크 카드(VMnet0 가상 네트워크 카드)를 사용합니다. 동일한 네트워크에 있는 현재 가상 머신과 호스트(VMware Workstation 소프트웨어를 실행하는 컴퓨터 참조)를 나타냅니다.
두 번째 옵션인 NAT 네트워크 카드(VMnet8 가상 네트워크 카드)를 선택합니다. 이는 가상 머신이 호스트에 있는 컴퓨터를 통해 호스트와 호스트 외부 네트워크에 단방향으로 액세스할 수 있음을 의미합니다. 호스트 이외의 네트워크는 가상 머신에 액세스할 수 없습니다.
세 번째 옵션을 선택하면 로컬 네트워크(VMnet1 가상 네트워크 카드)만 사용합니다. 즉, 가상 머신은 VMnet1 가상 네트워크 카드를 사용하는 호스트와 모든 가상 머신에만 액세스할 수 있습니다. 호스트 외부 네트워크의 컴퓨터는 가상 머신에 액세스할 수 없으며 가상 머신에서도 액세스할 수 없습니다.
가상 머신이 호스트와 네트워크에 연결되어 있지 않음을 나타내는 네 번째 항목인 네트워크 연결 없음을 선택합니다.
10. I/O 어댑터 유형 선택 페이지에서 가상 머신의 SCSI 카드 모델을 선택합니다. 일반적으로 기본값을 선택합니다.
11. 디스크 선택 페이지에서 새 가상 디스크 생성을 선택합니다.
12. 디스크 유형 선택 페이지에서 생성된 가상 하드 디스크의 인터페이스 모드를 선택합니다. 일반적으로 기본값을 선택합니다.
13. 디스크 용량 지정 페이지에서 가상 디스크 크기를 설정합니다. 일반적인 사용의 경우 기본값을 선택합니다.
14. 디스크 파일 지정 페이지의 디스크 파일 옵션 영역에서 가상 디스크 파일 이름을 설정하고, 일반적으로 기본값을 선택한 후 마침 버튼을 클릭합니다.
운영체제 설치
가상 머신에 운영체제를 설치하는 것은 실제 컴퓨터에 설치하는 것과 다르지 않습니다. 하지만 가상 머신에 운영체제를 설치하는 경우에는 호스트에 있는 설치 CD 이미지(또는 플로피 디스크 이미지)는 가상 머신의 CD-ROM 드라이브(또는 플로피 드라이브) 역할을 합니다.
가상 머신 설정 페이지의 하드웨어 탭에서 이전에 생성한 Windows 2000 가상 머신 구성 파일을 열 수 있습니다. CD-ROM 항목을 선택하고 연결 옵션 영역에서 ISO 이미지 사용 라디오 버튼을 선택하세요. . 를 클릭한 다음 Windows 2000 설치 CD 이미지 파일(ISO 형식)을 찾아 선택합니다. 설치 CD를 사용하는 경우 물리적 드라이브 사용을 선택하고 설치 CD가 있는 CD-ROM 드라이브를 선택합니다.
광 드라이브를 선택한 후 툴바에서 재생 버튼을 클릭하고 가상머신의 전원을 켠 후 가상머신 작업창에서 마우스로 한 번 클릭하면 가상머신에 진입하게 됩니다.
가상 머신 창에서 호스트로 다시 전환하려면 Ctrl+Alt 단축키를 눌러야 합니다.
VMware Tools 설치
가상 머신에 운영체제를 설치한 후 VMware Tools를 설치해야 합니다. VMware Tools는 VMware 가상 머신의 마더보드 칩셋 드라이버, 그래픽 카드 드라이버 및 마우스 드라이버와 동일합니다. VMware Tools를 설치하면 가상 머신의 성능이 크게 향상되고 가상 머신 해상도를 원하는 크기로 설정할 수 있습니다. . 또한 마우스가 가상 머신 창에서 호스트로 직접 전환됩니다.
1. VM 메뉴에서 VMware 도구 설치를 선택합니다.
2. 프롬프트에 따라 가상 머신을 설치하고 다시 시작합니다. 이 단락 편집 Java Virtual Machine 1. Java Virtual Machine이란 무엇입니까?
JVM(Java Virtual Machine)은 Java Virtual Machine의 약자로 실제 컴퓨터에서 시뮬레이션을 통해 시뮬레이션되는 가상의 컴퓨터입니다. 컴퓨터 기능 시뮬레이션이 구현됩니다. Java 가상 머신은 프로세서, 스택, 레지스터 등과 같은 자체적인 완전한 하드웨어 아키텍처를 갖고 있으며 이에 상응하는 명령어 시스템도 가지고 있습니다.
1. Java 가상 머신을 사용하는 이유는 무엇입니까?
Java 언어의 가장 중요한 특징은 플랫폼으로부터의 독립성입니다. 이 기능을 구현하려면 Java 가상 머신을 사용하는 것이 중요합니다. 일반적인 고급 언어를 다른 플랫폼에서 실행하려면 최소한 다른 대상 코드로 컴파일해야 합니다. Java 언어 가상 머신이 도입된 이후에는 다른 플랫폼에서 실행될 때 Java 언어를 다시 컴파일할 필요가 없습니다. Java 언어 사용 모델 Java 가상 머신은 특정 플랫폼과 관련된 정보를 보호하므로 Java 언어 컴파일러는 Java 가상 머신에서 실행되는 대상 코드(바이트코드)만 생성하면 되며 수정 없이 여러 플랫폼에서 실행할 수 있습니다. JVM(Java Virtual Machine)은 바이트코드를 실행할 때 바이트코드를 특정 플랫폼에서 실행하기 위한 기계 명령어로 해석합니다.
2. Java Virtual Machine을 이해해야 하는 사람
Java Virtual Machine은 Java 언어의 기본 구현을 위한 기초입니다. 자바 가상 머신에 대한 이해. 이는 Java 언어의 일부 속성을 이해하는 데 도움이 되며 Java 언어를 사용하는 데도 도움이 됩니다. 특정 플랫폼에서 Java 가상 머신을 구현하려는 소프트웨어 담당자, Java 언어의 컴파일러 작성자, 하드웨어 칩을 사용하여 Java 가상 머신을 구현하려는 사람들은 Java 가상 머신의 사양에 대한 깊은 이해가 있어야 합니다. 가상 머신. 또한, 자바 언어를 확장하거나 다른 언어를 자바 언어 바이트코드로 컴파일하려면 자바 가상 머신에 대한 깊은 이해도 필요하다.
3. 자바 가상 머신이 지원하는 데이터 타입
자바 언어로 자바 가상 머신이 지원하는 기본 데이터 타입은 다음과 같다.
byte ://1바이트는 부호 있는 정수의 보수
short://2바이트 부호 있는 정수의 보수
int://4바이트의 보수 부호 있는 정수
long://8바이트 부호 있는 정수의 보수
float://4바이트 IEEE754 단정밀도 부동 소수점 숫자
double: //8바이트 IEEE754 배정밀도 부동 소수점 숫자
char://2바이트 부호 없는 유니코드 문자
거의 모든 Java 유형 검사는 컴파일 타임에 수행됩니다. 위에 나열된 기본 데이터 유형의 데이터는 Java로 실행될 때 하드웨어 태그를 지정할 필요가 없습니다. 이러한 원시 데이터형 데이터 자체를 연산하는 바이트코드(명령어)는 피연산자의 데이터형을 가리킨다. 예를 들어 iadd, ladd, fadd, dadd 명령어는 모두 두 개의 숫자를 더하고 그 피연산자 유형은 int, long, 플로트 및 더블. 가상 머신은 불리언(Boolean) 타입에 대해 별도의 명령을 설정하지 않습니다. 부울 데이터는 정수 반환을 포함하여 정수 명령어로 처리됩니다. 부울 배열은 바이트 배열을 사용하여 처리됩니다. 가상 머신은 IEEE754 형식의 부동 소수점 숫자를 사용합니다. IEEE 형식을 지원하지 않는 구형 컴퓨터에서는 Java 수치 계산 프로그램을 실행할 때 속도가 매우 느려질 수 있습니다.
가상 머신이 지원하는 기타 데이터 유형은 다음과 같습니다:
object//Javaobject(객체)에 대한 4바이트 참조
returnAddress//4바이트 , jsr/ret/jsr-w/ret-w 명령에 사용됨
참고: Java 배열은 객체로 처리됩니다.
가상 머신의 사양에는 개체의 내부 구조에 대한 특별한 요구 사항이 없습니다. Sun 구현에서 객체에 대한 참조는 포인터 쌍을 포함하는 핸들입니다. 한 포인터는 객체의 메소드 테이블을 가리키고 다른 포인터는 객체의 데이터를 가리킵니다. JVM(Java Virtual Machine) 바이트코드로 표현된 프로그램은 유형 규칙을 준수해야 합니다. JVM(Java Virtual Machine) 구현은 유형 사양을 위반하는 바이트코드 프로그램 실행을 거부해야 합니다. JVM(Java Virtual Machine)은 바이트코드 정의의 제한으로 인해 32비트 주소 공간이 있는 시스템에서만 실행될 수 있는 것으로 보입니다. 그러나 바이트코드를 64비트 형식으로 자동 변환하는 Java 가상 머신을 생성할 수 있습니다. Java 가상 머신이 지원하는 데이터 유형을 보면 Java는 데이터 유형의 내부 형식에 대해 엄격한 규정을 두고 있으므로 다양한 Java 가상 머신의 구현이 데이터를 동일한 방식으로 해석하여 플랫폼 독립성을 보장한다는 것을 알 수 있습니다. 자바와 이식성
.
2. Java 가상 머신 아키텍처
Java 가상 머신은 명령어 세트, 레지스터 세트, 스택 및 가비지 수집 힙의 다섯 부분으로 구성됩니다. 수집된 힙), 메소드 영역입니다. 이 5개 부분은 자바 가상 머신의 논리적 구성 요소로 어떤 구현 기술이나 구성 방법에 의존하지 않지만, 이들의 기능은 실제 머신에서 어떤 방식으로든 구현되어야 합니다.
1.Java 명령어 세트
Java Virtual Machine은 대략 248바이트 코드를 지원합니다. 각 바이트코드는 레지스터에 정수 추가, 서브루틴 전송 등과 같은 기본 CPU 작업을 수행합니다. Java 명령어 세트는 Java 프로그램의 어셈블리 언어와 동일합니다.
Java 명령 세트의 명령에는 수행할 작업을 지정하는 단일 바이트 연산자와 작업에 필요한 매개변수 또는 데이터를 제공하는 0개 이상의 피연산자가 포함되어 있습니다. 많은 명령어에는 피연산자가 없고 단일 바이트 연산자로만 구성됩니다.
가상 머신의 내부 루프 실행 과정은 다음과 같습니다.
do{
연산자 바이트를 가져옵니다. 작업에 따라 기호의 값을 기반으로 작업을 실행합니다.
}동안(프로그램이 끝나지 않았습니다)
명령 시스템의 단순성으로 인해 가상 머신은 실행 프로세스가 매우 간단하여 실행 효율성을 높이는 데 도움이 됩니다. 명령어의 피연산자의 수와 크기는 연산자에 의해 결정됩니다. 피연산자가 1바이트보다 크면 상위 바이트부터 먼저 저장됩니다. 예를 들어, 16비트 매개변수는 저장 시 2바이트를 차지하며 해당 값은 다음과 같습니다.
첫 번째 바이트 * 256 + 두 번째 바이트는 일반적으로 바이트만 정렬됩니다. 내부적으로 필수 4바이트 경계 정렬이 필요한 tabltch 및 조회 명령은 예외입니다.
2. 레지스터
Java Virtual Machine의 레지스터는 마이크로프로세서의 일부 특수 레지스터와 유사하게 머신의 실행 상태를 저장하는 데 사용됩니다.
Java Virtual Machine에는 네 가지 유형의 레지스터가 있습니다.
pc: Java 프로그램 카운터.
optop: 피연산자 스택의 맨 위에 대한 포인터입니다.
프레임: 현재 실행 메서드의 실행 환경에 대한 포인터입니다.
vars: 현재 실행 중인 메서드의 지역 변수 영역에 있는 첫 번째 변수를 가리키는 포인터입니다.
Java Virtual Machine
Java Virtual Machine은 매개변수를 전달하거나 수신하기 위해 레지스터를 정의하거나 사용하지 않습니다. 그 목적은 명령어 세트의 단순성을 보장하는 것입니다. 그리고 구현 시간(특히 레지스터 수가 적은 프로세서의 경우).
모든 레지스터는 32비트입니다.