동시성과 병렬성, 멀티 프로세스와 멀티 스레드
·
CS지식/운영체제
프로그램을 실행하는 방식에는 동시성(Concurrency) 과 병렬성(Parallelism) 이 존재합니다. 각각의 개념을 이해하면 멀티태스킹 환경에서 효율적인 프로그래밍이 가능합니다.동시성(Concurrency)동시성은 싱글 코어(Single Core) 환경에서 여러 작업을 번갈아 가면서 처리하는 방식입니다.  CPU는 한 번에 하나의 작업만을 실행할 수 있기 때문에, 여러 작업을 일정 시간 동안 실행한 후 다른 작업으로 전환하는 방식으로 동시성을 구현합니다.이러한 작업 전환 과정에서 콘텍스트 스위칭(Context Switching) 이 발생합니다. 이는 실행 중인 작업의 상태를 저장하고 새로운 작업의 상태를 복원하는 과정으로, 동시성 환경에서 필수적으로 수행됩니다.병렬성(Parallelism)병렬성은..