WIPIVERSE

젠드 엔진

젠드 엔진(Zend Engine)은 PHP 프로그래밍 언어를 인터프리트하는 오픈 소스 스크립트 엔진이다. PHP 코드를 내부적으로 컴파일하고 실행하는 핵심 구성 요소로서, 컴파일러와 런타임 환경의 역할을 수행한다.

원저자는 안디 구트만스(Andi Gutmans)와 제브 수라스키(Zeev Suraski)로, 이들이 이스라엘 테크니온(Technion) 공과대학교 재학 시절 개발하였다. 이후 이들은 이스라엘 라마트간에 젠드 테크놀로지스(Zend Technologies)라는 기업을 설립하였다. "젠드(Zend)"라는 이름은 두 창립자의 이름인 Zeev와 Andi에서 각각 앞 글자를 따서 조합한 것이다.

젠드 엔진의 최초 버전은 1999년 PHP 버전 4에서 처음 등장하였다. C 언어로 개발되었으며, 매우 최적화된 모듈형 백엔드 구조를 갖추고 있어 PHP 외부의 애플리케이션에서도 사용할 수 있도록 설계되었다. 이후 PHP 5의 핵심에는 젠드 엔진 II가 탑재되었고, PHP 7을 위해 개발된 젠드 엔진 III(코드명 phpng)는 상당한 성능 개선을 이루었다. 최신 안정화 버전으로는 PHP 7.4 기준 3.4, PHP 8.0 기준 4.0이 있다.

구조 및 동작 방식

젠드 엔진은 크게 컴파일러와 실행기(Executor)로 구성된 젠드 가상 머신(Zend Virtual Machine)으로 이루어져 있다. PHP 스크립트가 실행되면 다음과 같은 과정을 거친다:

  1. PHP 스크립트가 메모리로 로드된다.
  2. 젠드 컴파일러가 이를 중간 코드인 젠드 opcode(연산 코드)로 컴파일한다.
  3. 젠드 실행기가 이 opcode들을 실행하여 결과 HTML을 생성하고 클라이언트로 송신한다.

젠드 엔진 자체는 언어의 핵심 부분(메모리 관리, 리소스 관리, 변수 처리 등)만을 담당하며, 실제 PHP의 내장 함수 및 웹 서버 인터페이스 등의 기능은 PHP 자체 계층에서 처리된다.

라이선스

젠드 엔진의 소스 코드는 젠드 엔진 라이선스(Zend Engine License)로 배포되며, 일부는 PHP 라이선스(PHP License)가 적용된다. 소스 코드는 공식 PHP 저장소(github.com/php/php-src)에서 관리되고 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기