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

운영체제 기본/Linux/RCU: 두 판 사이의 차이

~ldmsys
RCU 각론 목차와 읽기 순서 추가
 
직접 관련된 총론 링크와 선행 개념 안내 정리
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
4번째 줄: 4번째 줄:


Linux v6.12의 일반 RCU API와 Tree RCU를 다룬다. 내부 구현은 다중 CPU, <code>CONFIG_PREEMPT_RCU=y</code>, 일반 유예 기간을 기준으로 한다. SRCU와 Tasks RCU, 신속 유예 기간은 별도 구현이며 이 흐름에 섞지 않는다.
Linux v6.12의 일반 RCU API와 Tree RCU를 다룬다. 내부 구현은 다중 CPU, <code>CONFIG_PREEMPT_RCU=y</code>, 일반 유예 기간을 기준으로 한다. SRCU와 Tasks RCU, 신속 유예 기간은 별도 구현이며 이 흐름에 섞지 않는다.
== 관련 총론 ==
* [[운영체제 기본/동시성|동시성]]: 상호 배제·메모리 순서와 RCU의 기본 목적.
* [[운영체제 기본/프로세스와 스레드|프로세스와 스레드]]: 실행 문맥과 선점, 컨텍스트 스위치.


== 문서 순서 ==
== 문서 순서 ==
# [[운영체제 기본/Linux의 RCU/포인터 공개와 읽기 구간|포인터 공개와 읽기 구간]]: 자료를 초기화한 뒤 공개하고, 읽는 동안 수명을 보장하는 방법.
# [[운영체제 기본/Linux/RCU/포인터 공개와 읽기 구간|포인터 공개와 읽기 구간]]: 자료를 초기화한 뒤 공개하고, 읽는 동안 수명을 보장하는 방법.
# [[운영체제 기본/Linux의 RCU/갱신과 메모리 회수|갱신과 메모리 회수]]: 이전 자료를 분리한 뒤 유예 기간을 기다리는 이유와 동기·비동기 회수.
# [[운영체제 기본/Linux/RCU/갱신과 메모리 회수|갱신과 메모리 회수]]: 이전 자료를 분리한 뒤 유예 기간을 기다리는 이유와 동기·비동기 회수.
# [[운영체제 기본/Linux의 RCU/Tree RCU와 유예 기간|Tree RCU와 유예 기간]]: 읽기 구간 추적, CPU별 상태와 트리, 콜백 실행 경로.
# [[운영체제 기본/Linux/RCU/Tree RCU와 유예 기간|Tree RCU와 유예 기간]]: 읽기 구간 추적, CPU별 상태와 트리, 콜백 실행 경로.


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


{{운영체제 기본 둘러보기}}
{{운영체제 기본 둘러보기}}

2026년 11월 1일 (일) 04:03 기준 최신판

운영체제 기본 목차

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는 갱신자 사이의 상호배제나 공유 자료의 모든 일관성 조건을 대신하지 않는다.