7-1. Virtual Machine I : Stack Arithmetic - [밑바닥부터 만드는 컴퓨팅 시스템]
이 장의 목표는 객체지향 고수준 언어의 컴파일러_compiler를 만드는 것을 준비하는 것이다! 고수준의 프로그램을 중간 코드(10-11장)로 만들고, 중간 코드를 기계어로 번역(7-8장)한다. 이는 70s에 등장한 오래된 개념이지만, C#과 Java같은 언어에 채택되어 현재까지도 사용되고 있다. 기본개념 플랫폼이 아닌 가상머신(VM)에서 실행가능한 중간코드를 만드는 것이다. VM은 컴퓨터상에서 구현가능한 추상적인 컴퓨터이다. 이를 통해 코드 이동성_code transportability를 확보할 수 있다. (동일한 코드를 수정하지 않거나, 약간의 수정만으로도 여러 플랫폼이나 환경에서 이용이 가능한 상태) VM구현에는 SW인터프리터, 특수목적 HW, VM프로그램으로 특정 플랫폼 기계어로 번역 등이 있다...
학부생 CS/Elements of Comp-Sys
2019. 11. 29. 21:08