Design and Implementation of Virtual Machines as an Aid in Teaching Computer Concepts

컴퓨터의 개념 교육을 위한 가상 머신의 설계 및 구현

  • Nah, Jeong-Ho (Department of Computer Science and Engineering, Seoul National University) ;
  • Jo, Gang-Won (Department of Computer Science and Engineering, Seoul National University) ;
  • Kang, Soo-Yeon (Department of Computer Science and Engineering, Seoul National University) ;
  • Jung, Woo-Keun (Department of Computer Science and Engineering, Seoul National University) ;
  • Lee, Jae-Jin (Department of Computer Science and Engineering, Seoul National University)
  • 나정호 (서울대학교 컴퓨터공학부) ;
  • 조강원 (서울대학교 컴퓨터공학부) ;
  • 강수연 (서울대학교 컴퓨터공학부) ;
  • 정우근 (서울대학교 컴퓨터공학부) ;
  • 이재진 (서울대학교 컴퓨터공학부)
  • Published : 2012.06.22

Abstract

본 연구에서는 컴퓨터의 개념을 학부 신입생 교육과정에서 쉽게 이해할 수 있도록 ARM 명령어 집합의 부분 집합을 정의하고, 어셈블리 언어 코드를 입력받아 실행하는 가상 머신을 설계하고 구현하였다. 기존 교육 과정의 컴퓨터 구조 과목에서 다루는 어셈블리 언어는 실제의 머신을 기반으로 하기 때문에 개념을 학습하는데 있어서 불필요하게 복잡하다는 단점이 있다. 하지만 본 연구에서는 교육에 필요한 내용만을 포함한 가상 머신을 새롭게 정의함으로써 좀 더 우아한 방법으로 컴퓨터의 개념을 이해할 수 있도록 하였다. 특히 어셈블리 언어 학습을 통해서 컴퓨터 구조와 고급 언어 간의 상호작용을 이해하는데 도움이 될 수 있다. 제안한 가상 머신은 자바로 구현하였으며, 스캐너 및 파서를 구현하기 위해서 오픈소스 컴파일러-컴파일러 시스템을 사용하였다. 해당 가상 머신은 공과대학 학부 신입생을 위한 실습 프로그램으로 사용되었으며 컴퓨터 개념의 이해를 돕는데 유의미한 기여를 하였다.

Keywords

Acknowledgement

Supported by : 한국과학재단