๐Ÿ“š CS [ComputerScience]/๐Ÿง ์šด์˜์ฒด์ œ [OS]

[2์ฃผ์ฐจ] Quiz

Dbswnstjd 2021. 3. 12. 15:40

1. Disk์™€ DRAM์˜ ์ฐจ์ด์ ์„ 3๊ฐ€์ง€ ์ด์ƒ ๊ธฐ์ˆ ํ•˜์‹œ์˜ค. 
2. 30 ํŽ˜์ด์ง€์—์„œ ๋…ผ์˜๋œ ํŠธ๋žฉ๊ณผ ์ธํ„ฐ๋ŸฝํŠธ์˜ ์ฐจ์ด์ ์„ ๊ธฐ์ˆ ํ•˜์‹œ์˜ค. 

 

์ œ์ถœํ•œ ๋‹ต์•ˆ:

1.

Disk ์™€ DRAM ์˜ ์ฐจ์ด์ 

  Volatility Capacity Capacity Interface
DRAM Volatile Faster than Disk Smaller than Disk Byte-unit interface
Disk Non-vilatile Slower than DRAM Bigger than DRAM Sector-unit interface

DRAM ๊ณผ Disk ์˜ ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด๋ฉด ์ด๋Ÿฌํ•˜๋‹ค. 

DRAM ์€ ํœ˜๋ฐœ์„ฑ์ด๊ณ  Disk ๋Š” ๋น„ํœ˜๋ฐœ์„ฑ์ด๋‹ค. 

 ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด Disk๋Š” ์•„๋ž˜์ชฝ์— ์žˆ๊ณ  DRAM ์€ ์œ„์ชฝ์— ์žˆ๋‹ค. 

๊ทธ๋ž˜์„œ ์†๋„ ๋ฉด์—์„œ DRAM ์ด Disk ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์šฉ๋Ÿ‰์€ DRAM ์ด ์ž‘๊ณ  Disk ๋Š” ์šฉ๋Ÿ‰์ด ํฐ ํŽธ์ด๋‹ค.

CPU ๋Š” Byte๋‹จ์œ„๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ DRAM์˜ ๋ฐ์ดํ„ฐ๋Š” ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ Disk๋Š” ์ง์ ‘ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.   CPU๊ฐ€ Disk ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” DRAM ์œผ๋กœ ์˜ฌ๋ฆฐํ›„์— CPU๋กœ ์˜ฌ๋ผ๊ฐ€์•ผ ํ•œ๋‹ค. ๊ทธ ์ด์œ ๋Š” Disk ๋Š” Sector๋‹จ์œ„์ด๊ณ  DRAM์€ Byte ๋‹จ์œ„์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  ์ด๋ ‡๊ฒŒ ์ ‘๊ทผ ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฆ„์œผ๋กœ์จ ๋กœ๋”ฉ์ด๋ผ๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค. 

 

2.

์ธํ„ฐ๋ŸฝํŠธ์™€ ํŠธ๋žฉ์˜ ์ฐจ์ด์ 

 

ํŠธ๋žฉ(trap)์€ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๊ณ  ๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ผ๊ณ  ํ•˜๋ฉฐ CPU๋กœ๋ถ€ํ„ฐ ์‹คํ–‰ํ•˜๋Š” ์šด์˜์˜ค๋ฅ˜ ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค. ํŠธ๋žฉ์€ ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ์ •ํ•œ ์ง€์ ์ด๋ผ๋Š” ์ ์—์„œ ๋™๊ธฐ์ ์ด๋‹ค. ํ•œ๋งˆ๋””๋กœ ๊ณ ์ •๋œ ์˜์—ญ์—์„œ ์ผ์–ด๋‚œ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ(interrupt)๋Š” ์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ๋‚˜ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ผ ํ•˜๋ฉด ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ”„๋กœ๊ทธ๋žจ ์™ธ๋ถ€์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋ฐœ์ƒ ์‹œ์ ์ด ์ผ์ •ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋™๊ธฐ์ ์ด๋‹ค. ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋“ค์€ CPU์™ธ์˜ ๋‹ค๋ฅธ ์žฅ์น˜๋“ค์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. ํ‚ค๋ณด๋“œ, ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ, CD-ROM, ์‚ฌ์šด๋“œ ์นด๋“œ, ๋งˆ์šฐ์Šค์™€ ๊ฐ™์€ ์žฅ์น˜๋“ค์ด ์ด์— ํฌํ•จ๋œ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด ํŠธ๋žฉ์€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์— ์˜ํ•ด ์ƒ์„ฑ๋œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ์™€ ํŠธ๋žฉ์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๋ฉด์„œ ์ธํ„ฐ๋ŸฝํŠธ์˜ ๋™์ž‘์›๋ฆฌ๋„ ์ฐพ์•„๋ณด์•˜๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ๋ฐ›์€ ์ปดํ“จํ„ฐ๋Š” CPU์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ค‘๋‹จ ํ›„ PCB์— ์ €์žฅํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์–ด๋–ค ์ข…๋ฅ˜์ธ์ง€ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด Interrupt Handler ๋ผ๋Š” ๋…€์„์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ์— ๋งž๋Š” ์ฒ˜๋ฆฌ ๋ฃจํ‹ด์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์ด๋•Œ ์ฒ˜๋ฆฌ ๋ฃจํ‹ด์˜ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ‘์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ ํ…Œ์ด๋ธ”’์„ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„์— ๋๋‚˜๊ฒŒ ๋˜๋ฉด CPU์— ์ €์žฅํ•ด๋†จ๋˜ process๋ฅผ ๋ถˆ๋Ÿฌ์„œ ์‹คํ–‰์‹œํ‚จ๋‹ค.

 

1. ๊ด„ํ˜ธ ๋„ฃ๊ธฐ: OS๋Š” CPU๋ฅผ ๊ฐ€์ƒํ™”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ (   )๋ผ๋Š” ๊ธฐ๋ฒ•๊ณผ (   )๋ผ๋Š” ์ •์ฑ…์„ ์‚ฌ์šฉํ•œ๋‹ค. (1์ ) 
2. ๊ทธ๋ฆผ 5.2์˜ 10 ๋ผ์ธ์ด ์ˆ˜ํ–‰๋œ ํ›„ ๋ถ€๋ชจ์™€ ์ž์‹์˜ ์ƒํƒœ๋Š” ๊ฐ๊ฐ ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? 15๋ผ์ธ์ด ์ˆ˜ํ–‰๋œ ํ›„ ๋ถ€๋ชจ์™€ ์ž์‹์˜ ์ƒํƒœ๋Š”? 18๋ผ์ธ์ด ์ˆ˜ํ–‰๋œ ํ›„ ๋ถ€๋ชจ์™€ ์ž์‹์˜ ์ƒํƒœ๋Š”? (1.5์ )

 

์ œ์ถœํ•œ ๋‹ต์•ˆ:

1.

OS๋Š” CPU๋ฅผ ๊ฐ€์ƒํ™”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ (  context switch(๋ฌธ๋งฅ๊ตํ™˜) )๋ผ๋Š” ๊ธฐ๋ฒ•๊ณผ (  Scheduling(์Šค์ผ€์ค„๋ง) )๋ผ๋Š” ์ •์ฑ…์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

2.

์ผ๋‹จ p2.c ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ running์ค‘์ธ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ running ์ค‘์ด๋‹ค.

10๋ฒˆ์งธ ๋ผ์ธ์ด ์ˆ˜ํ–‰ ๋œ ํ›„์—๋Š” fork()๋กœ ์ธํ•˜์—ฌ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. 

๊ทธ๋Ÿฌ๋ฉด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” running ์ค‘์ด๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ready ์ƒํƒœ์ผ ๊ฒƒ์ด๋‹ค. 

๊ทธ๋Ÿฌ๋ฉด 16๋ฒˆ์งธ ๋ผ์ธ์˜ else๋กœ ๊ฐ€์„œ 17๋ฒˆ์งธ์˜ int wc = wait(NULL); ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ด์•„๋‚˜๋ฉด์„œ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” waiting ์ƒํƒœ๊ฐ€ ๋˜๊ณ  ์ž์‹์€ running ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด 15๋ฒˆ์งธ ๋ผ์ธ์ด ์ˆ˜ํ–‰ ๋œ ํ›„ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒํ•ด์„œ terminated ์ƒํƒœ๊ฐ€ ๋˜๊ณ  18๋ฒˆ์งธ ๋ผ์ธ์ด ์‹คํ–‰๋˜๋ฉด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์‹œ runningํ•˜๊ณ  ์ข…๋ฃŒํ•˜๊ฒŒ ๋œ๋‹ค. 

 

์ •๋ฆฌํ•ด๋ณด๋ฉด 

10๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Running, ์ž์‹ ํ”„๋กœ์„ธ์Šค - Ready

15๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Waiting, ์ž์‹ ํ”„๋กœ์„ธ์Šค - Running

18๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Running, ์ž์‹ ํ”„๋กœ์„ธ์Šค - Terminated

 

 

๋ฐ˜๋Œ€๋กœ p2.c ๊ฐ€ ์‹คํ–‰ ๋  ๋•Œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. 

10๋ฒˆ์งธ ๋ผ์ธ์ด ์ˆ˜ํ–‰ ๋œ ํ›„์— ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ready ์ƒํƒœ๊ฐ€ ๋  ๊ฒƒ์ด๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” running์ƒํƒœ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. 

์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ด๊ธฐ ๋•Œ๋ฌธ์— 15๋ฒˆ์งธ ๋ผ์ธ์—์„œ ๊ทธ๋Œ€๋กœ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” running ์ƒํƒœ ์ด๊ณ  ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ready ์ƒํƒœ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ด์•„๋‚œ๋‹ค. ์ด ๋•Œ else ๋ฌธ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜์„œ wait๋ฅผ ๋งŒ๋‚˜์ง€๋งŒ ์ด๋ฏธ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—  ๊ทธ๋ฆฌ๊ณ  18๋ฒˆ์งธ ๋ผ์ธ์— ๊ฐ€๋ฉด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” running ์ƒํƒœ์ด๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” terminated ์ด๋‹ค. 

 

์ •๋ฆฌํ•ด๋ณด๋ฉด 

10๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Ready, ์ž์‹ ํ”„๋กœ์„ธ์Šค  - Running

15๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Ready, ์ž์‹ ํ”„๋กœ์„ธ์Šค - Running

18๋ฒˆ์งธ ๋ผ์ธ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค - Running, ์ž์‹ ํ”„๋กœ์„ธ์Šค - Terminated