๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Job/Interview

์šด์˜์ฒด์ œ ๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ

by oliviarla 2022. 4. 9.
  1. ์šด์˜์ฒด์ œ๋ž€?
  2. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ์ฐจ์ด
  3. ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
  4. context switching๊ฐœ๋…, ์‚ฌ์šฉ ์ด์œ 
  5. ๋ฐ๋“œ๋ฝ ์ •์˜, ๋ฐœ์ƒ ์กฐ๊ฑด
  6. bankerโ€™s algorithm
  7. ์„ธ๋งˆํฌ์–ด๋ž€?
  8. ๋ฎคํ…์Šค๋ž€?
  9. ํŽ˜์ด์ง•์ด๋ž€?
  10. ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์ด๋ž€?
  11. CPU ์Šค์ผ€์ค„๋ง
  12. ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ

 

๐Ÿ€ ์šด์˜์ฒด์ œ๋ž€

- ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๋ฉฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด

- ์—ญํ• : ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ์ €์žฅ์žฅ์น˜ ๊ด€๋ฆฌ, ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์ง€์›, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ

๋”๋ณด๊ธฐ

ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: ์šด์˜์ฒด์ œ์—์„œ ์ž‘๋™ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ, CPU๋ฅผ ์ ์œ ํ•ด์•ผ ํ•  ํ”„๋กœ์„ธ์Šค ๊ฒฐ์ •, CPU๋ฅผ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น, ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ  ์ž์› ์ ‘๊ทผ๊ณผ ํ†ต์‹  ๋“ฑ์„ ๊ด€๋ฆฌ

์ €์žฅ์žฅ์น˜ ๊ด€๋ฆฌ: ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ๋””์Šคํฌ, NAND ๋“ฑ ๊ด€๋ฆฌ

๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์ง€์›: TCP/IP ๊ธฐ๋ฐ˜ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

์‚ฌ์šฉ์ž ๊ด€๋ฆฌ: ์‚ฌ์šฉ์ž ๋ณ„๋กœ ๊ณ„์ • ๊ด€๋ฆฌ, ํŒŒ์ผ, ์‹œ์Šคํ…œ ์ž์›์˜ ์ ‘๊ทผ ๊ถŒํ•œ ์ง€์ •

๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ: ํ•˜๋“œ์›จ์–ด๋ฅผ ์ถ”์ƒํ™”ํ•ด์ฃผ๋Š” ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋“ค์„ ๊ด€๋ฆฌ

๐Ÿ€ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

code, data, heap์€ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ๊ณต์œ 

ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์ตœ์†Œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ์†Œ์œ 

 

ํ”„๋กœ์„ธ์Šค: ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์‹คํ–‰์ค‘์ธ ์ž‘์—…, ๊ฐ๊ฐ ๋ณ„๋„์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉ

์Šค๋ ˆ๋“œ: ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํ๋ฆ„ ๋‹จ์œ„, ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๊ณต๊ฐ„, ์ž์›์„ ๊ณต์œ 

 

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค: ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์— ์—ฌ๋Ÿฌ CPU๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ: ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ ๊ตฌ์„ฑํ•ด ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌ

๋”๋ณด๊ธฐ

๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค

(+): ๋ฉ”๋ชจ๋ฆฌ ์นจ๋ฒ” ๋ฌธ์ œ๋ฅผ OS์ฐจ์›์—์„œ ํ•ด๊ฒฐํ•ด ์•ˆ์ „์„ฑ ๋ณด์žฅ 

(-): ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ€์ ธ ์ž‘์—…๋Ÿ‰์ด ๋งŽ์„์ˆ˜๋ก ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ, Context Switching์œผ๋กœ ์„ฑ๋Šฅ ์ €ํ•˜

 

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

(+): ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋งŒํผ ์‹œ๊ฐ„, ์ž์› ์ด๋“, ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ •์ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ž๋ฃŒ ๊ณต์œ  ๊ฐ€๋Šฅ

(-): ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ธํ•ด ์•ˆ์ „์„ฑ ๋ณด์žฅX, ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ๋ง๊ฐ€๋œจ๋ฆฌ๋ฉด ๋ชจ๋“  ์Šค๋ ˆ๋“œ ์ž‘๋™ ๋ถˆ๊ฐ€ -> Critical Section ๊ธฐ๋ฒ•์œผ๋กœ ๋ณด์™„

๐Ÿ€ ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„

์ตœ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ ์ž ๊ตฌ์—ญ์„ ๋‚˜๋ˆ”

Code Segment: ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค์ฝ”๋“œ ์ €์žฅ

Data Segment: ์ „์—ญ ๋ณ€์ˆ˜ ์ €์žฅ

Stack Segment: ํ•จ์ˆ˜, ์ง€์—ญ ๋ณ€์ˆ˜ ์ €์žฅ

 

๐Ÿ€ ์ธํ„ฐ๋ŸฝํŠธ

- ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋„์ค‘ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ƒํ™ฉ ๋ฐœ์ƒ ์‹œ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฐœ์ƒ๋œ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์šฐ์„  ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•จ์„ CPU์— ์•Œ๋ฆฌ๋Š” ๊ฒƒ

์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ: I/O ์žฅ์น˜, ํƒ€์ด๋ฐ ์žฅ์น˜, ์ „์› ๋“ฑ ์™ธ๋ถ€ ์š”์ธ์œผ๋กœ ๋ฐœ์ƒ

๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ: ์ž˜๋ชป๋œ ๋ช…๋ น์ด๋‚˜ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒ ex) 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋“ฑ

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ: ํ”„๋กœ๊ทธ๋žจ ์ฒ˜๋ฆฌ ์ค‘ ๋ช…๋ น์˜ ์š”์ฒญ์— ์˜ํ•ด ๋ฐœ์ƒ

 

๋”๋ณด๊ธฐ

ํด๋ง ๋ฐฉ์‹

์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋Šฅ์ด ์—†์„ ๋•Œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํŠน์ • ์–ด๋–ค ์ผ์„ ํ•  ์‹œ๊ธฐ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ฒดํฌํ•ด์•ผ ํ•จ, ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ž…๋ ฅ ํ•€์˜ ๊ฐ’์„ ๊ณ„์† ์ฝ์–ด ๋ณ€ํ™”๋ฅผ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ์‹

์‹ ์†ํ•˜๊ฒŒ ์‹ค์‹œ๊ฐ„ ๋Œ€์‘์ด ํ•„์š”ํ•  ๋•Œ ํ•„์ˆ˜ ๊ธฐ๋Šฅ

 

์ธํ„ฐ๋ŸฝํŠธ

ํ•˜๋“œ์›จ์–ด๋กœ ์ง€์› ๋ฐ›์•„์•ผ ํ•˜๋Š” ์ œ์•ฝ ์กด์žฌ, ๋ฐœ์ƒ ์‹œ๊ธฐ ์˜ˆ์ธก์ด ์–ด๋ ค์šธ ๋•Œ ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ ๊ฐ€๋Šฅ

๐Ÿ€ ์‹œ์Šคํ…œ ์ฝœ

ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ๊ณผ ์ œ์–ด๋ฅผ ์œ„ํ•จ

fork, exec: ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ

wait: ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŒ๋“  ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ช…๋ น์–ด

 

๐Ÿ€ PCB, Context Switching

ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ผ ๋•Œ CPU ์Šค์ผ€์ค„๋ง์„ ํ†ตํ•ด ๊ด€๋ฆฌ

 

PCB(Process Control Block)

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ, interrupt๊ฐ€ ๋ฐœ์ƒํ•ด ์•ž์œผ๋กœ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•  ๋Œ€๊ธฐ์ค‘(waiting)์ธ ํ”„๋กœ์„ธ์Šค์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ

 

Context Switching

- CPU๊ฐ€ ์ด์ „์˜ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ PCB์— ๋ณด๊ด€ํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ PCB์—์„œ ์ฝ์–ด์™€ ๋ ˆ์ง€์Šคํ„ฐ์— ์ ์žฌ

- ๋ฐœ์ƒํ•˜๋Š” ์ด์œ : interrupt ๋ฐœ์ƒ, ์‹คํ–‰์ค‘์ธ CPU ์‚ฌ์šฉ ํ—ˆ๊ฐ€ ์‹œ๊ฐ„ ๋ชจ๋‘ ์†Œ๋ชจ, ์ž…์ถœ๋ ฅ ๋Œ€๊ธฐ

- ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ์ˆ˜ํ•˜๊ณ  Context Switching ํ•˜๋Š” ์ด์œ : CPU๊ฐ€ ๊ณ„์†ํ•ด์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅธ ์ผ์ฒ˜๋ฆฌ ์ œ๊ณต

๐Ÿ€ IPC

Inter Process Communication

- ์ปค๋„์—์„œ ์ œ๊ณต๋˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์„ ๋•๋Š” ๋ฐฉ๋ฒ•

- ์ข…๋ฅ˜: ์ต๋ช… PIPE, Named PIPE, Message Queue, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, ๋ฉ”๋ชจ๋ฆฌ ๋งต

๋”๋ณด๊ธฐ

- ์ต๋ช… PIPE

- Named PIPE

- Message Queue

- ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ

- ๋ฉ”๋ชจ๋ฆฌ ๋งต

๐Ÿ€ CPU ์Šค์ผ€์ค„๋ง

CPU๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž˜ ๋ฐฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

๋ชฉํ‘œ

  • Batch System - ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์–‘์„ ์ฒ˜๋ฆฌ
  • Interactive System - ๋น ๋ฅธ ์‘๋‹ต ์‹œ๊ฐ„, ์ ์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„
  • Real-time System - ๊ธฐํ•œ ๋งž์ถ”๊ธฐ

์„ ์  ์Šค์ผ€์ค„๋ง

- Priority Scheduling: ์ •์ /๋™์ ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ๋ถ€์—ฌํ•˜์—ฌ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ, Starvation ๋ฐœ์ƒ ์‹œ aging์œผ๋กœ ํ•ด๊ฒฐ

- Round Robin: FCFS์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๋™์ผ ์‹œ๊ฐ„์˜ time quantum๋งŒํผ ํ• ๋‹น ํ›„ context switching

- Multilevel Queue: time quantum์ด ๊ฐ๊ฐ ์„ค์ •๋œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ๋ฅผ ์ด์šฉํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ ํ์— ๋ณด๋‚ธ ํ›„ ์‹คํ–‰์‹œํ‚ด

- Multilevel Feedback Queue: time quantum์„ ๋‹ค ์ฑ„์šด ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ ํ๋กœ ์ด๋™, ์ฑ„์šฐ์ง€ ๋ชปํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ํ˜„์žฌ ํ์— ์œ ์ง€

 

๋น„์„ ์  ์Šค์ผ€์ค„๋ง

- FCFS: ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ˆ˜ํ–‰

- SJF: ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์ž‘์—… ๋จผ์ € ์ˆ˜ํ–‰

- HRN: ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ SJF ๋ฐฉ์‹์˜ ์ ์œ  ๋ถˆํ‰๋“ฑ ๋ณด์™„

์Šค์ผ€์ค„๋ง ์ฒ™๋„

Response time: ์ž‘์—…์ด ์ฒ˜์Œ ์‹œ์ž‘๋˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„

Turnaround time: ์‹คํ–‰์‹œ๊ฐ„๊ณผ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ํ•ฉํ•œ ์‹œ๊ฐ„ = ์ž‘์—… ์™„๋ฃŒ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„

๐Ÿ€ ๋ฐ๋“œ๋ฝ

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ์›ํ•˜๋Š” ์ž์›์ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์–ด ์žˆ์–ด ๋ฌดํ•œ wait์ƒํƒœ์— ๋น ์ ธ ๋‹ค์Œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ

 

์‹œ์Šคํ…œ์ ์œผ๋กœ ํ•œ์ •๋œ ์ž์›์„ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒ

๋ฐœ์ƒ ์กฐ๊ฑด

- ์ƒํ˜ธ ๋ฐฐ์ œ: ์ž์›์€ ํ•œ๋ฒˆ์— ํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

- ์ ์œ  ๋Œ€๊ธฐ: ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์ž์›์„ ์ ์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์–ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ž์›์„ ์ถ”๊ฐ€๋กœ ์ ์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•จ

- ๋น„์„ ์ : ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›์€ ์‚ฌ์šฉ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์—†์Œ

- ์ˆœํ™˜ ๋Œ€๊ธฐ: ํ”„๋กœ์„ธ์Šค์˜ ์ง‘ํ•ฉ์—์„œ ์ˆœํ™˜ ํ˜•ํƒœ๋กœ ์ž์›์„ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•จ

 

์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

- ์˜ˆ๋ฐฉ: ๊ต์ฐฉ ์ƒํƒœ ๋ฐœ์ƒ ์กฐ๊ฑด ์ค‘์—์„œ ํ•˜๋‚˜์”ฉ ์ œ๊ฑฐํ•˜๋ฉด์„œ ํ•ด๊ฒฐ

  • ์ƒํ˜ธ๋ฐฐ์ œ ๋ถ€์ • : ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ  ์ž์› ์‚ฌ์šฉ
  • ์ ์œ ๋Œ€๊ธฐ ๋ถ€์ • : ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ „ ๋ชจ๋“  ์ž์›์„ ํ• ๋‹น
  • ๋น„์„ ์  ๋ถ€์ • : ์ž์› ์ ์œ  ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ์ž์›์„ ์š”๊ตฌํ•  ๋•Œ ๊ฐ€์ง„ ์ž์› ๋ฐ˜๋‚ฉ
  • ์ˆœํ™˜๋Œ€๊ธฐ ๋ถ€์ • : ์ž์›์— ๊ณ ์œ ๋ฒˆํ˜ธ ํ• ๋‹น ํ›„ ์ˆœ์„œ๋Œ€๋กœ ์ž์› ์š”๊ตฌ

- ํšŒํ”ผ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์š”๊ตฌํ•  ๋•Œ ์‹œ์Šคํ…œ์€ ์ž์›์„ ํ• ๋‹นํ•œ ํ›„ ์•ˆ์ • ์ƒํƒœ์ธ์ง€ ์‚ฌ์ „์— ๊ฒ€์‚ฌํ•˜์—ฌ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํšŒํ”ผ -> ์•ˆ์ • ์ƒํƒœ์ด๋ฉด ์ž์› ํ• ๋‹น, ์•„๋‹ˆ๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ž์› ํ•ด์ง€๋ฅผ ๋Œ€๊ธฐ

- ํƒ์ง€: ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์ž์› ์š”์ฒญ ์‹œ ํƒ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰์‹œํ‚ด

- ํšŒ๋ณต: ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์ผ์œผํ‚จ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ํ• ๋‹น๋œ ์ž์›์„ ์„ ์ ํ•ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น

๐Ÿ€ ๊ฒฝ์Ÿ ์ƒํƒœ

๊ณต์œ  ์ž์›์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•  ๋•Œ, ๊ฒฐ๊ณผ๊ฐ’์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ

 

๋ฐœ์ƒ ์ƒํ™ฉ
- ์ปค
๋„ ์ž‘์—… ์ˆ˜ํ–‰ ์ค‘์— ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ

    -> ์ปค๋„ ๋ชจ๋“œ์—์„œ ์ž‘์—… ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ์€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ disable์‹œ์ผœ ํ•ด๊ฒฐ

- ํ”„๋กœ์„ธ์Šค๊ฐ€ 'System Call'์„ ํ•˜์—ฌ ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘ context switching์ด ๋ฐœ์ƒํ•  ๋•Œ

    -> ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ปค๋„ ๋ชจ๋“œ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋ผ๋„ CPU์ œ์–ด๊ถŒ์ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก ํ•˜์—ฌ ํ•ด๊ฒฐ

- ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์˜ ์ปค๋„ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ

    -> ์ปค๋„ ๋‚ด๋ถ€์˜ ๊ณต์œ  ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค lock/unlockํ•˜์—ฌ ํ•ด๊ฒฐ

๐Ÿ€ ์„ธ๋งˆํฌ์–ด์™€ ๋ฎคํ…์Šค

์„ธ๋งˆํฌ์–ด

๊ณต์œ ๋œ ์ž์›์˜ ๋ฐ์ดํ„ฐ์— ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ž„๊ณ„ ๊ตฌ์—ญ(Critical Section)

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์ˆ˜ํ–‰๋  ๋•Œ, ๊ฐ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋ถ€๋ถ„

ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์„ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ ‘๊ทผ ๋ง‰์•„์•ผ ํ•จ

๋ฎคํ…์Šค (์ƒํ˜ธ ๋ฐฐ์ œ)

์ž„๊ณ„ ๊ตฌ์—ญ์„ ๊ฐ€์ง„ ์Šค๋ ˆ๋“œ๋“ค์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ์„œ๋กœ ๊ฒน์น˜์ง€ ์•Š๊ณ  ๊ฐ๊ฐ ๋‹จ๋…์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ 

  • lock : ํ˜„์žฌ ์ž„๊ณ„ ๊ตฌ์—ญ์— ๋“ค์–ด๊ฐˆ ๊ถŒํ•œ์„ ์–ป์–ด์˜ด ( ๋งŒ์•ฝ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ ์ˆ˜ํ–‰ ์ค‘์ด๋ฉด ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ )
  • unlock : ํ˜„์žฌ ์ž„๊ณ„ ๊ตฌ์—ญ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ–ˆ์Œ์„ ์•Œ๋ฆผ. ( ๋Œ€๊ธฐ ์ค‘์ธ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์— ์ง„์ž…ํ•  ์ˆ˜ ์žˆ์Œ )
๋”๋ณด๊ธฐ

๋ฎคํ…์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

Dekker ์•Œ๊ณ ๋ฆฌ์ฆ˜

flag์™€ turn ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ž„๊ณ„ ๊ตฌ์—ญ์— ๋“ค์–ด๊ฐˆ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹

Peterson ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐ์ปค์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์ƒ๋Œ€๋ฐฉ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์—๊ฒŒ ์ง„์ž… ๊ธฐํšŒ๋ฅผ ์–‘๋ณดํ•˜๋Š” ๊ฒƒ์— ์ฐจ์ด๊ฐ€ ์žˆ์Œ

Bakery ์•Œ๊ณ ๋ฆฌ์ฆ˜

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜. ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์˜ ๋ฒˆํ˜ธํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์— ์ง„์ž…ํ•œ๋‹ค.

๐Ÿ€ ํŽ˜์ด์ง•, ์„ธ๊ทธ๋จผํ…Œ์ด์…˜

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

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

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

  • ๊ณ ์ • ๋ถ„ํ•  ๊ธฐ๋ฒ•: ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๊ณ ์ •๋œ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„ํ•  -> ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ
  • ๋™์  ๋ถ„ํ•  ๊ธฐ๋ฒ•: ํŒŒํ‹ฐ์…˜๋“ค์ด ๋™์  ์ƒ์„ฑ๋˜์–ด ๊ฐ™์€ ํฌ๊ธฐ์˜ ํŒŒํ‹ฐ์…˜์— ์ ์žฌ -> ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ

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

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

๐Ÿ€ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜

์š”๊ตฌ ํŽ˜์ด์ง€ ๊ธฐ๋ฒ•

- ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ๊ทธ๋Œ€๋กœ ๋‘ 

- ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์•ˆ์“ฐ๋Š” ํŽ˜์ด์ง€๋ฅผ outํ•˜๊ณ  ํ•ด๋‹น ๊ณต๊ฐ„์— ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋ฅผ in

Page Reference String

CPU์˜ ์ฃผ์†Œ ์š”๊ตฌ์— ๋”ฐ๋ผ ํŽ˜์ด์ง€ ๊ฒฐํ•จ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ์ƒ๋žตํ•˜์—ฌ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•
- FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๋‚ด๋ณด๋ƒ„

์ฒ˜์Œ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰๋  ๋•Œ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•

- OPT ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Optimal)

์•ž์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๋‚ด๋ณด๋ƒ„

ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์•ž์œผ๋กœ ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๋ณด์žฅ์ด ์—†์œผ๋ฏ€๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์–ด๋ ค์›€

- LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Least-Recently-Used)

์ตœ๊ทผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๋‚ด๋ณด๋ƒ„

์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ข‹์€ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜

๊ต์ฒด ๋ฐฉ์‹

ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ

  • ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด -> Global
  • ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ์ž๊ธฐ ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€์—์„œ๋งŒ ๊ต์ฒด -> Local

๐Ÿ€ ๋ฉ”๋ชจ๋ฆฌ

๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ

- CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์–ต ์žฅ์น˜

- ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€์•ผ ํ•จ

MMU

- ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜

- ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ๊ฐ€์ ธ์˜ด

- ๊ฐ€์ƒ์˜ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜

- ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ, ์บ์‹œ ๊ด€๋ฆฌ ๋“ฑ CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ด€๋ฆฌ

  • ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ: ํ•œ ํ”„๋กœ์„ธ์Šค์— ํ•ฉ๋ฒ•์ ์ธ ์ฃผ์†Œ ์˜์—ญ์„ ์„ค์ •ํ•˜๊ณ  ์ž˜๋ชป๋œ ์ ‘๊ทผ์ด ์˜ค๋ฉด trap ๋ฐœ์ƒ์‹œํ‚ด
  • ๋ฉ”๋ชจ๋ฆฌ ๊ณผํ• ๋‹น: ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ๋” ํฐ ์‚ฌ์ด์ฆˆ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•œ ์ƒํ™ฉ -> ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์ค‘ ํŽ˜์ด์ง€ ํดํŠธ ๋ฐœ์ƒ
  • ํŽ˜์ด์ง€ ๊ต์ฒด 
    • ๋ฉ”๋ชจ๋ฆฌ ๊ณผํ• ๋‹น์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๋ฅผ swap outํ•ด์„œ ๋นˆ ํ”„๋ ˆ์ž„ ํ™•๋ณด
    • ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์—ฌ์•ผ ํ•จ -> 1) ๋น„ํŠธ๋ฅผ ํ™œ์šฉํ•ด ๋””์Šคํฌ์— ๊ธฐ๋กํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ์ค„์—ฌ ์˜ค๋ฒ„ํ—ค๋“œ ์ค„์ž„, 2) ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํžˆ ์„ ํƒ

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ

- ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ์ €์žฅ๋œ ๋‚ด์šฉ์˜ ์ผ๋ถ€๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•ด๋‘๋Š” ๊ธฐ์–ต์žฅ์น˜

- CPU์™€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์†๋„ ์ฐจ์ด๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋ง‰๋Š” ๋ฐฉ๋ฒ•

- ์ง€์—ญ์„ฑ: ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์˜ ์ •๋ณด๋ฅผ ํ•œ ์ˆœ๊ฐ„ ํŠน์ • ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ

  • ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ: ์ตœ๊ทผ ์ฐธ์กฐ๋œ ์ฃผ์†Œ์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ์—๋„ ์ฐธ์กฐ๋จ
  • ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ: ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์ด ์ฐธ์กฐ๋œ ์ฃผ์†Œ์™€ ์ธ์ ‘ํ•œ ์ฃผ์†Œ์˜ ๋‚ด์šฉ์ด ๋‹ค์Œ์—๋„ ์ฐธ์กฐ๋จ

- ์บ์‹ฑ ๋ผ์ธ: ์บ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•จ

๐Ÿ€ ํŒŒ์ผ ์‹œ์Šคํ…œ

- ์ปดํ“จํ„ฐ์—์„œ ํŒŒ์ผ์ด๋‚˜ ์ž๋ฃŒ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€, ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

- ํŠน์ง•: ์ปค๋„ ์˜์—ญ์—์„œ ๋™์ž‘, ๊ณ„์ธต์  ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ, ๋””์Šคํฌ ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ํ•˜๋‚˜์”ฉ ๋‘˜ ์ˆ˜ ์žˆ์Œ

- ์—ญํ• : ํŒŒ์ผ ๋ฐ ๋ณด์กฐ ์ €์žฅ์†Œ ๊ด€๋ฆฌ, ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ œ๊ณต

- ๋ชฉ์ : ํ•˜๋“œ๋””์Šคํฌ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์†๋„์ฐจ ์ ˆ๊ฐ, ํŒŒ์ผ ๊ด€๋ฆฌ, ํ•˜๋“œ๋””์Šคํฌ ํšจ์œจ์ ์œผ๋กœ ์ด์šฉ

- ๊ตฌ์กฐ

  • ๋ฉ”ํƒ€ ์˜์—ญ: ๋ฐ์ดํ„ฐ ์˜์—ญ์— ๊ธฐ๋ก๋œ ํŒŒ์ผ ์ด๋ฆ„, ์œ„์น˜, ํฌ๊ธฐ ๋“ฑ ํŒŒ์ผ ์ •๋ณด
  • ๋ฐ์ดํ„ฐ ์˜์—ญ: ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ

์ ‘๊ทผ ๋ฐฉ๋ฒ•

- ์ˆœ์ฐจ ์ ‘๊ทผ: ํฌ์ธํ„ฐ๋ฅผ ์•ž์œผ๋กœ ๋ณด๋‚ด๋ฉด์„œ read, write -> ๋’ค๋กœ ๋Œ์•„๊ฐˆ ๋•Œ๋Š” ์ง€์ •ํ•œ offset๋งŒํผ ๋˜๊ฐ๊ธฐ

- ์ง์ ‘ ์ ‘๊ทผ: ํ˜„์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” cp ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํŠน๋ณ„ํ•œ ์ˆœ์„œ ์—†์ด ๋น ๋ฅด๊ฒŒ ๋ ˆ์ฝ”๋“œ๋ฅผ read, write ๊ฐ€๋Šฅ

- ๊ธฐํƒ€ ์ ‘๊ทผ: ์ง์ ‘ ์ ‘๊ทผ ํŒŒ์ผ์— ๊ธฐ๋ฐ˜๋œ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ํฌ๊ธฐ๊ฐ€ ํฐ ํŒŒ์ผ์˜ ์ž…์ถœ๋ ฅ ํƒ์ƒ‰ ๊ฐ€๋Šฅ

 

๋””๋ ‰ํ† ๋ฆฌ์™€ ๋””์Šคํฌ ๊ตฌ์กฐ

- 1๋‹จ๊ณ„ ๋””๋ ‰ํ† ๋ฆฌ: ์œ ์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง, ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—ฌ๋„ ๊ฐ™์€ ์ด๋ฆ„ ์‚ฌ์šฉ ๋ถˆ๊ฐ€

- 2๋‹จ๊ณ„ ๋””๋ ‰ํ† ๋ฆฌ: ์‚ฌ์šฉ์ž๋ณ„๋กœ ๊ฐœ๋ณ„์ ์ธ ๋””๋ ‰ํ† ๋ฆฌ ์กด์žฌ

- ํŠธ๋ฆฌ ๊ตฌ์กฐ ๋””๋ ‰ํ† ๋ฆฌ: ๋น„ํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ผ๋ฐ˜ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ ๊ตฌ๋ถ„

- ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ ๋””๋ ‰ํ† ๋ฆฌ: ์ˆœํ™˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋งํฌ๋งŒ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์ด์šฉํ•ด ์ „์ฒด ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ˆœํšŒํ•˜๊ณ  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํ‘œ์‹œ

 

 

์ถœ์ฒ˜: https://gyoogle.dev/blog/interview/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C.html

'Job > Interview' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ  (0) 2022.04.14
IT ๊ธฐ์ˆ ๋ฉด์ ‘ ํ•„์ˆ˜ ์งˆ๋ฌธ ์ •๋ฆฌ  (0) 2022.04.14

๋Œ“๊ธ€