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 |
---|