만쥬의 개발일기
article thumbnail
[OS] - Concurrency, Race condition, Mutex
🖥️CS/📕운영체제 2023. 6. 6. 16:54

❓Concurrency란 뭘까? 운영체제에서 Concurrency란 상당히 중요한 개념이다. 현대의 컴퓨터는 기본적으로 멀티코어 프로세서를 가지고 있기에 작업의 병렬 처리가 가능하다. 웹 브라우저에서 여러 웹 페이지를 동시에 로드하거나, 편집기에서 여러 문서를 동시에 편집하거나 등등. 즉 concurrency(동시성) 란, 한 번에 여러 작업을 수행할 수 있는 컴퓨터 시스템의 능력을 가리키는 개념이다. OS로부터 각각 자원을 할당 받는 프로세스를 여러개 두고 관리하거나, 한 프로세스에서 자원을 공유하는 여러 스레드를 생산해 멀티 쓰레딩 프로그래밍을 하거나 할때에, concurrency는 빛을 발한다. 하지만 concurrency는 상당히 예민한 개념이다. 한 광산(프로세스)에서 여러명의 인부(스레드)가 ..