멀티스레드 2

[TIL][OS] 프로세스와 스레드의 차이

전에 심포지엄 주제로 멀티 프로세스와 멀티 스레드의 개념과 그 차이에 대해서 공부했었는데, 그때는 프로세스와 스레드가 뭔지 기본적인 개념 정도만 짚고 넘어갔었다.그게 아쉬워서 오늘은 단순한 개념을 넘어, 프로세스의 상태 값들과 메모리 구조는 어떻게 되있는지, 그 각각의 구조는 뭔지 등을 공부해보면서 프로세스와 스레드에 대해 깊고! 자세하게 공부한 것을 기록해 볼 생각이다. 프로세스란?프로세스(Process)는 컴퓨터에서 실행되고 있는 프로그램을 말한다. * task (CPU 스케쥴링의 대상이 되는 작업) 라는 용어와 거의 같은 의미로 쓰인다. 문장으로만 보면 다소 추상적으로 느껴질 수 있기에 그림으로 예를 들어서 설명해보겠다. 위의 그림처럼, 프로그램이 메모리에 올라가면 프로세스가 되는 ..

Computer Science 2024.04.24

[TIL][OS] 멀티 프로세스와 멀티 스레드의 차이, 컨텍스트 스위칭

같이 항해하는 친구들끼리 진행해보기로 한 CS 스터디! aka 심포지엄 (ㅋㅋ)이번에는 매번 읽고만 넘기고 자세히 짚어보지는 않았던 멀티 프로세스와 멀티 스레드의 차이에 대해 공부해보기로 했다.이 둘의 차이에 대해 알아보기 전에 먼저 프로세스와 스레드란 뭔지 알아보자. 🔎 프로세스 (Process)란?프로세스는 컴퓨터에서 실행 중인 프로그램을 의미한다.실행 중인 프로그램은 메모리에 올라가서 CPU에 의해 실행되며, 이렇게 실행 중인 프로그램을 프로세스라고 부르는것이다.프로세스는 운영체제(OS)에 의해 관리되고, 프로세스마다 자신의 주소 공간, 메모리, 입출력, 파일 등의 자원을 갖고 있다. 또한 하나의 프로그램이 여러 개의 프로세스로 분리되어 실행될 수도 있다!즉, 프로세스란 '프로그램이..

Computer Science 2024.03.26