소프트웨어 아키텍처 - 13(Virtual Machine Architecture Style)

박승현·2023년 10월 8일
0

아키텍처

목록 보기
13/30
post-thumbnail

Virtual Machine Architecture Style

  • 개요
    • 가상 머신은 기존 시스템 위에 구축되며 가상 추상화, 속성 집합 및 작업을 제공
    • 대부분의 경우 가상 머신은 프로그래밍 언어나 응용 프로그램 환경을 실행 플랫폼으로부터 분리 가능
    • 가상머신은 에뮬레이션과 유사하게 보일 수 있음

예시

  • unix운영 체제 -> unix커널 위에 C셸, Korn셸등 여러 쉘을 제공
  • Microsoft .NET 플랫폼의 공용 언어 런타임 (CLR) -> 단일 중간 언어를 사용하여 VB.NET, VC.NET 및 C#과 같은 여러 모듈을 통합하는 가상 머신의 역할을 수행
  • Java Virtual Machine (JVM) -> 컴파일 시스템 (javac)에서 생성된 Java 바이트코드와 기타 Java 내부 코드는 JVM을 지원하는 모든 운영 체제에서 실행할 수 있음

적용 사례

  • 직접적인 해결책이 없을 경우 시뮬레이션이나 번역을 통해 문제를 해결하는데 적합

장점, 단점

  • 장점
    • 이식성 및 기계 플랫폼 독립성
    • 소프트웨어 개발의 간단함
    • 오류 작동 모델의 시뮬레이션
  • 단점
    • 인터프리터의 느린 실행
    • 새로운 레이어로 인한 오버헤드
profile
KMU SW

0개의 댓글