운영체제 기본/Linux/RCU: 두 판 사이의 차이
외관
잔글 관리자님이 운영체제 기본/Linux의 RCU 문서를 운영체제 기본/Linux/RCU 문서로 이동했습니다: Linux 각론 제목을 계층형 경로로 통일 |
직접 관련된 총론 링크와 선행 개념 안내 정리 |
||
| (같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
| 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/Tree RCU와 유예 기간|Tree RCU와 유예 기간]]: 읽기 구간 추적, CPU별 상태와 트리, 콜백 실행 경로. | ||
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, 신속 유예 기간은 별도 구현이며 이 흐름에 섞지 않는다.
관련 총론
문서 순서
- 포인터 공개와 읽기 구간: 자료를 초기화한 뒤 공개하고, 읽는 동안 수명을 보장하는 방법.
- 갱신과 메모리 회수: 이전 자료를 분리한 뒤 유예 기간을 기다리는 이유와 동기·비동기 회수.
- Tree RCU와 유예 기간: 읽기 구간 추적, CPU별 상태와 트리, 콜백 실행 경로.
RCU는 갱신자 사이의 상호배제나 공유 자료의 모든 일관성 조건을 대신하지 않는다.