본문으로 이동
  • 현재 모든 문서는 작성 중입니다. 보시는 데 불편함이 있더라도 양해 부탁드립니다.

운영체제 기본/Linux/RCU

~ldmsys
관리자 (토론 | 기여)님의 2026년 11월 1일 (일) 01:12 판 (RCU 각론 목차와 읽기 순서 추가)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

운영체제 기본 목차

RCU(Read-Copy Update)는 읽기가 많고 갱신이 드문 공유 자료구조에서 읽는 쪽의 동기화 부담을 줄이는 방법이다. 새 자료를 공개하는 시점과 이전 자료의 메모리를 회수하는 시점을 분리한다. 읽던 스레드는 이전 자료를 계속 사용할 수 있고, 갱신자는 그 읽기가 끝난 뒤에 이전 자료를 해제한다.

Linux v6.12의 일반 RCU API와 Tree RCU를 다룬다. 내부 구현은 다중 CPU, CONFIG_PREEMPT_RCU=y, 일반 유예 기간을 기준으로 한다. SRCU와 Tasks RCU, 신속 유예 기간은 별도 구현이며 이 흐름에 섞지 않는다.

문서 순서

  1. 포인터 공개와 읽기 구간: 자료를 초기화한 뒤 공개하고, 읽는 동안 수명을 보장하는 방법.
  2. 갱신과 메모리 회수: 이전 자료를 분리한 뒤 유예 기간을 기다리는 이유와 동기·비동기 회수.
  3. Tree RCU와 유예 기간: 읽기 구간 추적, CPU별 상태와 트리, 콜백 실행 경로.

뮤텍스와 메모리 순서의 기본은 동시성에서 설명한다. RCU는 갱신자 사이의 상호배제나 공유 자료의 모든 일관성 조건을 대신하지 않는다.