Machineboy空

(참고) VM(virtual machine)와 IDE(Intergrated Development Environment) 본문

Computer/CS

(참고) VM(virtual machine)와 IDE(Intergrated Development Environment)

안녕도라 2024. 1. 11. 17:10

그동안 Window 기반으로 Visual Studio를 사용하다가

Mac으로 바꾸고 VS Code로 개발 환경 세팅하느라 애를 먹었다.

 

 

* IDE(Integrated Development and Learning Environment, 통합개발환경)

 

인텔리센스 등을 활용해 자동완성을 시키기도 하고

텍스트 에디터, 컴파일러, 테스트, 디버거까지 전반적 개발을 진행할 수 있는 소프트웨어 프로그램.

AWS 정의

 

Microsoft의 visual studio, vs code

Apple의 Xcode, 

JetBrain의 IntelliJ 등 다양한 IDE가 존재하고 개발 특성에 맞는 IDE를 사용하면 된다.

 

(IDE까진 아니지만 텍스트 에디터 Sublime Text 등)


 

 

* VM(Virtual Machine)

 

c#을 실행하기 위해서는 .NET에 포함된 CLR(Common Language Runtime)

java를 실행하기 위해서는 JVM (Java Virtual Machine)

c++을 실행하기 위해서는 clang, LLVM(Low level Virtual machine)기반 C/C++/Objective C 오픈소스 컴파일러 깔아줘야 했다.

 

대체 VM이 무엇이냐!

 

VM을 거쳐서 각 언어로 작성된 소스 코드가 CPU가 인식할 수 있는 기계어로 컴파일 된다.

 

* VM(가상머신) : 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 가상 컴퓨터 시스템으로 작동하는 가상 환경

 

 * OS(운영체제)

  • 프로그램이 올바르게 실행될 수 있게 메모리를 할당
  • CPU 관리
  • 입출력장치 및 보조기억장치 관리

즉 컴퓨터의 실행을 전반적으로 관리하는 우두머리 같은 소프트 웨어.

 

VM은 OS에 종속받지 않고,

MacOS이든, window든 리눅스든 CPU가 이해할 수 있는 언어로 실행할 수 있게 하는 가상의 컴퓨터이다.

 

 

 

 

즉, VM을 사용하면 macOS노트북에 리눅스 배포판을 설치한 경우처럼

단일 컴퓨터에서 다른 여러 운영체제를 동시에 실행할 수 있다.

 

 

아직 정확히 이해되는 개념은 아니다만,

두루뭉술하게 틀은 잡은 듯 하다.