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

https://velog.io/@daeseongkim/Node.js-Node.js%EB%8A%94-%EC%8B%B1%EA%B8%80-%EC%8A%A4%EB%A0%88%EB%93%9C

https://wikidocs.net/22322

https://edu.goorm.io/learn/lecture/557/%ED%95%9C-%EB%88%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-node-js/lesson/21763/%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EA%B8%B0%EB%B0%98-%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%B0%A9%EC%8B%9D