[CS/OS] OS 동시성 문제의 흐름 - 스레드부터 Deadlock까지
·
CS/OS
운영체제의 동시성 문제는 프로세스/스레드에서 시작해 Race Condition → Lock → Semaphore → Deadlock으로 이어진다.흐름으로 따라가며 각 개념을 이해해보자.1. 프로세스와 스레드스레드는 메모리를 공유하기 때문에 동시성 문제가 발생한다.- 프로세스란?프로세스(Process)는 실행 중인 프로그램이다.카카오톡을 실행하면 카카오톡 프로세스가 생성되고, 크롬을 실행하면 크롬 프로세스가 생성된다.각 프로세스는 독립된 메모리 공간을 가진다. 즉, 카카오톡이 크롬의 데이터를 함부로 읽거나 쓸 수 없다.- 스레드란?스레드(Thread)는 프로세스 안에서 실제 작업을 수행하는 실행 단위다.하나의 프로세스는 여러 스레드를 가질 수 있다.예를 들어 크롬 브라우저를 실행하면:Chrome 프로세스 ..