Readers-Writers ๋ฌธ์ ๋ ๋ํ์ ์ผ๋ก ๊ณตํต ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ๋ฌ ํ๋ก์ธ์ค(readers, writers)๊ฐ ์ ๊ทผํ๋ฏ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๊ณ๊ตฌ์ญ์ผ๋ก ์ค์ ํด์ผํ๋ค. ์ฆ, ํ ๋ฒ์ ํ ๊ฐ์ ํ๋ก์ธ์ค๋ง ์ ๊ทผ๊ฐ๋ฅํ๋๋ก ํด์ผํ๋๋ฐ ์ด๋ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค.
๋นํจ์จ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ํ๋ก์ธ์ค ์ข ๋ฅ๋ฅผ reader์ writer๋ก ๋๋๋ค. ๊ทธ๋ฆฌ๊ณ reader๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ์ ๋ณด๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ฝ๊ธฐ๋ง ํ๋ ํ๋ก์ธ์ค์ด๋ฏ๋ก, ์ฌ๋ฌ reader ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ทผํ๋ ๊ฒ์ ํ์ฉํ๋ค. writer๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ฉ์ ๋ฐ๊พธ๋ ํ๋ก์ธ์ค์ด๋ฏ๋ก ๋น์ฐํ mutual exclusion ์ ๋ณด์ฅํด์ผํ๋ค.
2.1 ๋ถ๋ฅ
Readers-Writers ๋ฌธ์ ๋ ์ฐ์ ์์์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฒฝ์ฐ๋ก ๋๋ ์ ์๋ค.
- The first R/W problem (readers-preference): ์ด ๋ฐฉ๋ฒ์ reader ํ๋ก์ธ์ค์ ์ฐ์ ๊ถ์ ์ฃผ๋ ๊ฒ์ด๋ค. ๋ง์ฝ, ํ reader ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ณ ์๋ ๋์ writer ํ๋ก์ธ์ค๊ฐ ์ค๋ฉด ๋น์ฐํ ์ ๊ทผํ์ง ๋ชปํ๊ณ ๊ธฐ๋ค๋ฆฐ๋ค. ์ด ์ํฉ์์ ๋ค๋ฅธ reader ํ๋ก์ธ์ค๊ฐ ๋ค์ด์จ๋ค๋ฉด, writer ํ๋ก์ธ์ค๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ๋ฌด์ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ์ฌ ์ฝ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๋ reader๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๋ ์ํฉ์ด ๋๋ค.
- The second R/W problem (writers-preference): ์ ๋ฐฉ๋ฒ๊ณผ ๋ฐ๋๋ก writer ํ๋ก์ธ์ค๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์ํฉ์์ ๋ค๋ฅธ reader ํ๋ก์ธ์ค๊ฐ ๋ค์ด์จ๋ค๋ฉด, ๊ธฐ์กด์ writer ํ๋ก์ธ์ค ๋ค์ ์์๋ก ๊ธฐ๋ค๋ ค์ผํ๋ค.
- The third R/W problem: ์๋ฌด์๊ฒ๋ ์ฐ์ ์์๋ฅผ ์ฃผ์ง ์๋๋ค.
Reference
- KOCW ์ํฌ์ฌ ๊ต์๋ - ์ด์์ฒด์
- ์ํฌ์ฌ ๊ต์๋ ๋ธ๋ก๊ทธ(์ํ ๊ธฐ์ถ ๋ฌธ์ )
- codemcd ๋์ ์ ๋ฆฌ๊ธ
- Operating System Concepts, 9th Edition - Abraham Silberschatz