<설명>
- Runtime은 프로그래밍 언어의 실행 model 일부를 구현하는 코드 조각.
- Runtime은 프로그램이 작업하는데 필요한 Computing Resource와 상호작용하게 해줌.
- 종종 프로그래밍 언어의 중요한 부분이라 따로 설치할 필요 없음.
- Program이 동작하는 것 자체를 Runtime 이라 함.
- 개발자들은 종종 program compilation 과정이 '프로그램'에 포함되는지, runtime에 포함되는지 구별한다.
==> compile이 'program'에 포함되는걸 Complie Time 이라 명명.
@@ [참고] Compile Time과 Runtime의 차이
<Runtime 작동 원리>
[설명]
- Runtime 은 Programming Lifecycle 의 한 단계.
- 적절한 실행에 필요한 모든 외부 지시들을 따라 동작하는 program 전반의 시간.
==> 여기서 말하는 외부 지시들은 Runtime system 이나 Rutime Environment 등의 프로그래밍 중요 요소를 의미.
[과정]
1) main 프로그램 실행에 필요한 작업을 하는 other(다른) 프로그램이 있다. other 프로그램을 포함하는 OS 위에 Runtime System 은 Layer를 형성.
==> Other 프로그램은 main 프로그램에 대한 메모리 할당 및 예약 등의 작업을 처리.
2) Application이 Runtime 단계에 이르면, program의 실행 가능 파일이 RAM 으로 load 됨.
2-1) 이 과정에선 user가 작성하지 않았지만, program 실행을 위해 백그라운드에서 작동하는 code가 포함될 수 있음.
3) 백그라운드 동작 code는 computer의 프로세스로 보내져 기계어 code로 변환.
4) 그 뒤에 하드웨어가 program 실행.
<Runtime Error>
[설명]
- 문제 발생에 따라 Program이 runtime 순간의 처리를 막는 것.
==> 문제 원인은 손상되거나, 사라진, 호환하지 않는 요소 등이 있다.
[예시]
- Insufficent System Resource : System Resource 부족으로 runtime 환경이 동작 불가.
- Coding Error : 걍 code 버그
- Broken Dependency : main program 작동에 필요한 other(다른) application 과의 연결이 끊어져서 발생.
<Runtime Environment>
[설명]
- Low-level 작업을 함
==> Parallel Execution, Disk I/O, Task Scheduling, Garbage Collection (resource 관리)
- High-level 명령어 를 구현하는 경우도 있음
==> Type Checking, Debugging, Code Optimization
[종류]
1) Java Runtime Environment (JRE)
2) Common Language Runtime (CLR)
3) Node.js
<출처 1> https://www.techtarget.com/searchsoftwarequality/definition/runtime
<출처 2> https://www.baeldung.com/cs/runtime-vs-compile-time
<출처 3>
'Programing > Knowledge' 카테고리의 다른 글
[CS] Transparancy (0) | 2022.11.19 |
---|---|
[Knowledge] Procedure 의미 (0) | 2022.11.17 |
[Knowledge] Parity Bit (0) | 2022.09.08 |
[Knowledge] Method Chaining (메소드 체이닝) (0) | 2022.08.30 |
댓글