Node.js
Node.js
2승
2021. 12. 30. 01:05
Node.js
Chrome의 V8 엔진을 이용한 JavaScript 런타임 환경
내장 HTTP 서버 라이브러리로 서버 실행
서버 사이드 언어(Server Side Script)*
비동기 이벤트 처리(Non-Blocking)*
싱글 스레드(Single thread)*
*서버 사이드 언어(Server Side Script)란? 클라이언트-서버 구조로 서버 부분에 해당됨
*비동기 이벤트 처리(Non-Blocking)란? I/O 작업이 시작되면 작업 처리에 대한 응답을 기다리지 않고 바로 다음 작업을 실행하는 것
*싱글 스레드(Sigle thread)란? 스레드란 프로세스 내에서 실행되는 흐름의 단위*를 말함
즉, 싱글 스레드란 하나의 프로세스에서 하나의 스레드를 실행하는 것을 의미함
더보기
싱글 스레드(Single thread) | 멀티 스레드(Multi thread) | |
장점 | 자원 접근 동기화 걱정 X | 많은 요청에 대한 효율적 운영 가능 |
단점 | 여러개의 CPU 활용 X | 스레드 생성에 신경 O |
*흐름의 단위(code, data, stack, heap)
더보기
정적 세그먼트 | 동적 세그먼트 |
코드 세그먼트(Code Segment) -프로그램 명령어(코드)가 저장되는 주기억장치 영역 -프로그램 시작 시 할당/종료시 할당 해제됨 |
스택 세그먼트(Stack Segment) -프로그램 실행되는 동안 일시적으로 저장하는 데이터를 순차적으로 쌓아 저장하는 영역 |
데이터 세그먼트(Data Segment) -문자열 리터럴(String Liteal), 전역 변수(Global variable), 정적 변수(Static variable)가 저장되는 영역 -코드 세그먼트 다음에 할당됨 |
힙 세그먼트(Heap Segment) -프로그램 실행되는 동안 원시 코드에 의해 동적으로 할당 및 할당 해제 되는 영역 |
출 처 : https://ultradream.tistory.com/entry/%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%8A%B8Segment-%EB%9E%80