Skip to content

CS-Challenge/OS-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OS-Challenge

๐Ÿ‘‹ ์šด์˜

  • ์Šคํ„ฐ๋”” ์ฃผ์ œ: ์šด์˜์ฒด์ œ
  • ์ด ์ธ์› ์ˆ˜: 4๋ช…
  • ์šด์˜ ๊ธฐ๊ฐ„: 23.04.20 ~ 23.05.18 ( 5์ฃผ: 4์ฃผ ๋ฐœํ‘œ + 1์ฃผ ๋ชจ์˜ ๋ฉด์ ‘ )
  • ๋ชจ์ž„ ๋‚ ์งœ: ๋งค์ฃผ ๋ชฉ์š”์ผ ์˜คํ›„ 7์‹œ (2์‹œ๊ฐ„ ~ 3์‹œ๊ฐ„), ์˜จ๋ผ์ธ
  • ๋ณด์ฆ๊ธˆ: 3๋งŒ์› (์Šคํ„ฐ๋”” ์ข…๋ฃŒ ํ›„ ๋ฒŒ๊ธˆ ์ œ์™ธํ•œ ๋ณด์ฆ๊ธˆ ๋ชจ๋‘ ๋ฐ˜ํ™˜)

๐Ÿ“๊ทœ์น™

Wiki ํŽ˜์ด์ง€ ์ฐธ๊ณ 


๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ์Šคํ„ฐ๋””์›

๊น€์œ ์ • ๋ฐฐ์„œ์€ ์‹ฌ์ˆ˜ํ˜„ ๋ฌธ์ •ํ˜„

๐Ÿ“š ํ•™์Šต ์ฃผ์ œ

1์ฃผ์ฐจ

2์ฃผ์ฐจ

3์ฃผ์ฐจ

4์ฃผ์ฐจ


โ‰๏ธ ํ€ด์ฆˆ ์ด์ •๋ฆฌ

[ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง ]

Q1. ํ”„๋กœ์„ธ์„œ ์Šค์ผ€์ค„๋ง์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๊ฒƒ์€?

1๏ธ. ์ฒ˜๋ฆฌ๋Ÿ‰ 2๏ธ. ๋Œ€๊ธฐ ์‹œ๊ฐ„ 3๏ธ. ๊ท ํ˜•์žˆ๋Š” ์ž์› ์ด์šฉ 4๏ธ. ์˜ค๋ฅ˜ ๋ณต๊ตฌ ์‹œ๊ฐ„

์ •๋‹ต **4๏ธ. ์˜ค๋ฅ˜ ๋ณต๊ตฌ ์‹œ๊ฐ„**

Q2. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์—…์„ ์ œ์ถœํ–ˆ๋‹ค. ์ด๋ฅผ SJF ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šค์ผ€์ค„๋งํ•˜๋ฉด ์ž‘์—… ๋ฒˆํ˜ธ 3์˜ ์™„๋ฃŒ ์‹œ๊ฐ„์€?

image 1๏ธ. 13:25 2๏ธ. 12:25 3๏ธ. 12:00 4๏ธ. 14:00
์ •๋‹ต **2๏ธ. 12:25**
  • SJF ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Short Job First์˜ ์•ฝ์ž๋กœ ๋‚จ์€ ์ž‘์—… ์ค‘ ๊ฐ€์žฅ ์ž‘์—… ์‹œ๊ฐ„์ด ์งง์€ ์ž‘์—…์—๊ฒŒ ์ž์›์„ ํ• ๋‹นํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค.
Screenshot 2023-05-15 at 12 50 25 AM

Q3. RR(Round-Robin) ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

1๏ธ. ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ํฌ๊ฒŒ ํ•˜๋ฉด ์ž…์ถœ๋ ฅ ์œ„์ฃผ์˜ ์ž‘์—…์ด๋‚˜ ๊ธด๊ธ‰์„ ์š”ํ•˜๋Š” ์ž‘์—…์— ์‹ ์†ํžˆ ๋ฐ˜์‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค.
2๏ธ. ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ์ž‘์œผ๋ฉด FCFS ์Šค์ผ€์ค„๋ง๊ณผ ๊ฐ™์•„์ง„๋‹ค.
3๏ธ. ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ(time sharing system)์„ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ฐฉ๋ฒ•์ด๋‹ค.
4๏ธ. ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ์ž‘์„์ˆ˜๋ก ๋ฌธ๋งฅ ๊ตํ™˜ ๋ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•œ๋‹ค.

์ •๋‹ต **2๏ธ. ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ์ž‘์œผ๋ฉด FCFS ์Šค์ผ€์ค„๋ง๊ณผ ๊ฐ™์•„์ง„๋‹ค.**
  • ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰(ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค)๊ฐ€ ์ปค์ง€๋ฉด FCFS ์Šค์ผ€์ค„๋ง๊ณผ ๊ฐ™์•„์ง€๊ณ , ์ž‘์•„์ง€๋ฉด ๋ฌธ๋งฅ๊ตํ™˜์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜์—ฌ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ ์ ˆํ•˜๊ฒŒ ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜์ง€๋งŒ ์ ˆ๋Œ€์ ์œผ๋กœ ์ข‹์€ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์€ ์–ด๋ ต๋‹ค.

Q4. Multiprogramming / Timesharing์€ ๊ฐ๊ฐ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์— ์ ํ•ฉํ• ๊นŒ ?

์ •๋‹ต

Multiprogramming : batch processing, background processing๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€์ง€ ์•Š์€ ํ”„๋กœ๊ทธ๋žจ์— ์ ํ•ฉํ•˜๋‹ค.

  • timesharing๋ณด๋‹ค overhead๊ฐ€ ์ ๋‹ค
  • ์ฒ˜๋ฆฌ์œจ(์‹œ๊ฐ„๋™์•ˆ ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…์˜ ์ˆ˜)์ด ์ข‹๊ณ  ๋‚ญ๋น„๋˜๋Š” ์‹œ๊ฐ„์ด ์ ๋‹ค.
  • ํ•˜์ง€๋งŒ ์‘๋‹ต์‹œ๊ฐ„(ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋ช…๋ น ~ ์‹ค์ œ๋กœ ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„)์€ Timesharing์— ๋น„ํ•ด ํฌ๋‹ค.

Timesharing : interactive processing, foreground processing๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ์— ์ ํ•ฉํ•˜๋‹ค

  • Multiprograing๋ณด๋‹ค overhead๊ฐ€ ํฌ๋‹ค
  • ์‘๋‹ต์‹œ๊ฐ„์ด ์ ๋‹ค.
  • ๋‚ญ๋น„๋˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์•„์ง„๋‹ค. (์‹œ๊ฐ„๊ฐ„๊ฒฉ๋ณด๋‹ค ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ์งง์•„๋„ ์‹œ๊ฐ„๊ฐ„๊ฒฉ๋งŒํผ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์ด CPU ์ œ์–ด๊ถŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ)

Q5. CPU ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์–ด๋””์— ์œ„์น˜ํ• ๊นŒ?

์ •๋‹ต
  • CPU ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์šด์˜์ฒด์ œ์˜ ์ปค๋„ ๋‚ด๋ถ€์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ปค๋„์€ ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์œผ๋กœ, ์‹œ์Šคํ…œ ์ž์› ๊ด€๋ฆฌ, ์ž…์ถœ๋ ฅ ์ฒ˜๋ฆฌ, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • CPU ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์ด ์ค‘์—์„œ๋„ CPU ์ž์› ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU ์ž์›์„ ํ• ๋‹นํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Q6. ๋ฌธ๋งฅ๊ตํ™˜์˜ ์ข…๋ฅ˜๋Š” ๋ฌด์—‡์ด ์žˆ์„๊นŒ?

์ •๋‹ต
  • ์ž๋ฐœ์  ๋ฌธ๋งฅ ๊ตํ™˜ : ํ˜„์žฌ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ž์›์„ ์š”์ฒญํ–ˆ์„ ๋•Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU ์ œ์–ด๋ฅผ ํฌ๊ธฐํ•œ ๊ฒฝ์šฐ ๋ฐœ์ƒ
  • ๋ณต๊ท€ ๋ฌธ๋งฅ ๊ตํ™˜ : ์ธํ„ฐ๋ ™ํŠธ๋‚˜ ์˜ˆ์™ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๋ฐ˜ํ™˜ํ•œ ํ›„, ์ด์ „์— ์‹คํ–‰๋˜๋˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•œ ๋ฌธ๋งฅ ๊ตํ™˜์ด๋ฉฐ, ๋Œ€๊ฐœ ์šด์˜์ฒด์ œ์˜ ์ปค๋„ ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋œ๋‹ค.
  • ๋น„์ž๋ฐœ์  ๋ฌธ๋งฅ ๊ตํ™˜ : ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋งŒ๋ฃŒ๋˜์—ˆ๊ฑฐ๋‚˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์„ ์ ๋˜๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด CPU๋ฅผ ๋นผ์•—๊ฒผ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.



[ Thread Safety ]

Q1. Thread-Safe์™€ Race Condition์˜ ๊ด€๊ณ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ •๋‹ต
  • Thread-safe(์Šค๋ ˆ๋“œ ์•ˆ์ „): ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ, ๋ณ€์ˆ˜๋‚˜ ๊ฐ์ฒด, ํ•จ์ˆ˜ ๋“ฑ์˜ ์ž์›์ด ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด ๋™์‹œ์— ์ ‘๊ทผ๋˜์–ด๋„ ์ •์ƒ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ
  • Race Condition: ํ˜„์žฌ ์ž‘์—…์ด ์ œ์–ดํ•  ์ˆ˜ ์—†๋Š” ๋˜ ๋‹ค๋ฅธ ์ž‘์—…๊ณผ์˜ ์ง„ํ–‰ ์ˆœ์„œ, ์ฆ‰, ํƒ€์ด๋ฐ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ ธ ์—ฌ๋Ÿฌ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ, ๋‘ ๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ race condition์— ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ์ฒด์— ๋™์‹œ์— ์ ‘๊ทผํ•ด๋„ ์—ฐ์‚ฐ๊ฒฐ๊ณผ์˜ ์ •ํ•ฉ์„ฑ์ด ๋ณด์žฅ๋  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€์‹œ์„ฑ์ด ํ™•๋ณด๋œ ์ƒํƒœ
  • thread-safeํ•˜๋‹ค๊ณ  ํ•ด์„œ race condition์œผ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กญ๋‹ค๋Š” ๋œป X
  • race condition์˜ ๋ฐœ์ƒ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์˜๋„ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด thread-safeํ•œ ์ฝ”๋“œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ
    • ex) ์ด ์ฝ”๋“œ๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์— ์˜ํ•ด์„œ ๋™์‹œ์— ์ˆ˜ํ–‰๋˜์–ด๋„ ๋ฌธ์ œ ์—†๋‹ค! โ†’ thread safeํ•œ ์ฝ”๋“œ

Q2. Thread-Safetyํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•œ ๊ฐ€์ง€๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ •๋‹ต
  • Reentrency ์žฌ์ง„์ž…์„ฑ
  • Thread-Local Storage ์Šค๋ ˆ๋“œ ์ง€์—ญ ์ €์žฅ์†Œ
  • Atomic Operation ์›์ž ์—ฐ์‚ฐ
  • Mutual Exclusion Locks ๋ฝ
  • Immutable Object ๋ถˆ๋ณ€ ๊ฐ์ฒด
  • Producer - Consumer Pattern
  • Blocking Queue
  • Volatile
  • Instance Confinement ์ธ์Šคํ„ด์Šค ํ•œ์ •
  • Thread Confinement ์Šค๋ ˆ๋“œ ํ•œ์ •
  • Condition Queues ์กฐ๊ฑด ํ
  • Synchronized Collections ๋™๊ธฐํ™” ์ปฌ๋ ‰์…˜
  • State Dependence ์ƒํƒœ๋ฒ”์œ„ ์ œํ•œ

Q3. synchronized ํ•œ์ •์ž๊ฐ€ ๋ณด์ด๋Š” ๋ฉ”์„œ๋“œ๋Š” ํ•ญ์ƒ thread-safe ํ• ๊นŒ์š”?

์ •๋‹ต
  • X
    • ๋ฉ”์„œ๋“œ ์„ ์–ธ์— synchronized ํ•œ์ •์ž๋ฅผ ์„ ์–ธํ• ์ง€๋Š” ๊ตฌํ˜„ ์ด์Šˆ์ผ ๋ฟ API์— ์†ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๊ทธ ๋ฉ”์„œ๋“œ๊ฐ€ ์Šค๋ ˆ๋“œ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋ฏฟ๊ธฐ ์–ด๋ ต๋‹ค.



[ ํŽ˜์ด์ง€์™€ ์„ธ๊ทธ๋จผํŠธ ]

Q1. TLB๋Š” ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ–ˆ์„๊นŒ์š”?

์ •๋‹ต * ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋‘๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋ณด๊ธฐ ์œ„ํ•ด, ๊ทธ๋ฆฌ๊ณ  ํ”„๋ ˆ์ž„์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— TLB ๋ผ๋Š” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Q2. ๋‹ค์Œ ํŽ˜์ด์ง€ ์—”ํŠธ๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช… ์ค‘ ํ‹€๋ฆฐ ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

image
  1. 1๋ฒˆ ํŽ˜์ด์ง€๋Š” ์ˆ˜์ •๋œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  2. 1๋ฒˆ ํŽ˜์ด์ง€๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. 2๋ฒˆ ํŽ˜์ด์ง€๋Š” ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  4. CPU์— ์˜ํ•ด ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์ •๋‹ต image

Q3. ํŽ˜์ด์ง€ ํดํŠธ๋ž€ ๋ฌด์—‡์ด๊ณ  ์ด๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”?

์ •๋‹ต
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋„์ค‘์— ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š์•„ ๋””์Šคํฌ์—์„œ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•˜๋ ค๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.ย ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์šด์˜์ฒด์ œ๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ, ๋ฉ”๋ชจ๋ฆฌ์— ๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋ฉด ํŽ˜์ด์ง€ ํดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋””์Šคํฌ์—์„œ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด์™€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋นˆ ๊ณต๊ฐ„์ด ์—†๋Š” ๊ฒฝ์šฐ, ์šด์˜์ฒด์ œ๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด(Page Replacement) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ๋‚ด๋ณด๋‚ด๊ณ , ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•ฉ๋‹ˆ๋‹ค.



[ ์ž๋ฐ”์™€ ์Šคํ”„๋ง์—์„œ ๋™๊ธฐํ™” ์ ์šฉ ๋ฐฉ๋ฒ• ]

Q1. 0์ด ๋“ค์–ด์žˆ๋Š” ๋ณ€์ˆ˜์— 10๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•ด์„œ ++ย ์—ฐ์‚ฐ์„ ํ•˜๋ฉด ์šฐ๋ฆฌ ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ 10์ด ๋‚˜์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ์š”?

์ •๋‹ต
  • i++์ด 3๊ฐœ์˜ instruction(READ-MODITY-WRITE)๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์Šค๋ ˆ๋“œ ํ•˜๋‚˜๊ฐ€ ๊ฐ’์„ ์ฝ์–ด i+1์„ ํ•˜๊ธฐ ์ง์ „์— ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ i๋ฅผ ์ฝ์–ด i+1์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ฐ˜์˜ํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ํ›„์ž์˜ ์—ฐ์‚ฐ์€ ๋ฌดํšจ๊ฐ€ ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Q2. Java์—์„œ ๋™์‹œ์„ฑ๊ณผ ๊ด€๋ จ๋œ ์˜ˆ์•ฝ์–ด๋ฅผ ๋ง์”€ํ•ด์ฃผ์„ธ์š”. (๊ฐ€์‹œ์„ฑ, ์›์ž์„ฑ์˜ ๊ฐœ๋…์„ ํฌํ•จํ•ด์„œ!)

์ •๋‹ต
  • volatile: ๊ฐ€์‹œ์„ฑ ๋ณด์žฅ / synchronized: ๊ฐ€์‹œ์„ฑ, ์›์ž์„ฑ ๋ณด์žฅ / Atomic: non-blocking, ๊ฐ€์‹œ์„ฑ, ์›์ž์„ฑ ๋ณด์žฅ

Q3. ThreadLocal์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

์ •๋‹ต
  • ์“ฐ๋ ˆ๋“œ ๋กœ์ปฌ์€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์˜ ์ฃผ๋ฒ”์ด ๋จ์œผ๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Thread pool ํ™˜๊ฒฝ์—์„œ ThreadLocal์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ณ€์ˆ˜์— ๋ณด๊ด€๋œ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์ด ๋๋‚˜๋ฉด ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ ์žฌ์‚ฌ์šฉ ๋˜๋Š” ์“ฐ๋ ˆ๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.



[ RAM๊ณผ ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ ]

Q1. ๊ฐ๊ฐ ์–ด๋–ค RAM์„ ์„ค๋ช…ํ•œ ๊ฒƒ์ธ์ง€ ๋งž์ถฐ๋ณด์„ธ์š”. (DRAM, SRAM, SDRAM, DDR SDRAM)

  1. ๋Œ€์—ญํญ์„ 2๋ฐฐ ๋„“ํžŒ SDRAM:
  2. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” RAM:
  3. ๋ฐ์ดํ„ฐ์˜ ์†Œ๋ฉธ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ผ์ • ์ฃผ๊ธฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌํ™œ์„ฑํ™”ํ•ด์•ผ ํ•˜๋Š” RAM:
  4. ํด๋Ÿญ๊ณผ ๋™๊ธฐํ™”๋œ DRAM:
  5. ์ฃผ๋กœ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ํ™œ์šฉ:
  6. ์ฃผ๋กœ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ํ™œ์šฉ:
  7. ๋Œ€์šฉ๋Ÿ‰ํ™”ํ•˜๊ธฐ ์œ ๋ฆฌ:
  8. ์ง‘์ ๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์Œ:
์ •๋‹ต
  1. ๋Œ€์—ญํญ์„ 2๋ฐฐ ๋„“ํžŒ SDRAM: DDR SDRAM
  2. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” RAM: SRAM
  3. ๋ฐ์ดํ„ฐ์˜ ์†Œ๋ฉธ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ผ์ • ์ฃผ๊ธฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌํ™œ์„ฑํ™”ํ•ด์•ผ ํ•˜๋Š” RAM: DRAM
  4. ํด๋Ÿญ๊ณผ ๋™๊ธฐํ™”๋œ DRAM: SDRAM
  5. ์ฃผ๋กœ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ํ™œ์šฉ: SRAM
  6. ์ฃผ๋กœ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ํ™œ์šฉ: DRAM
  7. ๋Œ€์šฉ๋Ÿ‰ํ™”ํ•˜๊ธฐ ์œ ๋ฆฌ: DRAM
  8. ์ง‘์ ๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์Œ: SRAM

Q2. ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ •๋‹ต
  • CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์ด CPU์˜ ์—ฐ์‚ฐ ์†๋„๋ณด๋‹ค ๋А๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๋ณ‘๋ชฉ ์ง€์ ์˜ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ๋ฉ”์šฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

Q3. ์ €์žฅ ์žฅ์น˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. (๋ฉ”๋ชจ๋ฆฌ, ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜, ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ, ๋ ˆ์ง€์Šคํ„ฐ)

์ •๋‹ต image



[ ์œ ์ €๋ ˆ๋ฒจ์Šค๋ ˆ๋“œ์™€ ์ปค๋„๋ ˆ๋ฒจ์Šค๋ ˆ๋“œ ]

Q1. ์Šค๋ ˆ๋“œ ๋ชจ๋ธ์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ์€?

1๏ธ. 1:1 model 2๏ธ. 1:M model 3๏ธ. N:M model 4๏ธ. 3-level model

์ •๋‹ต **4๏ธ. 3-level model**

Q2. ์œ ์ € ๋ ˆ๋ฒจ์˜ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ๋ ˆ๋ฒจ์˜ ์Šค๋ ˆ๋“œ ์ค‘๊ฐ„์— ์žˆ๋Š” ๊ณ„์ธต์œผ๋กœ ๋‘˜์˜ ํ†ต์‹ ์„ ๋•๋Š” ๊ฐœ์ฒด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ •๋‹ต ** Light Weight Process(LWP)**
  • ๋‹ค๋Œ€๋‹ค ๋ชจ๋ธ์ด๋‚˜ two-level ๋ชจ๋ธ์—์„œ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ ์ ˆํ•œ ์ˆ˜์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ปค๋„๊ณผ ์œ ์ € ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ์˜ ๋งค๋‹ˆ์ €์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. ์ด ๋•Œ ์ปค๋„ ์Šค๋ ˆ ๋“œ์™€ ์œ ์ € ์Šค๋ ˆ๋“œ์˜ ์ง•๊ฒ€๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ํ•ด๋‹น ๊ณ„์ธต์ด ์—†๋Š” ๋ชจ๋ธ์—์„œ โ€œLight Weight Processโ€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ์˜๋ฏธํ•˜๊ณ , โ€œThreadโ€๋Š” ์œ ์ € ์Šค๋ ˆ๋“œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

Q3. ๋ฆฌ๋ˆ…์Šค์—์„œ ์Šค์ผ€์ค„๋ง ๋Œ€์ƒ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

1๏ธ. ํ”„๋กœ์„ธ์Šค 2๏ธ. ์Šค๋ ˆ๋“œ 3๏ธ. ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ 4๏ธ. ๋ชจ๋‘ ๊ฐ€๋Šฅ

์ •๋‹ต **4๏ธ. ๋ชจ๋‘ ๊ฐ€๋Šฅ**


[ JAVA์˜ ๋™๊ธฐํ™” ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ]

Q1. race condition ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์†์„ฑ์€?

์ •๋‹ต

์›์ž์„ฑ๊ณผ ๊ฐ€์‹œ์„ฑ

Q2. synchronized ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ์‹œ์— ์ฃผ์˜ํ•  ์  2๊ฐ€์ง€๋Š”?

์ •๋‹ต

๋Œ€๊ธฐ ์Šค๋ ˆ๋“œ๋กœ ์ธํ•œ ์„ฑ๋Šฅ์ €ํ•˜, ๋ฐ๋“œ๋ฝ / ์‹ฑํฌ๋กœ๋‚˜์ด์ฆˆ๋“œ ๋ธ”๋ก ๋‚ด์—์„œ ์ฐธ์กฐ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ, ๋ฉ”์†Œ๋“œ์ „์ฒด๊ฐ€ ์•„๋‹Œ, ๊ฐ์ฒด๋ ˆ๋ฒŒ๋กœ ์ง€์ •ํ•œ๋‹ค.

Q3. atmoicReference ๋Š” ์–ด๋–ค ๋ฐฉ์‹์˜ **1) ๋™๊ธฐํ™”**์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‘๊ฐ€์ง€ **2) ๋ฉ”์ปค๋‹ˆ์ฆ˜**์€?

์ •๋‹ต

1. ๋…ผ๋ธ”๋กœํ‚น ๋ฐฉ์‹ 2. CAS์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ volatileํ‚ค์›Œ๋“œ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •