운영체제 3: 동시성 병렬성의 뜻 개념 예시 차이

동시성 병렬성

운영체제에서 동시성 (Concurrency) 과 병렬성 (Parallelism) 은 다수의 작업이 동시에 실행되는 개념을 나타냅니다. 그러나 두 용어는 서로 다른 의미를 가지고 있습니다. 개발자는 동시성 병렬성 개념을 잘 활용하면, 효율적이고 성능이 우수한 소프트웨어를 개발할 수 있습니다. 이번 글에서는 동시성과 병렬성 개념과 차이를 설명하도록 하겠습니다.


동시성 vs 병렬성 (Concurrency vs Parallelism)

동시성 vs 병렬성

1. 동시성 (Concurrency)

동시성 개념

운영체제의 동시성 (Concurrency) 은 여러 작업이 동시에 진행되는 것처럼 보이는 개념입니다. 하나의 CPU 가 여러 작업을 번갈아 가며 수행함으로써 이루어집니다. 이는 사용자에게 여러 작업이 동시에 일어나는 것처럼 느끼게 하지만, 실제로는 작업 간에 빠르게 전환되는 것입니다.

동시성 예시

운영체제의 멀티태스킹

운영체제의 멀티태스킹은 동시성의 대표적인 예시입니다. 운영체제는 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 관리합니다. 예를 들어, 웹 브라우저를 사용하면서 동시에 음악을 듣거나 문서를 작성하는 것이 가능합니다.

멀티 스레딩 (Multi – Threading)

한 프로세스 안에서 여러 스레드가 동시에 실행되는 것을 통해 동시성을 구현할 수 있습니다. 각 스레드는 독립적으로 실행되지만 공유된 자원에 접근할 수 있습니다.

2. 병렬성 (Parallelism)

병렬성 개념

운영체제의 병렬성 (Parallelism) 은 여러 작업이 동시에 실제로 처리되는 것을 의미합니다. 이는 여러 프로세서 또는 코어가 동시에 작업을 수행함으로써 이루어집니다.

병렬성 예시

다중 코어 프로세서

여러 개의 코어를 가진 프로세서를 사용하여 병렬성을 달성할 수 있습니다. 각 코어는 독립적으로 작업을 수행하므로 병렬 처리가 가능합니다.

그래픽 카드 (GPU) 병렬 처리

그래픽 처리 작업은 수많은 작은 작업으로 분할되어 동시에 처리됩니다. 그래픽 카드 (GPU) 의 여러 프로세서가 동시에 병렬적으로 계산을 수행하여 대용량의 데이터를 빠르고 효과적으로 처리하기 위함 입니다.

– 크롬 OS : 동시성과 병렬성을 잘 활용한 예

크롬 OS

크롬 OS 는 운영체제로서 동시성과 병렬성의 개념을 효과적으로 활용합니다. 크롬 OS 는 다음과 같은 특징을 가지고 있습니다.

탭 기반의 동시성

크롬 브라우저는 탭 기반의 구조를 가지고 있습니다. 각 탭은 독립적인 프로세스로 실행되기 때문에 하나의 탭에서 문제가 발생해도 다른 탭은 정상적으로 동작할 수 있습니다. 이는 동시에 여러 웹 페이지를 열고 사용할 때 유용합니다.

안드로이드 (Android) 앱의 병렬 실행

크롬 OS 는 안드로이드 (Android) 앱을 지원하며, 안드로이드 앱은 크롬 OS에서 동시에 병렬로 실행될 수 있습니다. 사용자는 Chromebook 에서 웹 브라우징과 동시에 안드로이드 앱을 동시에 병렬로 실행하여 다양한 작업을 병렬로 수행할 수 있습니다.

크롬 OS 의 이러한 특징은 사용자에게 효율적인 환경을 제공하고, 여러 작업을 동시에 수행할 때 성능을 최적화하는 데 도움이 됩니다.

마치며

동시성과 병렬성은 서로 다른 개념이지만 종종 혼용되기도 합니다. 실제로 많은 시스템은 동시성과 병렬성을 결합하여 높은 효율성을 달성합니다. 멀티코어 프로세서에서 멀티태스킹을 수행하면서 각 코어는 병렬적으로 작업을 수행하는 것이 이에 해당합니다.

운영체제에서의 동시성과 병렬성은 현대 컴퓨팅에서 핵심적인 원리로, 이를 잘 이해하고 활용함으로써 효과적인 시스템 설계와 성능 향상을 이끌어낼 수 있습니다.

함께 읽으면 좋은 글
Reference

Leave a Comment