[CS] 런타임과 컨테이너 런타임

1. 런타임

런타임이란 프로그래밍에서 프로그램이 실행되는 동안의 시간 또는 그 환경을 의미한다.

런타임 환경은 소프트웨어 프로그램이 실행되는 동안 필요한 환경 또는 시스템을 의미한다.
프로그램이 작성된 코드를 실제로 실행할 수 있도록 지원하는 소프트웨어, 라이브러리, 시스템 자원 등을 포함한다.

대표적으로 자바 코드의 프로그램이 실행되기 위해서는 JVM(Java Virtual Machine) 의 런타임 환경이 필요하다.

2. 컨테이너 런타임

컨테이너화된 애플리케이션을 실행, 관리, 배포하기 위한 소프트웨어이다. 

컨테이너는 애플리케이션과 실행에 필요한 종속성(라이브러리, 설정파일 등)을 독립된 패키지로 묶여지고, 컨테이너 런타임 위에서 실행된다.

 

AWS 의 람다는 다양한 언어의 런타임을 제공한다.

이는 C++, JAVA, Node 등의 언어를 실행할 수 있는 환경을 제공해주는 것을 의미한다.

 

마찬가지로 컨테이너 런타임은 컨테이너를 실행할 수 있는 환경을 제공해준다.

3. 런타임 VS 컨테이너 런타임

정의 프로그램 실행을 위한 일반적인 환경 컨테이너화된 애플리케이션 실행 환경
범위 특정 언어/프레임워크에 초점 (예: JVM) 컨테이너 전체를 관리 (예: Docker)
목적 코드 실행 지원 애플리케이션과 종속성을 패키징하여 실행
예시 JVM, 파이썬 인터프리터, Node.js Docker, Containerd, CRI-O, Podman
운영체제 의존성 OS 위에서 동작 호스트 OS 커널 공유

 

'Domain Knowledge > CS' 카테고리의 다른 글

[CS] CPU Architecture  (1) 2025.09.09