리눅스 rcu 원리

RCU(Read-Copy-Update)는 Linux 커널의 동기화 메커니즘입니다. RCU는 읽기-쓰기 잠금을 대체하는 것으로 흔히 설명됩니다. 리더가 쓰기와 직접 동기화할 필요가 없으며 리더와 쓰기도 동시에 실행할 수 있다는 것이 특징입니다.

일반 작업을 설명하기 위해 사진을 찍어 보겠습니다.

여러 리더가 중요한 리소스에 동시에 액세스할 수 있으며 rcu_read_lock/rcu_read_unlock을 사용하여 중요 섹션을 보정할 수 있습니다.

중요 리소스를 업데이트할 때 작성자(업데이트자)는 수정을 위한 기초로 복사본을 복사합니다. 모든 리더가 중요 섹션을 떠날 때 업데이트된 복사본에 대한 이전 중요 리소스에 대한 포인터를 가리키고 이전 리소스를 재활용합니다.

그림에는 Writer가 하나만 표시되어 있습니다. Writer가 여러 개인 경우에는 Writer 간에 상호 배제 처리를 수행해야 합니다.

上篇: 퍼즐은 무슨 뜻인가요? 下篇: SATA 하드 드라이브는 어디에서 1. 과 2. 과 3. 으로 보입니까
관련 내용