1127 TIL 컴퓨터 공학 기초

냐하호후·2021년 11월 30일
0

TIL

목록 보기
64/101

웹브라우저(응용프로그램) 위에서 자바스크립트 코드가 읽혀진다.
node.js코드를 v8엔진이 읽는다.
운영체제 위에서 돌아가는 운영체제와 v8의차이
v8은 node.js코드가 없으면 안돌아간다
웹 브라우저가 js파일을 실행해준다.
node.js코드가 v8엔진을 실행시킨다.

운영체제위에서 프로그램이 돌아가려면 프로세스가 필요하다.
운영체제를 돌릴 공간의 단위가 프로세스

프로세스는 공장. 공장에서 일하는 일꾼 =스레드
스레드는 한번에 한가지일만 할수있다.
스레드 여러개를 멀티로 코드를 작성하면 버그도 발생하고 관리하기가 힘들다. 그래서 만들어진 것이 비동기이다.

자바스크립트는 호출스택만 있다. 비동기처리를 안하면 작업이 쌓이고 순차적으로 실행이된다.
기본적으로는 싱글스레드이다. 백그라운드와 테스크 큐를 node.js에서 붙여주었다. (이벤트 루프)
백그라운드에서 스레드가 여러개 돈다. 워커스레드를 생성해서 작업들을 동시에 실행한다.
동시에 작업할게 없다면 전부다 호출스택에 넣는다.

왜 싱글스레드라고 불러요?

개발자가 직접적으로 메서드를 넣을 수 있는건 호출스택밖에 없다. 워커스레드를 만들어낼 수 없어서 싱글스레드라고 부른다. 개발자에게 제공되는 스레드가 하나뿐이어서 그렇다. 워커스레드는 node.js가 관리한다.

쿠키와 캐시

캐시는 서버가 볼 수 없다. 쿠키는 클라, 서버 둘다 볼 수 있다.
쿠키는 브라우저에 저장이 된다.
캐시는 브라우저가 OS에 저장을 한다.응용프로그램이 관리한다고 보면 됌
쿠키와 캐시는 관리하는 주체의 차이이다.

코드에서 변수를 선언할때 선언은 스택에 저장되고 정의는 힙에 저장된 뒤 힙에있는 정의를 스택에서 참조한다

가상스레드

하드웨어적으로 보면 하나의 코어는 한 스레드밖에 없어여.. 쿼드코어 이런건 마케팅입니다..ㅎ
한개의 코어를 가지고 여러개의 스레드를 왔다갔다한다. 일하다가 중도에 끊고 다른일하고 이렇게하면 (OS가 보기에) 하나의 코어가 동시에 여러일 하는것처럼 보일뿐이다.

profile
DONE is better than PERFECT

0개의 댓글

관련 채용 정보