[Process Synchronization] Overview
Background 현대의 컴퓨터 프로세스들은 다중 코어, 다중 프로세스, 다중 스레드 방식 등을 통해 여러 명령들(instruction lines)이 병행하게, 혹은 병렬로 실행될 수 있습니다. 하나의 CPU에서 스케줄링 없이 각각의 프로세스를 sychronized 한 방식으로 처리한다면 아무런 문제가 없겠지만, 이러한 방식은 답답한 UX를 만들고, 프로그램의 성능을 떨어뜨리는 결과를 가져옵니다. (최신의 노트북은 적어도 4개~8개의 CPU 코어를 가지고 있습니다.) 이렇게 여러 개의 코어에서 여러 프로세스들이 스케줄되어 실행되기 때문에 현대의 컴퓨터는 우수한 성능을 낼 수 있지만, Process Scheduling, Shared Memory 등등 여러 가지 복잡한 사항들을 고려해야 합니다. 이번 포스..
2021.04.03