젠드 엔진

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
젠드 엔진
원저자Andi Gutmans, Zeev Suraski
개발자젠드 테크놀로지스, PHP 개발 팀
발표일1999년
안정화 버전
3.0 (PHP 7.0.0)
프로그래밍 언어C
종류스크립팅 엔진
라이선스젠드 엔진 라이선스 (일부는 PHP 라이선스)
웹사이트php.net

젠드 엔진(Zend Engine)은 PHP 프로그래밍 언어를 인터프리트하는 오픈 소스 스크립트 언어이다. 원래 Andi GutmansZeev Suraski테크니온 재학 시절 개발한 것이다. 나중에 이들은 이스라엘 라마트간젠드 테크놀로지스라는 이름의 기업을 설립하였다. 젠드(Zend)라는 이름은 자신들의 이름인 Zeev와 Andi의 결합이다.

젠드 엔진의 최초 버전은 1999년 PHP 버전 4에서 등장하였다.[1] 매우 최적화된 모듈 백엔드로서 C로 개발되었으며 최초로 PHP 밖의 애플리케이션에 사용할 수 있었다. 젠드 엔진은 메모리 및 리소스 관리, 그리고 PHP 언어의 기타 표준 서비스를 제공한다. 성능, 신뢰성, 확장성은 PHP의 인기 향상에 상당한 역할을 했다.

이후 PHP5의 핵심부에 젠드 엔진 II가 등장하였다.

최신 버전은 젠드 엔진 III이고, 원래의 코드명은 phpng였으며 PHP 7을 위해 개발되었고 상당한 성능 개선을 보여준다.

젠드 엔진의 소스 코드는 젠드 엔진 라이선스로 배포(일부는 PHP 라이선스)된다.

구조[편집]

젠드 엔진은 컴파일러와 런타임 엔진으로서 PHP에 의해 내부적으로 사용된다. PHP 스크립트는 메모리로 젖개된 뒤 젠드 opcode로 컴파일된다. 이 opcode들은 실행된 이후 생성된 HTML은 클라이언트로 송신된다.[2]

웹 스크립트 인터프리터 구현을 위해 다음의 세 부분이 필요하다:

  • 인터프리터 부분은 입력 코드를 분석하고 이를 변환한 다음 실행한다.
  • 기능 부분은 언어의 기능을 구현한다. (함수 등)
  • 인터페이스 부분은 웹 서버 등과 통신한다.

젠드는 첫 번째 부분을 완전히 취하고 2번째 부분을 조금 취하는 반면, PHP은 2와 3 부분을 취한다.

젠드 그 자체는 실제로 언어 핵심 부분만을 형성하며 일부 미리 정의된 기능과 함께 매우 기초적인 단계에서 PHP를 구현한다.

젠드 엔진 내부 구조

각주[편집]

  1. “Zend's History with PHP”. Zend Technologies. 2019년 1월 26일에 원본 문서에서 보존된 문서. 2019년 1월 25일에 확인함. 
  2. “PHP - What is zend engine?”. careerride. 

외부 링크[편집]