ํ‹ฐ์Šคํ† ๋ฆฌ

G-Stack
๊ฒ€์ƒ‰ํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ ํ™ˆ

G-Stack

ground90.tistory.com/m

Just Do It

๊ตฌ๋…์ž
3
๋ฐฉ๋ช…๋ก ๋ฐฉ๋ฌธํ•˜๊ธฐ
๊ณต์ง€ G์Šคํƒ์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๋ชจ๋‘๋ณด๊ธฐ

์ฃผ์š” ๊ธ€ ๋ชฉ๋ก

  • ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ ˆ์ž„ ํ• ๋‹น ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜ ground90.tistory.com ์š”๊ตฌ ํŽ˜์ด์ง• ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ํ”„๋กœ์„ธ์Šค๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ณ  ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํŽ˜์ด์ง€ ๊ต์ฒด๋Š” ํŽ˜์ด์ง€ ์ธ/์•„์›ƒ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹คํ–‰.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 1 2023. 11. 11.
  • ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์€ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ํ”„๋กœ์„ธ์Šค๋“ค์ด ์—ฐ์†์ ์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ์ƒํ™ฉ์ด์ฃ . ํ•˜์ง€๋งŒ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ground90.tistory.com ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ๋ž€? ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ๊ธฐ์–ต์žฅ์น˜(RAM)์˜ ํ™•์žฅ๋œ ํ˜•ํƒœ๋กœ, ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ RAM๋ณด๋‹ค ํฐ ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ์—๋„ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ฃผ๋กœ ์šด์˜ ์ฒด์ œ์—์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ, ์ฃผ๊ธฐ์–ต์žฅ.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2023. 11. 7.
  • ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์€ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ํ”„๋กœ์„ธ์Šค๋“ค์ด ์—ฐ์†์ ์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ์ƒํ™ฉ์ด์ฃ . ํ•˜์ง€๋งŒ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์—๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์€ ๋ฐ”๋กœ ์ด์–ด์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘์—๋Š” ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ž„์‹œ๋กœ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ์ผ๋ถ€๋กœ ์ซ“์•„๋‚ด๊ณ , ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ธด ๋นˆ ๊ณต๊ฐ„์— ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ์Šค์™€ํ•‘(Swapping)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด์กฐ๊ธฐ์–ต ์žฅ์น˜์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜๋Š” ์ผ๋ถ€ ์˜์—ญ์„ ์Šค์™‘ ์˜์—ญ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 2 2023. 11. 6.
  • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™” ๊ธฐ๋ฒ• ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™” ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ์‚ฌ์ด์˜ ์ˆ˜ํ–‰ ์‹œ๊ธฐ๋ฅผ ๋งž์ถ”๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ ์ž…์žฅ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๊ณ  ์ƒํ˜ธ ๋ฐฐ์ œ(๋™์‹œ์— ์ ‘๊ทผํ•ด์„œ๋Š” ์•ˆ๋˜๋Š” ์ž์›์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์ ‘๊ทผ)์„ ์›ํ™œํžˆ ์ด๋ฃจ์–ด๋‚ด์•ผ ํ•˜์ฃ . ์ด์™€ ๊ด€๋ จํ•ด์„œ ๊ณต์œ  ์ž์›๊ณผ ์ž„๊ณ„ ์˜์—ญ, ์ƒ์‚ฐ์ž/์†Œ๋น„์ž ๋ฌธ์ œ, ๊ฒฝ์Ÿ ์ƒํƒœ, ์ž„๊ณ„ ์˜์—ญ ๋“ฑ์˜ ๊ฐœ๋…์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…๋“ค์€ ์ด์ „์— ๋‹ค๋ค˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. [C++] 21. ์Šค๋ ˆ๋“œ ๊ฒฝ์Ÿ ์ƒํƒœ(Race condition), ๋ฎคํ…์Šค(mutex), ๋ฐ๋“œ๋ฝ, std::conditional_variable, std::async ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์™€ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค, std::thread์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. [C++] 20. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 11. 6.
  • CPU ์Šค์ผ€์ค„๋ง ๊ฐœ๋…๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ CPU ์Šค์ผ€์ค„๋ง ๊ฐœ๋… CPU ์Šค์ผ€์ค„๋ง์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ณต์œ ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์–ด๋–ค ์ˆœ์„œ๋กœ CPU์— ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ, ์‘๋‹ต ์‹œ๊ฐ„, ์ฒ˜๋ฆฌ๋Ÿ‰ ๋“ฑ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐœ๋ฐœ๋˜์–ด์™”๊ณ , ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠน์ • ์ƒํ™ฉ์ด๋‚˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์ ํ•ฉํ•œ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ๊ณต์ •ํ•˜๊ณ  ํ•ฉ๋ฆฌ์ ์œผ๋กœ CPU์ž์›์„ ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. CPU ์Šค์ผ€์ค„๋ง์€ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ๊ณผ๋„ ์ง๊ฒฐ๋˜๋Š” ์ค‘๋Œ€ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์Šค์ผ€์ค„๋ง ํ CPU์ž…์žฅ์—์„œ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋งŽ์„ ๋•Œ, ๋จผ์ € CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ํ”„๋กœ์„ธ์Šคํ•œํ…Œ CPU์ž์›์„ ํ• ๋‹นํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‹ค๋ฅด.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2023. 11. 5.
  • ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์กฐ์œจํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ข…์ข… ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค(Parent Process): ์šด์˜์ฒด์ œ์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ƒˆ๋กœ์šด ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ž์›์„ ํ• ๋‹นํ•˜๋ฉฐ, ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ๋™์ž‘์„ ๊ฐ์‹œํ•  ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ž์‹ ํ”„๋กœ์„ธ์Šค(Child Process): ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ์ž์›๊ณผ ๊ถŒํ•œ์„ ์ƒ์†.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 10. 31.
  • ๋ฐ๋ชฌ(Deamon) ํ”„๋กœ์„ธ์Šค๋ž€? ๋ฐ๋ชฌ(Deamon)์ด๋ž€? ์ปดํ“จํ„ฐ๊ฐ€ ๋ถ€ํŒ…๋˜๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ˆ˜๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ps ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์œˆ๋„์šฐ๋Š” ์ž‘์—…๊ด€๋ฆฌ์ž). ์‹ค์ œ๋กœ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์„ ํ™•์ธํ•ด๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์Šค ์™ธ์—๋„ ์•Œ ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ํฌ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค(Foreground Process), ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๋Š” ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค(Background Process)๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์—์„œ๋„ ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋„ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š๊ณ  ๊ทธ์ € ์ •ํ•ด์ง„ ์ผ๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ๋ชฌ(deam.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 10. 28.
  • ์ด์ค‘๋ชจ๋“œ(Dual Mode)์™€ ์‹œ์Šคํ…œํ˜ธ์ถœ(System Call) ์ด์ค‘๋ชจ๋“œ(Dual mode) ์šด์˜์ฒด์ œ์˜ ์ด์ค‘๋ชจ๋“œ(dual mode)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ๊ณผ ์šด์˜์ฒด์ œ(OS) ๊ฐ„์˜ ๋ณด์•ˆ๊ณผ ์•ˆ์ „์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด์ค‘๋ชจ๋“œ๋Š” ๋˜ํ•œ ์‹œ์Šคํ…œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ ์‹œ์Šคํ…œ ์ „๋ฐ˜์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. 1. ์‚ฌ์šฉ์ž ๋ชจ๋“œ(User Mode): - ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. - ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์‹คํ–‰๋˜๋ฉฐ, ์ด ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ์‹œ์Šคํ…œ ์ž์›์— ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. - ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์ง์ ‘ ํ•˜๋“œ์›จ์–ด ์ž์›์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋‚˜ ๋ณด์•ˆ ์œ„ํ˜‘์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. 2. ์ปค๋„ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 10. 28.
  • ์ปค๋„(Kernel)๊ณผ ์ธํ„ฐํŽ˜์ด์Šค(Interface) ์ปค๋„(Kernel) ์šด์˜์ฒด์ œ์˜ ์ปค๋„์€ ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์œผ๋กœ, ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•ต์‹ฌ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ปค๋„์€ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์™„์ „ํžˆ ์ œ์–ดํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ์ž์›๊ณผ ํ”„๋กœ์„ธ์Šค, ์ž…์ถœ๋ ฅ ๋“ฑ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 1. ์—ญํ• ๊ณผ ๊ธฐ๋Šฅ ์ž์› ๊ด€๋ฆฌ: ์ปค๋„์€ ์‹œ์Šคํ…œ ์ž์›์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž์›์—๋Š” CPU ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„, ์ž…์ถœ๋ ฅ ์žฅ์น˜ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ปค๋„์€ ์ด๋Ÿฌํ•œ ์ž์›์„ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๊ณต์ •ํ•˜๊ฒŒ ํ• ๋‹นํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ์ถ”์ƒํ™”: ์ปค๋„์€ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ ๋„ ์ปค๋„์„ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: ์ปค๋„์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑ, ์ข…๋ฃŒ ๋ฐ ์Šค์ผ€์ค„๋งํ•˜๋ฉฐ, ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ ๊ฐ.. ๊ณต๊ฐ์ˆ˜ 2 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 12.
  • ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ๋ž€? ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ(Von Neumann architecture) ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ(Von Neumann architecture)๋Š” ํ˜„๋Œ€ ์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ฒ˜์˜ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์„ค๊ณ„์™€ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ์ผ๋ฐ˜์ ์ธ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ด๋Ÿฌํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜(Central Processing Unit, CPU): ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ์˜ ํ•ต์‹ฌ์€ CPU๋กœ, ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. 2. ๋ฉ”๋ชจ๋ฆฌ(Memory): ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ์—์„œ๋Š” ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์–ด๊ฐ€ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 5.
  • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB, Process Control Block) ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB)์€ ์šด์˜ ์ฒด์ œ์—์„œ ๋‹ค์ค‘ ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” PCB์˜ ๊ฐœ๋…๊ณผ ์—ญํ• , ๊ทธ๋ฆฌ๊ณ  ์šด์˜ ์ฒด์ œ์™€์˜ ๊ด€๋ จ์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB, Process Control Block) ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB)์€ ์šด์˜ ์ฒด์ œ์™€ ๋ฐ€์ ‘ํ•œ ์—ฐ๊ด€์ด ์žˆ๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ๊ด€๋ฆฌํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด PCB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. PCB๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์ถ”์ ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. PCB๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ, ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. PCB์—๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ •๋ณด๋“ค์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ณด.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 30.
  • IPC(Inter-Process Communication, ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ) IPC(Inter-Process Communication) ์ด๋ž€? ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (Inter-Process Communication, IPC)์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ IPC ๊ธฐ๋ฒ•์ด ์กด์žฌํ•˜๋ฉฐ, ๊ฐ๊ฐ์˜ ๊ธฐ๋ฒ•์€ ๋‹ค๋ฅธ ์ƒํ™ฉ์ด๋‚˜ ์š”๊ตฌ์— ๋งž๊ฒŒ ์„ ํƒ๋˜์–ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์™€ ํ•จ๊ป˜ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋Œ€ํ‘œ์ ์ธ IPC ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ํŒŒ์ดํ”„(Pipes): ํŒŒ์ดํ”„๋Š” ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์‚ฌ์ด์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 2. ๋ช…๋ช…๋œ ํŒŒ์ดํ”„(Named Pipes): ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ๋‚ด์˜ ํŠน๋ณ„ํ•œ ํŒŒ์ผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 29.
  • Context Switching(๋ฌธ๋งฅ ๊ตํ™˜) Context Switching(๋ฌธ๋งฅ ๊ตํ™˜) ์ด๋ž€? ๋ฌธ๋งฅ๊ตํ™˜(Context Switching)์€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…(ํ˜น์€ ํ”„๋กœ์„ธ์Šค ๋˜๋Š” ์Šค๋ ˆ๋“œ)์ด ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ, ํ•œ ์ž‘์—…์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์ค‘ ์ž‘์—…(multitasking) ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์œผ๋กœ, ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ ์ž‘์—…์— CPU ์‹œ๊ฐ„์„ ํ• ๋‹นํ•˜๊ณ  ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ์‹คํ–‰๋˜๋„๋ก ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ๋งฅ๊ตํ™˜์ด ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ์ธํ„ฐ๋ŸฝํŠธ(Interrupts): ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์„ ๋ฉˆ์ถ”๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ์‹คํ–‰ํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ ํ•˜๋“œ์›จ์–ด๊ฐ€ CPU์— ์•Œ๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ด์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. 2. ์Šค์ผ€์ค„๋ง: ์šด์˜.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 2 2023. 8. 28.
  • OS๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์šด์˜์ฒด์ œ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์‹คํ–‰๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰๋˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๊ฒฉ๋ฆฌ๋˜๋„๋ก ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ๋‹จ๊ณ„์™€ ์—ญํ• ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์ฝ”๋“œ(Code) ์˜์—ญ: - ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. - ํ”„๋กœ์„ธ์Šค์˜ ๋ช…๋ น์–ด๋“ค์ด ์ €์žฅ๋˜์–ด CPU์— ์˜ํ•ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. - ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 2. ๋ฐ์ดํ„ฐ(Data) ์˜์—ญ: - ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ •์ (static) ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. - ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๋ฉฐ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 27.
  • ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ(RAM)๋ณด๋‹ค ๋” ํฐ ์šฉ๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด ์ผ๋ถ€ ๋˜๋Š” ์ „์ฒด๊ฐ€ ์‹ค์ œ RAM์— ๋กœ๋“œ๋˜์ง€๋งŒ, ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ๋ฒˆ์— ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ถ€์กฑ์„ ๋ณด์™„ํ•˜์—ฌ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ž‘์€ ๋‹จ์œ„์ธ ํŽ˜์ด์ง€๋กœ ๋ถ„ํ• ํ•˜๊ณ , ์ด ํŽ˜์ด์ง€๋“ค์„ ๋ฌผ๋ฆฌ์  RAM๊ณผ ์ €์žฅ์žฅ์น˜(ํ•˜๋“œ ๋””์Šคํฌ ๋“ฑ)์˜ ์ผ๋ถ€์ธ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€ ํŽ˜์ด์ง€๋งŒ ์‹ค์ œ RAM์— ์ ์žฌ๋˜๊ณ , ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ ๋™์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ต์ฒดํ•˜์—ฌ ๋ฌผ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 23.
  • Vim์—์„œ Auto Indent ์‚ฌ์šฉ ๊ฐ€๋” vim์— ์„ค์ • ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•  ๋•Œ json์˜ indent๊ฐ€ ๋ฌด์‹œ๋˜๊ฑฐ๋‚˜ ์—‰๋ง์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด์ „๊นŒ์ง€๋Š” Virtual Mode๋กœ ์˜์—ญ์„ ์„ ํƒ ํ›„ > ํ˜น์€ < ๋กœ ์ˆ˜์ž‘์—…์„ ๋ช‡๋ฒˆ ํ•ด์ค˜์•ผ ํ–ˆ์—ˆ๋Š”๋ฐ, ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋ฐ”๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค. gg =G gg : go to beginning of the file G : go to end of the file = : indent ๋งŒ์•ฝ ์ „์ฒดํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ํŠน์ • ์œ„์น˜์—์„œ๋ถ€ํ„ฐ indent๋ฅผ ๋จน์ด๊ณ  ์‹ถ๋‹ค๋ฉด ๊ทธ ์œ„์น˜์—์„œ =G๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค. ์ค‘๊ฐ„ ๋ถ€๋ถ„๋งŒ indent๋ผ๋ฉด =ํ›„ ๋ผ์ธ์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์—์„œ ๊ฐ€์ ธ์˜จ ๋‚ด์šฉ์ด๋‹ค. https://unix.stackexchange.com/questions/19945/auto-indent-format-code-for-vim Aut.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 5. 30.
  • [Linux] deamon๊ณผ fork ์ด์•ผ๊ธฐ โœ… PID์™€ PPID ๋ฆฌ๋ˆ…์Šค์—์„œ ps๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. ps -al๋กœ ์ž์„ธํ•œ ๋ชฉ๋ก์„ ๋ณด๋ฉด pid์™€ ppid๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, pid๋Š” process id, ppid๋Š” parent process id๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ps ๋ช…๋ น์–ด ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์–ธ์ œ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œํ‚ฌ ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ๋Œ€๊ธฐํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค๊ฐ€ ๋ถ€ํŠธ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด init์ธ๋ฐ, ๋ฆฌ๋ˆ…์Šค์˜ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ๋‹‰์Šค์˜ ๋ชจ๋“  ๋ช…๋ ์–ด ํ”„๋กœ๊ทธ๋žจ์€ init ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. init์ด PID๊ฐ€ 1์ž„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. pid๊ฐ€ ๋น ๋ฅผ ์ˆ˜๋ก ๋จผ์ € ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์ด๋ฏ€๋กœ ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์‹œ์ž‘๋˜.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2023. 4. 13.
  • ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ธฐ์ˆ  ๋ฉ”์ธ๋ณด๋“œ ๋‚ด ๋ฉ”๋ชจ๋ฆฌ์™€ ์ฃผ๋ณ€์žฅ์น˜๋Š” ์‹œ์Šคํ…œ๋ฒ„์Šค(FSB)๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , CPU ๋‚ด ALU, ์ œ์–ด์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋Š” CPU ๋‚ด๋ถ€ ๋ฒ„์Šค(BSB)๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์†๋„๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค์˜ ์†๋„์™€ ๊ฐ™๊ณ , CPU์˜ ์†๋„๋Š” CPU ๋‚ด๋ถ€ ๋ฒ„์Šค์˜ ์†๋„์™€ ๊ฐ™๋‹ค. CPU ๋‚ด๋ถ€ ๋ฒ„์Šค์˜ ์†๋„๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค์˜ ์†๋„ ๋ณด๋‹ค ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋น„๋กฏํ•œ ์ฃผ๋ณ€์žฅ์น˜์˜ ์†๋„๊ฐ€ CPU์˜ ์†๋„๋ฅผ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•œ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ธฐ์ˆ ์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ž‘์—… ์†๋„๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๊ธฐ์ˆ  ์ค‘ ์šด์˜์ฒด์ œ์™€ ๊ด€๋ จ๋œ ๊ธฐ์ˆ ์„ ์‚ดํŽด๋ณด์ž. ๋ฒ„ํผ ๋ฒ„ํผ๋Š” ์†๋„์— ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๋‘ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ๊ทธ ์ฐจ์ด๋ฅผ ์™„ํ™”ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋ณด๊ด€ ์ฐฝ๊ณ ์—์„œ ๊ทค 5๊ฐœ๋ฅผ ๋„๋งˆ๋กœ ์˜ฎ๊ธธ ๋•Œ ํ•˜๋‚˜์”ฉ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ฐ”๊ตฌ๋‹ˆ๋กœ 5๊ฐœ๋ฅผ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ๋ฒ„ํผ์— ํ•ด๋‹นํ•œ๋‹ค. ์ผ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 1. 7.
  • ๊ต์ฐฉ์ƒํƒœ(DeadLock) ์•„์‚ฌ ํ˜„์ƒ์€ ์šด์˜์ฒด์ œ๊ฐ€ ์ž˜๋ชป๋œ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ์ง€์—ฐ๋˜๋Š” ๋ฌธ์ œ. ๊ต์ฐฉ ์ƒํƒœ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ์–‘๋ณดํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ. ๊ต์ฐฉ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ•์••์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. ๊ต์ฐฉ ์ƒํƒœ์˜ ๋ฐœ์ƒ ๊ต์ฐฉ ์ƒํƒœ๋Š” ์‹œ์Šคํ…œ ์ž์›, ๊ณต์œ  ๋ณ€์ˆ˜(๋˜๋Š” ํŒŒ์ผ), ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ์‹œ์Šคํ…œ ์ž์› ์˜ˆ๋ฅผ ๋“ค๋ฉด, ํ”„๋กœ์„ธ์Šค P1์€ ํ”„๋ฆฐํ„ฐ๋ฅผ ํ• ๋‹น ๋ฐ›์€ ํ›„ CD ๋ ˆ์ฝ”๋”๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค P2๋Š” CD ๋ ˆ์ฝ”๋”๋ฅผ ํ• ๋‹น ๋ฐ›์€ ํ›„ ํ”„๋ฆฐํ„ฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๊ต์ฐฉ ์ƒํƒœ ๋ฐœ์ƒ ์—ฌ๊ธฐ์„œ ํ”„๋ฆฐํ„ฐ์™€ CD ๋ ˆ์ฝ”๋“œ ๊ฐ™์€ ์ž์›์€ ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ๋ณดํ˜ธ๋ฐ›๊ณ  ์žˆ์Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋Š” ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒ(๋Œ€ํ‘œ์ ) ๊ณต์œ  ๋ณ€์ˆ˜ ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•œ ๊ณต์œ  ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด์„œ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋„๋Š” ๊ฒฝ์šฐ ํ•œ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 1. 3.
  • Context Switching(๋ฌธ๋งฅ ๊ตํ™˜) ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 1. 2.
    ๋ฌธ์˜์•ˆ๋‚ด
    • ํ‹ฐ์Šคํ† ๋ฆฌ
    • ๋กœ๊ทธ์ธ
    • ๊ณ ๊ฐ์„ผํ„ฐ

    ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ์นด์นด์˜ค์—์„œ ์‚ฌ๋ž‘์„ ๋‹ด์•„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ยฉ Kakao Corp.