해결된 질문
작성
·
262
답변 1
0
먼저 두 가지 개념에 대해 한 번 더 정리하고 설명드리겠습니다.
병렬성(Parallelism)
병렬성은 두 개 이상의 작업이 실제로 동시에 실행되는 상황.
주로 여러 코어를 가진 CPU나 GPU에서 볼 수 있음.
각 코어는 독립적으로 작업을 수행할 수 있으므로, 여러 작업을 동시에 실행할 수 있음.
동시성(Concurrency)
동시성은 두 개 이상의 작업이 동시에 발생하는 것처럼 보이는 상황.
실제로는 이러한 작업들이 빠르게 번갈아 가며 실행되는 것이지만, 사용자는 이러한 작업들이 동시에 진행되는 것처럼 느낌.
예를 들어, 단일 코어 CPU에서 운영체제는 여러 프로세스나 스레드를 관리하며, 각 작업이 동시에 실행되는 것처럼 보이게 할 수 있음. 이는 각 작업을 빠르게 전환하며 CPU 시간을 분할하는 것으로 가능.
이미지 처리 작업으로 예시를 들어보면, 동시성의 경우, CPU는 이미지의 한 픽셀을 처리한 후 다음 픽셀로 넘어가며, 이를 빠르게 반복합니다. 이는 각 픽셀이 동시에 처리되는 것처럼 보이지만, 실제로는 각 픽셀이 순차적으로 처리됩니다. 반면에 병렬성의 경우, 여러 코어를 가진 CPU나 GPU는 이미지의 여러 픽셀을 동시에 처리할 수 있습니다. 각 코어는 다른 픽셀을 독립적으로 처리하기 때문에, 실제로 여러 작업이 동시에 수행됩니다.
동시성, 병렬성 내용 자체가 사실 정말 어려운 개념입니다 ㅎㅎ
강의 내용을 반복해 보시면서, 컴퓨터 공학, 운영체제 쪽으로 깊게 공부하고 싶으시면,
쉽게 배우는 운영체제 - YES24 이 책을 빌려서 가볍게 읽어 보시는 것을 추천드립니다. (단순하게 그냥 추천 드리는게 아니라, 저도 직접 읽어봤습니다 ㅎㅎ)
추가적으로 궁금하신 내용 있으시면 질문해주세요!