[์šด์˜์ฒด์ œ] ํŽ˜์ด์ง• & ์„ธ๊ทธ๋จผํ…Œ์ด์…˜

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• 

๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์—์„œ ๋ณต์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฃผ๋ฉ”๋ชจ๋ฆฌ์— ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ฃผ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์  ๋ถ„ํ• ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค.  ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค. 

์ฐธ๊ณ ) ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์ด๋ž€?
์ฃผ๊ธฐ์–ต์žฅ์น˜ ์ƒ์— 2๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ ์žฌ๋˜์–ด ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ž…์ถœ๋ ฅ ๋™์ž‘์„ ํ•˜๊ฒŒ ๋˜๋ฉด CPU๋กœ ํ•˜์—ฌ๊ธˆ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜์—ฌ ํšจ์œจ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ ์ž ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

  1. ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹น๋˜์–ด์•ผ๋งŒ ํ•˜๋Š” ๊ด€๋ฆฌ ๊ธฐ๋ฒ• 
  2. ๊ณ ์ • ๋ถ„ํ•  ๊ธฐ๋ฒ• : ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ณ ์ •๋œ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„ํ• , ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ
  3. ๋™์  ๋ถ„ํ•  ๊ธฐ๋ฒ• : ํŒŒํ‹ฐ์…˜๋“ค์ด ๋™์  ์ƒ์„ฑ๋˜๋ฉฐ ์ž์‹ ์˜ ํฌ๊ธฐ์™€ ๊ฐ™์€ ํŒŒํ‹ฐ์…˜์— ์ ์žฌ, ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ 

 

<์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์—์„œ ๋‹จํŽธํ™”๋ฅผ ์ค„์ด๋Š” ํ”„๋กœ์„ธ์Šค ํ• ๋‹น ๋ฐฉ์‹>

  1. ์ตœ์ดˆ ์ ํ•ฉ(First Fit) : ๊ฐ€์žฅ ์ฒ˜์Œ ๋งŒ๋‚˜๋Š” ๋นˆ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค ํ• ๋‹น
  2. ์ตœ์  ์ ํ•ฉ(Best Fit) : ๋นˆ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ์™€ ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ ์ฐจ์ด๊ฐ€ ๊ฐ€์žฅ ์ ๊ฒŒ ๋‚˜๋Š” ๊ณณ์— ํ• ๋‹น 
  3. ์ตœ์•… ์ ํ•ฉ(Worst Fit) : ๋นˆ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ์™€ ํ”„๋กœ์„ธ์Šค ํฌ๊ธฐ ์ฐจ์ด๊ฐ€ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋‚˜๋Š” ๊ณณ์— ํ• ๋‹น, ํ›„์— ๋นˆ ๊ณต๊ฐ„์— ๋˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์ •ํ•˜์— ์ˆ˜ํ–‰ 
์ฐธ๊ณ ) ๋‚ด๋ถ€ ๋‹จํŽธํ™”์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”
๋‚ด๋ถ€ ๋‹จํŽธํ™” : ๊ณ ์ •๋œ ํŒŒํ‹ฐ์…˜๋ณด๋‹ค ์ž‘์€ ํ”„๋กœ์„ธ์Šค ์กฐ๊ฐ์ด ํ• ๋‹น๋  ๊ฒฝ์šฐ, ๋นˆ๊ณต๊ฐ„์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋ฅผ ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ผ๊ณ  ํ•จ
์™ธ๋ถ€ ๋‹จํŽธํ™” : ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ํ”„๋กœ์„ธ์Šค ์กฐ๊ฐ๋“ค์ด ์ƒ์„ฑ,์ œ๊ฑฐ๋ฅผ ๋ฐ˜๋ณตํ•˜๋‹ค ๋ณด๋ฉด ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ž‘์€ ์กฐ๊ฐ๋“ค๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ๊ฒƒ์„ ์™ธ๋ถ€ ๋‹จํŽธํ™”๋ผ๊ณ  ํ•จ 

๋ถˆ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

  1. ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์†Œ ๊ณต๊ฐ„์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•
  2. ํŽ˜์ด์ง€ : ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์ž‘์€ ๋ธ”๋ก๋“ค๋กœ ๋‚˜๋ˆด์„ ๋•Œ, ๊ทธ ๋ธ”๋ก๋“ค์„ ํŽ˜์ด์ง€๋ผ๊ณ  ์นญํ•จ
  3. ํ”„๋ ˆ์ž„ : ํŽ˜์ด์ง€ ํฌ๊ธฐ์™€ ๊ฐ™์€ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก 
  4. ์„ธ๊ทธ๋จผํŠธ : ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„ 

ํŽ˜์ด์ง• & ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ 

๋‹จ์ˆœ ํŽ˜์ด์ง•(Paging)

  1. ํ”„๋กœ์„ธ์Šค๋Š” ํŽ˜์ด์ง€๋กœ ๋‚˜๋ˆ„์–ด์ง€๊ณ , ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๋Š” ๊ธฐ๋ฒ• 
  2. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—๋Š” ๊ฐ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„์˜ ์‹œ์ž‘ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅ
  3. ํ• ๋‹น์€ ํ•ญ์ƒ ํ”„๋ ˆ์ž„์˜ ์ •์ˆ˜ ๋ฐฐ๋กœ ํ• ๋‹น๋˜๋Š”๋ฐ, ๋งŒ์•ฝ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋ ˆ์ž„์˜ ์ •์ˆ˜ ๋ฐฐ๋ณด๋‹ค ์‚ด์ง ์ž‘๋‹ค๋ฉด ํ• ๋‹น๋œ ๋งˆ์ง€๋ง‰ ํ”„๋ ˆ์ž„์€ ์ „๋ถ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ๋‚จ์•„๋ฒ„๋ฆฌ๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ (๋‚ด๋ถ€ ๋‹จํŽธํ™”) 

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง• 

  1. ๋‹จ์ˆœ ํŽ˜์ด์ง•๊ณผ ๋‹ค๋ฅด๊ฒŒ, ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์ ์žฌ ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†์Œ 
  2. ๋ณต์žกํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋กœ ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์กด์žฌ 

๋‹จ์ˆœ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmetation) 

  1. ํ”„๋กœ์„ธ์Šค์™€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋ถ„ํ•  
  2. ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”์—๋Š” ๊ฐ ์„ธ๊ทธ๋จผํŠธ์˜ ๊ธฐ์ค€(์„ธ๊ทธ๋จผํŠธ์˜ ์‹œ์ž‘ ๋ฌผ๋ฆฌ ์ฃผ์†Œ)๊ณผ ํ•œ๊ณ„(์„ธ๊ทธ๋จผํŠธ์˜ ์ตœ๋Œ€ ๊ธธ์ด)๋ฅผ ์ €์žฅ
  3. ์„ธ๊ทธ๋จผํŠธ๋“ค์ด ์ ์žฌ,์ œ๊ฑฐ ๋˜๋Š” ์ผ์ด ๋ฐ˜๋ณต๋˜๋ฉด ์ž์œ  ๊ณต๊ฐ„๋“ค์ด ๋งŽ์€ ์ˆ˜์˜ ์ž‘์€ ์กฐ๊ฐ๋“ค๋กœ ๋‚˜๋‰˜์–ด์ ธ ๋ชป์“ฐ๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ (์™ธ๋ถ€ ๋‹จํŽธํ™”) 

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜

  1. ํ•„์š”ํ•˜์ง€ ์•Š์€ ์„ธ๊ทธ๋จผํŠธ๋“ค์€ ๋กœ๋“œ๋˜์ง€ ์•Š์Œ 
  2. ๋ณต์žกํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋กœ ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์กด์žฌ

 

Reference

https://github.com/gyoogle/tech-interview-for-developer

 

gyoogle/tech-interview-for-developer

๐Ÿ‘ถ๐Ÿป ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ „๊ณต ์ง€์‹ & ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋ฐฑ๊ณผ์‚ฌ์ „ ๐Ÿ“–. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

https://technote-mezza.tistory.com/92

 

[์šด์˜์ฒด์ œ OS] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ž€? - ์ด์œ , ๋ฐฉ๋ฒ•

โ€ป ๋ฉ”๋ชจ๋ฆฌ๋ž€? : ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ, RAM์„ ๋œปํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ์ฃผ์†Œ, ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜๊ณ  ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณต๊ฐ„.  ์ฆ‰, ์ž‘์—…์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ณต๊ฐ„. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

technote-mezza.tistory.com