호우동의 개발일지

Today :

article thumbnail
동시성 vs 병렬성(Concurrency vs Parallelism)
Computer Science 2021. 11. 26. 18:01

동시성과 병렬성을 비교하기 위해서는 일단 두 가지 개념에 대한 정확한 이해가 필요하다. 동시성 병렬성 시각적으로 동시에 실행되는 것으로 보임(실제로는 X) 실제로 동시에 여러 작업이 실행 논리적인 개념 물리적인 개념 싱글 코어에서 멀티 쓰레드 동작시키는 방식 멀티코어에서 멀티 쓰레드를 동작시키는 방식 여러 일을 한번에 많이 처리 여러 일을 한번에 많이 처리 동시성과 병렬성을 비교하면 위와 같다. 이제 아래에서 하나씩 차근차근 의미를 풀어보도록 하겠다. 동시성과 병렬성의 개념 동시성과 병렬성은 개념적으로 뭐가 다를까? 위의 표와 이름만 보면 크게 다를 게 없어 보일 것이다. 그림을 통해 알아보자. 동시성(Concurrent) 그림처럼 지나가야 하는 문이 있고, 그 앞에 사람들이 두 줄로 서있다고 가정해 보..

article thumbnail
프로세스와 쓰레드의 차이 (Process vs Thread)
Computer Science 2021. 11. 25. 22:09

프로세스와 스레드의 개념 우선 차이점을 알기 위해서 프로세스와 스레드의 개념부터 간단히 살펴보자. 프로세스(Process) : 운영체제로부터 자원을 할당받는 작업의 단위 프로세스는 운영체제에서 다루는 용어인데, 간단히 말해서 현재 실행 중인 프로그램이다. 프로세스에는 Code, Data, Stack, Heap 이 네 가지 형식으로 메모리를 할당한다. 그림은 프로세스와 스레드와의 차이점을 설명하기 위해 그려둔 것이기 때문에 각 형식의 자세한 설명은 하지 않도록 하겠다. 그냥 이런 식으로 구성된다는 것만 알아두면 된다. 프로그램 vs 프로세스 우선 프로세스를 제대로 이해하기 위해선 프로그램과 프로세스를 구별할 줄 알아야 한다. 프로그램은 보조 기억 장치(하드디스크, SSD 등)에 위치하며, 실행될 수 있는 ..