๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Dev Blog

CS31

[์šด์˜์ฒด์ œ] ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜์™€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ ๊ต์žฌ์— ๋Œ€ํ•œ TIL์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์˜ ์ดํ•ด๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋Š” 1 ๋ฐ”์ดํŠธ ํฌ๊ธฐ๋กœ ๋‚˜๋‰œ๋‹ค. 1๋ฐ”์ดํŠธ๋กœ ๋‚˜๋‰œ ๊ฐ ์˜์—ญ์€ ์ฃผ์†Œ๋กœ ๊ตฌ๋ถ„๋˜๋Š”๋ฐ ๋ณดํ†ต 0๋ฒˆ์ง€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ’ก ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ CPU๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ • ๋จผ์ €, CPU๊ฐ€ ์ ‘๊ทผํ•˜๋ ค๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ(MAR)์— ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ์ฃผ์†Œ๊ฐ€ ์ฃผ์†Œ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ „๋‹ฌ๋œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ํ•ด๋‹น ์ฃผ์†Œ์˜ ๊ฐ’์„ ๋ฐ์ดํ„ฐ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ(MBR)๋กœ ๋ณด๋‚ธ๋‹ค. MBR์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์˜ฎ๊ฒจ์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์ž‘์—…์ด ๋๋‚œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ž‘์—…๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๋น„๋กฏํ•ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— .. 2023. 5. 2.
[์šด์˜์ฒด์ œ] ๊ต์ฐฉ ์ƒํƒœ(Deadlock) ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜์™€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ ๊ต์žฌ์— ๋Œ€ํ•œ TIL์ž…๋‹ˆ๋‹ค. ๊ต์ฐฉ ์ƒํƒœ ๊ต์ฐฉ ์ƒํƒœ๋ž€ 2๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์ด ๋™์‹œ์— ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒฝ์šฐ, ๋‹ค๋ฅธ ์ž‘์—…์ด ๋๋‚˜๊ธฐ๋งŒ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ์ž‘์—…์„ ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ต์ฐฉ ์ƒํƒœ๋Š” ๊ธฐ์•„ ์ƒํƒœ(Starvation)์™€ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๊ธฐ์•„ ์ƒํƒœ๋Š” ์ž˜๋ชป๋œ ์ •์ฑ…์œผ๋กœ ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ์ง€์—ฐ๋˜๋Š” ๋ฌธ์ œ์ธ ๋ฐ˜๋ฉด, ๊ต์ฐฉ ์ƒํƒœ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฐœ์ƒํ•˜๋Š” ์ž์—ฐ์ ์ธ ํ˜„์ƒ์ด๋‹ค. ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ์ž์›์„ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ์–ด๋–ค ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ฐฉํ–ฅ์„ฑ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์›์œผ๋กœ, ์ž์›์€ ์‚ฌ๊ฐํ˜•์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ(ํ• ๋‹น๋œ ๊ฒฝ์šฐ)๋Š” ์ž์›์—.. 2023. 4. 23.
[์šด์˜์ฒด์ œ] ๋™๊ธฐํ™”(Synchronization) ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜์™€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ ๊ต์žฌ์— ๋Œ€ํ•œ TIL์ž…๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋‚˜ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•œ์ •๋œ ์ž์›์„ ๊ฐ€์ง€๊ณ  ๊ณต๋™์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋•Œ, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฝ์Ÿ ์ƒํƒœ ๊ณต์œ  ์ž์›์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต๋™์œผ๋กœ ์ด์šฉํ•˜๋Š” ๋ณ€์ˆ˜, ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ ๋“ฑ์„ ๋งํ•œ๋‹ค. ๊ณต์œ  ์ž์›์€ ๊ณต๋™์œผ๋กœ ์ด์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ˆ„๊ฐ€ ์–ธ์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š๋ƒ์— ๋”ฐ๋ผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜(Data Inconsistency)๋ผ๊ณ  ํ•œ๋‹ค. 2๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ  ์ž์›์„ ๋ณ‘ํ–‰ํ•ด์„œ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ƒํ™ฉ์„ ๊ฒฝ์Ÿ ์ƒํƒœ(Race Condition)๋ผ๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ๋™๊ธฐํ™”๋Š” ๊ฒฝ์Ÿ ์ƒํƒœ๋ฅผ ๋ง‰๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ(Data Consistency)์„ ์œ .. 2023. 4. 23.
[์šด์˜์ฒด์ œ] IPC ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜์™€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ ๊ต์žฌ์— ๋Œ€ํ•œ TIL์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC) ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์˜ ๊ณต๊ฐ„์„ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ๋‚ด ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•œ ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜„๋Œ€์˜ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š”๋ฐ ์ด๋•Œ, ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ ๊ฐ„ ์ƒํƒœ ํ™•์ธ ๋ฐ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์€ ๊ผญ ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด๋ฅผ Inter Process Communication(IPC)๋ผ๊ณ  ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ IPC ๊ธฐ๋ฒ•์€ ์ปค๋„ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ์ปค๋„ ๊ณต๊ฐ„์€ ๋ชจ๋“  ํ”„๋กœ.. 2023. 4. 23.