reader - writer lock의 일종
read-write 락은 read_lock() 도중에도 read_lock()이 들어갈 수 있지만,
write_lock()이 발생되면 reader 또는 writer 모두 read_lock(), write_lock()에서 다쓸때까지 대기해야한다. 즉, 쓰는 동작이 발생하면 무조건 다른 스레드는 다쓸때까지 대기해야한다.

rcu는 쓰기 동작이 발생하면 쓴 내용을 갱신 리스트에 담아 두어, 쓰는 도중에도 reader가 들어와서 읽을 수 있다. reader나 writer가 rcu 임계구간을 나갈때 자신이 마지막이라면 갱신 리스트의 내용을 그 때 실제 쓴다. (지연된 쓰기가 됨)

Kernel Korner - Using RCU in the Linux 2.5 Kernel
http://www.linuxjournal.com/article/6993

Read-copy-update
From Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Read-copy-update

What is RCU?
http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html

Read Copy Update HOWTO
http://lse.sourceforge.net/locking/rcu/HOWTO/intro.html

참고
Memory barrier
From Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Memory_barrier

Lock-free and wait-free algorithms
From Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Lock-free_and_wait-free_algorithms

'KB > RTOS' 카테고리의 다른 글

RTOS contraint in application  (0) 2008.03.31
HW타이머 사용시 주의 점  (0) 2008.01.11
rtos stuff  (0) 2006.01.23
[링크-동영상 강좌] 마이크로프로세서의 이해, 그리고 운영체제와의 관계  (1) 2006.01.11
rtos 관련  (0) 2006.01.11

+ Recent posts