리액트 면접을 위한 준비 #1

HR.lee·2022년 4월 13일
0

면접준비

목록 보기
1/4

https://velog.io/@raejoonee/프로세스와-스레드의-차이

프로세스 생성 과정에 대해 설명하시오

프로그램 → 프로세스 → 스레드
프로그램 : 사용자가 실행하기 전의 코드덩어리
프로세스 : 사용자가 실행해서 컴퓨터 메모리 상에 올라간 프로그램의 상태

즉, 사용자가 exe파일을 클릭한 순간 프로세스는 생성된다.

스레드 : 프로세스 특성의 한계를 해결하기 위해 만들어진, 더 작은 실행 단위 개념

프로세스와 스레드의 차이 : 스레드는 프로세스 안에 포함되어 있는 개념이다.
프로세스의 실행흐름을 스레드라고 하며 각 프로세스는 하나 이상의 스레드를 가진다.

프로세스는 다른 프로세스와 정보를 공유하려면 IPC를 사용하는 등의 번거로운 과정을 거쳐야 하지만, 스레드는 기본 구조 자체가 메모리를 공유하는 구조이기 때문에 다른 스레드와 정보 공유가 쉽다.

스레드 하나가 꺼지면 → 다꺼진다
프로세스 하나가 꺼지면 → 옆에꺼는 안꺼진다!

운영체제는 프로세스를 최소단위로 관리하고 스레드들은 프로세스가 관리한다.

멀티태스킹 : 하나의 운영체제 안에서 여러 프로세스가 실행되는 것
멀티스레드 : 하나의 프로세스가 여러 작업을 여러 스레드를 사용하여 동시에 처리하는 것

멀티태스킹 vs 멀티스레드 :
스레드는 서로 정보공유가 쉽기 때문에 멀티태스킹보다 멀티스레드가 자원을 아낄 수 있다. 다만 스레드의 스케줄링은 운영체제가 처리하지 않기 때문에 프로그래머가 직접 동기화 문제에 대응할 수 있어야 한다.

크롬 탭이 프로세스인가 쓰레드인가

https://for-development.tistory.com/127

크롬은 Chromium이라는 오픈소스 코드를 이용하여 제작된 웹 브라우저이다.

멀티스레드 Architecture는 성능면에서 유리하지만,
안정성과 보안 등에서 취약하다.
그래서 chromium은 멀티프로세스 Architecture를 선택했다.
각각의 탭은 한개의 프로세스이며 각 프로세스는 IPC(Inter Process Communication)로 소통한다. 만약 최상단의 프로세스를 끄면 나머지도 다꺼진다.

키워드

프로그램, 프로세스, 스레드, 멀티태스킹, 멀티스레드, IPC, 멀티프로세스

profile
It's an adventure time!

0개의 댓글