๊ด€๋ฆฌ ๋ฉ”๋‰ด

Unfazedโ—๏ธ๐ŸŽฏ

ํŠธ๋žœ์žญ์…˜(ACID, commit/rollback, ์ƒํƒœ, ์ €์žฅ์žฅ์น˜, ์ €์žฅ์—ฐ์‚ฐ) ๋ณธ๋ฌธ

Database (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

ํŠธ๋žœ์žญ์…˜(ACID, commit/rollback, ์ƒํƒœ, ์ €์žฅ์žฅ์น˜, ์ €์žฅ์—ฐ์‚ฐ)

9taetae9 2024. 4. 21. 11:50
728x90

1) ํŠธ๋žœ์žญ์…˜

1-1) ํ•œ๊บผ๋ฒˆ์— ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ๋“ค

- ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ <- ํ•˜๋‚˜ ์ด์ƒ์˜ ํŠธ๋žœ์žญ์…˜

- ํŠธ๋žœ์žญ์…˜ <- ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ๋“ค(SQL ๋ช…๋ น)

1-2) ๋ณ‘ํ–‰ ์ œ์–ด ๋ฐ ํšŒ๋ณต ์ž‘์—…์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„(LUW : Logical Unit of Work)

 

2) ํŠธ๋žœ์žญ์…˜์˜ ACID ์„ฑ์งˆ

2-1) ์›์ž์„ฑ (Atomicity)

- ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์—ฐ์‚ฐ์€ ๋ฐ˜๋“œ์‹œ ํ•œ๊บผ๋ฒˆ์— ์™„๋ฃŒ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๋Š” ํ•œ๊บผ๋ฒˆ์— ์ทจ์†Œ(all or nothing)

- ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์„ ์œ„ํ•œ ์—ฐ์‚ฐ : Commit(์™„๋ฃŒ)์™€ Rollback(๋ณต๊ท€)

- ์›์ž์„ฑ์€ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ ์ปดํฌ๋„ŒํŠธ ์ฑ…์ž„

 

2-2) ์ผ๊ด€์„ฑ (Consistency)

- ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜๋ฉด ์ผ๊ด€์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋ณ€ํ™˜

- ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์˜ ์ผ๊ด€์„ฑ ์œ„๋ฐ˜์€ ๋ฌด์‹œ, ์‹คํ–‰ ์ค‘์—๋Š” ๋ถˆ์ผ์น˜ ์ƒํƒœ ํ—ˆ์šฉ

- ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์ž ์ฑ…์ž„

 

2-3) ๊ฒฉ๋ฆฌ์„ฑ/๊ณ ๋ฆฝ์„ฑ (Isolation)

- ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰ ์ค‘์— ์žˆ๋Š” ์—ฐ์‚ฐ์˜ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋Š” ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ ‘๊ทผ ๋ถˆ๊ฐ€

- ํŠธ๋žœ์žญ์…˜์˜ ๋ถ€๋ถ„์ ์ธ ์ƒํƒœ๋ฅผ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์— ์ œ๊ณต ๋ถˆ๊ฐ€

- cascading abort๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ

- ๊ฒฉ๋ฆฌ์„ฑ์€ ๋™์‹œ์„ฑ ์ œ์–ด ์ปดํฌ๋„ŒํŠธ ์ฑ…์ž„

 

2-4) ์˜์†์„ฑ (Durability)

- ํŠธ๋žœ์žญ์…˜์ด ๊ทธ ์‹คํ–‰์„ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜๋ฉด ์‹œ์Šคํ…œ์€ ์™„๋ฃŒ๋œ ๊ฒฐ๊ณผ์˜ ์˜์†์„ฑ์„ ๋ณด์žฅ

- ์˜์†์„ฑ์€ ํšŒ๋ณต ๊ด€๋ฆฌ ์ปดํฌ๋„ŒํŠธ ์ฑ…์ž„

 

Q) ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋”๋ผ๋„ ๊ฐ๊ธฐ ๊ฐœ๋ณ„๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์„ฑ์งˆ์„ ( a ) ์ด๋ผ ํ•˜๋ฉฐ, ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ๋“ค์ด ์ˆ˜ํ–‰ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ์•„๋ฌด ์—ฐ์‚ฐ๋„ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Œ์„ ๋ณด์žฅํ•ด์•ผ ํ•˜๋Š” ํŠน์„ฑ์„ ( b ) ์ด๋ผ ํ•œ๋‹ค.

 

A) a : ๊ฒฉ๋ฆฌ์„ฑ/๊ณ ๋ฆฝ์„ฑ(isolation), b : ์›์ž์„ฑ(atomicity)

 

 

3) ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ์‚ฐ(commit, rollback)

3-1) COMMIT : ํŠธ๋žœ์žญ์…˜์˜ ์„ฑ๊ณต์ ์ธ ์ข…๋ฃŒ

- ํ•œ ์ž‘์—…์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๊ฐ€ ์„ฑ๊ณต์ ์ธ ์ข…๋ฃŒ

- ์ƒˆ๋กœ์šด ํŠธ๋žœ์žญ์…˜์€ commit๋ฌธ ๋‹ค์Œ์— ๋ฐ”๋กœ ์‹œ์ž‘ ๊ฐ€๋Šฅ

- ํŠธ๋žœ์žญ์…˜์ด ์‹คํŒจํ•œ ์ƒํƒœ์—์„œ commit์ƒํƒœ๋กœ๋Š” ์ „์ด ๋ถˆ๊ฐ€๋Šฅ

 

3-2) ROLLBACK : ํŠธ๋žœ์žญ์…˜์˜ ๋น„์ •์ƒ์ ์ธ ์ข…๋ฃŒ

- ํŠธ๋žœ์žญ์…˜์˜ ๋น„์„ฑ๊ณต์ ์ธ ์ข…๋ฃŒ

- ํ•œ ์ž‘์—…์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๊ฐ€ ์ˆ˜ํ–‰์ด ์ž˜๋ชป๋˜์—ˆ์Œ์„ ์•Œ๋ ค์คŒ

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด„์ ์ด์ง€ ์•Š์€ ์ƒํƒœ์— ์žˆ์œผ๋ฉฐ, ์ด ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰ ๋ชจ๋“  ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์„ ๋ณต๊ท€์‹œํ‚ค๊ฑฐ๋‚˜ ์ทจ์†Œ(Undo)ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ๊ธฐ์— ์•Œ๋ ค์คŒ

- DBMS๋Š” ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜ ์ด์ „ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋ณต๊ท€

 

4) ํŠธ๋žœ์žญ์…˜ ์ƒํƒœ

4-1) ์ƒํƒœ ํ๋ฆ„

- ํ™œ๋™(active) : ํŠธ๋žœ์žญ์…˜์ด begin_trans์—์„œ๋ถ€ํ„ฐ ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜์˜€๊ฑฐ๋‚˜ ์‹คํ–‰์ค‘์ธ ์ƒํƒœ

- ๋ถ€๋ถ„์™„๋ฃŒ(partially committed) : ํŠธ๋žœ์žญ์…”์ด ๋งˆ์ง€๋ง‰ ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•œ ์งํ›„์˜ ์ƒํƒœ

- ์‹คํŒจ(failed) : ์ •์ƒ์  ์‹คํ–‰์„ ๋” ์ด์ƒ ๊ณ„์†ํ•  ์ˆ˜ ์—†์–ด์„œ ์ค‘๋‹จํ•œ ์ƒํƒœ

- ์ฒ ํšŒ(aborted/failed) : ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰์— ์‹คํŒจํ•˜์—ฌ RollBack ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ์ƒํƒœ

- ์™„๋ฃŒ(committed) : ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰์„ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜์—ฌ commit ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ์ƒํƒœ

 

ํŠธ๋žœ์žญ์…˜์˜ ์ข…๋ฃŒ (committed, aborted) 

ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰์ด ์ข…๋ฃŒ๋˜๋Š” ์ƒํƒœ๋Š” ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ ํ›„์— ์ง„์ž…ํ•˜๋Š” ์™„๋ฃŒ(committed)์ƒํƒœ์™€ ์‹คํŒจํ•œ ํ›„์— ์ง„์ž…ํ•˜๋Š” ์ฒ ํšŒ(aborted)์ƒํƒœ๊ฐ€ ์žˆ๋‹ค.

 

๋ถ€๋ถ„ ์™„๋ฃŒ(partially committed) 

ํŠธ๋žœ์žญ์…˜์˜ ์‹คํ–‰์€ ๋ถ€๋ถ„์™„๋ฃŒ ์ƒํƒœ์—์„œ ๋์ด ๋‚˜์ง€๋งŒ ์‹ค์ œ ๋ณ€๊ฒฝ๋œ ๋ฒ„ํผ ๋ธ”๋ก์ด ์•„์ง ๋””์Šคํฌ์— ์ถœ๋ ฅ๋˜์ง€ ์•Š์•˜๊ธฐ(no disk output yet) ๋•Œ๋ฌธ์— ์ด ์ถœ๋ ฅ์„ ํ•˜๋Š” ๋™์•ˆ ํ•˜๋“œ์›จ์–ด ์žฅ์• ๊ฐ€ ์ผ์–ด๋‚˜ ์„ฑ๊ณต์ ์ธ ์ข…๋ฃŒ๋ฅผ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

4-2) ์ฒ ํšŒ(aborted) ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• (์žฌ์‹œ์ž‘, ํ๊ธฐ)

- ํŠธ๋žœ์žญ์…˜ ์žฌ ์‹œ์ž‘ : ํ•˜๋“œ์›จ์–ด๋‚˜ ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ฒ ํšŒ๋œ ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์‹œ ์ƒˆ๋กœ์šด ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ทจ๊ธ‰๋˜์–ด ์žฌ ์‹œ์ž‘

- ํŠธ๋žœ์žญ์…˜ ํ๊ธฐ : ํŠธ๋žœ์žญ์…˜์˜ ๋‚ด๋ถ€์  ์˜ค๋ฅ˜๋กœ ์žฌ ์ž‘์„ฑ์„ ํ•ด์•ผ ํ•˜๋“ ์ง€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—†๋Š” ๊ฒฝ์šฐ์— ์ทจํ•˜๋Š” ์กฐ์น˜

 

Q) ํŠธ๋žœ์žญ์…˜์˜ ๋™์ž‘์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

a. ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ(committed)๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ DBMS๋กœ๋ถ€ํ„ฐ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ํ™•์ธํ•œ ๊ฒฝ์šฐ๋ผ๋„ ํ•˜๋“œ๋””์Šคํฌ์— ์œ„์น˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์—๋Š” ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ๋ฐ˜์˜๋˜์–ด ์žˆ์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

b. ํŠธ๋žœ์žญ์…˜์ด ๋งˆ์ง€๋ง‰ ๋ช…๋ น๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ถ€๋ถ„์™„๋ฃŒ(partially committed)๋œ ์ƒํƒœ์—์„œ๋„ ์ฒ ํšŒ(aborted) ์ƒํƒœ๋กœ ์˜ฎ๊ฒจ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

c. DBMS๋Š” ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ํŠธ๋žœ์žญ์…˜์ด ๋ณ€๊ฒฝํ•œ ๋‚ด์šฉ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„ํผ ๊ณต๊ฐ„์˜ ์ œ์•ฝ์œผ๋กœ ์ธํ•˜์—ฌ ํ•˜๋“œ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์— ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.

d. ์‹œ์Šคํ…œ ๊ณ ์žฅ์œผ๋กœ ํŠธ๋žœ์žญ์…˜์ด ์ฒ ํšŒ๋œ ๊ฒฝ์šฐ, ํšŒ๋ณต ๊ด€๋ฆฌ์ž์— ์˜ํ•ด ๋ณต๊ตฌ๊ฐ€ ์ˆ˜ํ–‰๋œ ๊ฒฝ์šฐ๋ผ๋„ ํ•˜๋“œ๋””์Šคํฌ์— ์œ„์น˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์—๋Š” ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋‹ค.

 

A) d : ์‹œ์Šคํ…œ๊ณ ์žฅ์œผ๋กœ ํŠธ๋žœ์žญ์…˜์ด ์ฒ ํšŒ๋œ ๊ฒฝ์šฐ, ํ•˜๋“œ๋””์Šคํฌ์— ์œ„์น˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์—๋Š” ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ๋ฐ˜์˜ ๋ ์ˆ˜ ์—†์Œ

 

5) ๋ฐ์ดํ„ฐ ์ €์žฅ์žฅ์น˜ 

5-1) ์ข…๋ฅ˜ (volatile, nonvolatiile, stable)

- ์†Œ๋ฉธ์„ฑ(volatile) ์ €์žฅ์žฅ์น˜๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ฐ™์ด ์‹œ์Šคํ…œ์˜ ๋ถ•๊ดด์™€ ํ•จ๊ป˜ ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ์ƒ์‹คํ•˜๊ฒŒ ๋˜๋Š” ์žฅ์น˜

- ๋น„์†Œ๋ฉธ์„ฑ(nonvolatile) ์ €์žฅ์žฅ์น˜ : ๋””์Šคํฌ๋‚˜ ํ…Œ์ดํ”„์™€ ๊ฐ™์ด ์‹œ์Šคํ…œ ๋ถ•๊ดด ์‹œ์—๋„ ์ €์žฅ๋œ ์ •๋ณด๋Š” ์†์‹ค๋˜์ง€ ์•Š๋Š” ๊ฒƒ

- ์•ˆ์ •์„ฑ(stable) ์ €์žฅ์žฅ์น˜ : ์ •๋ณด์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฒŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„์†Œ๋ฉธ์„ฑ ์ €์žฅ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋œ ์ €์žฅ์žฅ์น˜

 

5-2) ์ œ์ž๋ฆฌ ๊ฐฑ์‹ ๊ณผ ๊ฐ„์ ‘ ๊ฐฑ์‹ 

- ์ œ์ž๋ฆฌ ๊ฐฑ์‹ (update in place, ์œˆ์œ„์น˜ ๊ฐฑ์‹ ) : ๊ฐฑ์‹ ๋œ ๋ฒ„ํผ ๋ธ”๋ก์„ ์›๋ž˜์˜ ๋””์Šคํฌ ๋ธ”๋ก์— ๋‹ค์‹œ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ

- ๊ฐ„์ ‘ ๊ฐฑ์‹ (indirect update) : ๊ฐฑ์‹ ๋œ ๋ฒ„ํผ ๋ธ”๋ก์„ ๋‹ค๋ฅธ ๊ณต๊ฐ„์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ

 

5-3) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ์—ฐ์‚ฐ

- ๋””์Šคํฌ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์˜ ๋ธ”๋ก ์ด๋™ ์—ฐ์‚ฐ

Input(X) : ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ X๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋””์Šคํฌ ๋ธ”๋ก์„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ด๋™

Output(Y) : ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ Y๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋ฒ„ํผ ๋ธ”๋ก์„ ๋””์Šคํฌ๋กœ ์ด๋™

 

- ํ”„๋กœ๊ทธ๋žจ ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ด๋™ ์—ฐ์‚ฐ

Read(X,x) : ๋ฐ์ดํ„ฐ์•„์ดํ…œ X์˜ ๊ฐ’์„ ๋ณ€์ˆ˜ x๊ฐ’์œผ๋กœ ์ง€์ •

๋งŒ์ผ ๋ฐ์ดํ„ฐ ์•„์ดํ…œ X๊ฐ€ ๋ฒ„ํผ ๋ธ”๋ก์— ์—†์œผ๋ฉด Input(X)๋ฅผ ์‹คํ–‰

๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์•„์ดํ…œ X์˜ ๊ฐ’์„ ๋ณ€์ˆ˜ x์— ์ง€์ •

 

Write(X, x) : ๋ณ€์ˆ˜ x์˜ ๊ฐ’์„ ๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์•„์ดํ…œ X์— ์ง€์ •

๋งŒ์ผ ๋ฐ์ดํ„ฐ ์•„์ดํ…œ X๊ฐ€ ๋ฒ„ํผ ๋ธ”๋ก์— ์—†์œผ๋ฉด Input(X)๋ฅผ ์‹คํ–‰

๋ณ€์ˆ˜ x์˜ ๊ฐ’์„ ๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์•„์ดํ…œ X์— ์ง€์ •

 

์ €์žฅ์—ฐ์‚ฐ 

Write(X,x)๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์–ด๋„ Output(X) ์ˆ˜ํ–‰ ์ „๊นŒ์ง€๋Š” ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋””์Šคํฌ์— ๋ฐ˜์˜๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ทธ ์ด์ „์— ์‹œ์Šคํ…œ์ด ๋ถ•๊ดด๋˜๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฐ’์€ ์ƒ์‹ค๋œ๋‹ค. output ์—ฐ์‚ฐ์˜ ์ฃผ์ฒด๋Š” O/S์ด๋ฏ€๋กœ commit์‹œ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ €์žฅ๊นŒ์ง€๋Š” ๋ณด์žฅ๋˜๋‚˜ ๋ฐ˜๋“œ์‹œ ๊ทธ๋ ‡๊ฒŒ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

728x90