CS/Operating System

    [Operating System] ์šด์˜์ฒด์ œ Caching [2]

    [CS/Operating System] - [Operating System] ์šด์˜์ฒด์ œ Caching [1] ์บ์‹ฑ์˜ ๊ธฐ๋ณธ ์ง€์‹์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ ๋ถ€๋ถ„์ด Caching 1ํŽธ์ด๋‹ค. [Operating System] ์šด์˜์ฒด์ œ Caching [1] ์•„๋ž˜ ๋ชจ๋“  ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ํŒŒํ”ผ์˜ Chching(์บ์‹ฑ)๊ณผ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•œ ์ง€ ์–ผ๋งˆ ์•ˆ๋˜๊ธฐ๋„ ํ–ˆ๊ณ , ํ•ญ์ƒ ํ•˜๋‚˜์”ฉ ํ•˜๋‚˜์”ฉ ์Šคํƒ world-developer.tistory.com ์•„๋ž˜ ๋ชจ๋“  ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ํŒŒํ”ผ์˜ Chching(์บ์‹ฑ)๊ณผ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. โœ”๏ธ ์บ์‹œ์˜ ๋™์ž‘์›๋ฆฌ Cache๋ž€? ์ž์ฃผ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์˜ ๋ณต์‚ฌ๋ณธ์„ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅ, ๋ณด๊ด€ํ•˜..

    [Operating System] ์šด์˜์ฒด์ œ Caching [1]

    ์•„๋ž˜ ๋ชจ๋“  ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ํŒŒํ”ผ์˜ Chching(์บ์‹ฑ)๊ณผ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•œ ์ง€ ์–ผ๋งˆ ์•ˆ๋˜๊ธฐ๋„ ํ–ˆ๊ณ , ํ•ญ์ƒ ํ•˜๋‚˜์”ฉ ํ•˜๋‚˜์”ฉ ์Šคํƒ์„ ์Œ“๊ธฐ์— ๊ธ‰๊ธ‰ํ•ด์„œ ๊ทธ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๊ฒƒ๋งŒ ์•Œ์•˜์ง€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์€ ์˜ฌํ•ด ๋“ค์–ด ์ œ์ผ ๋งŽ์ด ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Œ. ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์บ์‹ฑ์ธ๋ฐ, ๊ธฐ๋…์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•จ. ์ด๋ฒˆ ๋‚ด์šฉ์€ ํ”„๋ก ํŠธ์—”๋“œ ๊ด€๋ จํ•ด์„œ์˜ ์บ์‹ฑ์ด ์•„๋‹Œ CS ์ ์ธ ๊ธฐ๋ณธ์ ์ธ ์บ์‹ฑ์˜ ๊ฐœ๋…์„ ๋‹ค๋ฃจ๋ ค๊ณ  ํ•จ. ์บ์‹ฑ๋Š” ํ•˜๋“œ์›จ์–ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ธฐ์ˆ  ๊ณ„์ธต์— ๊ฑธ์ณ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ. โœ”๏ธ Caching === Cache + ing ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์บ์‹ฑ์ด๋‹ค. โœ”๏ธ Cache๋ž€? ํ”„๋ž‘์Šค์–ด '์ˆจ๊ธฐ๋‹ค'๋ผ๋Š” ๋•ƒ์„ ๊ฐ€์ง„ ๋‹จ์–ด..

    [์šด์˜์ฒด์ œ] Chapter7. Synchronization Examples

    1. Classic Problems of Synchronization The bounded-buffer problem The readers-writers problem The dining-philosophers problem 1) The Bounded-Buffer Problem ๋‘ ์ข…๋ฅ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” Producer, ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” Consumer์ด๋‹ค. ์ด๋Š” ์ƒ์‚ฐ์ž-์†Œ๋น„์ž ๋ฌธ์ œ(Producer-Consumer Problem)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ์€ ์–ด๋А producer๊ฐ€ ๋ฒ„ํผ ์ค‘ ๋นˆ ๊ณณ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋ ค๊ณ  ํ•  ๋•Œ, interrupt๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šคํ•œํ…Œ ๊ณต์œ ์ž์›์ด ๋„˜์–ด๊ฐ€์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•ด๋‹นํ•˜๋Š” ๋นˆ ๊ณณ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ๋•Œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋‘˜ ์ค‘ ..

    [์šด์˜์ฒด์ œ] Chapter6. Synchronization Tools(๋™๊ธฐํ™”)

    1. Background ์ด ์žฅ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณ‘ํ–‰ ๋˜๋Š” ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋  ๋•Œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์— ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ง€์— ๊ด€ํ•ด ์„ค๋ช…ํ•œ๋‹ค. Process communication method ์ธ 1)message passing 2)Shared memory๊ฐ€ ์ด๋ฃจ์–ด ์งˆ๋•Œ ์ถฉ๋Œ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ) Producer-consumer problem - ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ(shared memory)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Producer์™€ Consumer์˜ ๊ณผ์ •์ด ์ด๋ฃจ์–ด ์ง€๋ฉด์„œ Buffer๊ฐ€ ์ด์šฉ๋˜๋Š”๋ฐ ์ด๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. : Concurrent Access of Shared Data(๊ณต์œ ๋ฐ์ดํ„ฐ๋กœ์˜ ๋™์‹œ์ ‘๊ทผ) ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…์„ ํ•˜์ž๋ฉด, size๊ฐ€ 5์ธ buffer(circular queue)๊ฐ€ ์žˆ๋‹ค..