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

[3์ฃผ์ฐจ] Quiz

Dbswnstjd 2021. 3. 16. 20:20

1. ์ž์‹ ์ด ์ ์‹ฌ์„ ์œ„ํ•ด ์‹๋‹น์„ ์ •ํ•  ๋•Œ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์„ ๋…ผํ•˜์‹œ์˜ค. 5 ํŽ˜์ด์ง€์—์„œ ๋…ผํ–ˆ๋˜ ํ‰๊ฐ€ ๊ธฐ์ค€(metrics)๊ณผ ์ž์‹ ์˜ ์„ ํ˜ธ๋„๋ฅผ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜์‹œ์˜ค.  
2. 11 ํŽ˜์ด์ง€ ๊ทธ๋ฆผ 7.6์™€ 7.7์—์„œ, ๋งŒ์ผ ๋ฌธ๋งฅ ๊ตํ™˜ ๋ถ€ํ•˜๊ฐ€ 0ms๊ฐ€ ์•„๋‹ˆ๋ผ 100ms๋กœ ๋ฐ”๋€Œ๋ฉด, ํ‰๊ท  ๋ฐ˜ํ™˜ ์‹œ๊ฐ„(turnaround time)๊ณผ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„(response time)์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค. 

 

 

1.

์ ์‹ฌ์„ ์œ„ํ•ด ์‹๋‹น์„ ์ •ํ•  ๋•Œ ๋‚˜๋Š” ๊ฐ€์žฅ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์‹๋‹น์— ๊ฐ€์„œ ๋ฐฅ์„ ๋น ๋ฅด๊ฒŒ ๋จน๊ณ  ์˜ค๋Š” ์‹œ๊ฐ„์ด๋‹ค. 

์ ์‹ฌ์‹œ๊ฐ„์€ ํ•œ์ •์ ์ด๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ์ด ๋น„์Šทํ•œ ์‹œ๊ฐ„์— ๋ชฐ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๋น ๋ฅด๊ฒŒ ์‹์‚ฌ๋ฅผ ๋๋‚ด๋ฉด ํก์—ฐ๋„ ํ•˜๊ณ  ์žก๋‹ด๋„ ํ•˜๊ณ  ์‰ฌ๋Š” ์‹œ๊ฐ„๋„ ์ฆ๊ธฐ๊ณ  ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ผ๋“ค์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚˜๋Š” ์ ์‹ฌ ์‹๋‹น์„ ๊ณ ๋ฅผ ๋•Œ ๊ฐ€์žฅ ์šฐ์„  ์‹œ ํ•˜๋Š” ๊ธฐ์ค€์€ ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ์‹์‚ฌ๋ฅผ ๋๋‚ด๋Š”์ง€ ์ด๋‹ค. (๊ธฐ์ค€์—๋Š” ์—†์ง€๋งŒ ๋ฌผ๋ก  ๋ง›์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹คใ…Žใ…Ž) 

5ํŽ˜์ด์ง€์˜ ํ‰๊ฐ€ ๊ธฐ์ค€(metrict)์—์„œ ๋ณด๋ฉด ๋‚˜๋Š” Turnaround Time(๋ฐ˜ํ™˜ ์‹œ๊ฐ„) ์„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ธด๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.  

Scheduling Metrics๋Š” ์ •ํ•ด์ง„ ๋‹ต์ด ์—†๋‹ค. ์‚ฌ๋žŒ์— ๋”ฐ๋ผ, ํ”„๋กœ๊ทธ๋žจ์˜ ์šฉ๋„์— ๋”ฐ๋ผ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค. Scheduling Metrics๋ฅผ ์ •ํ•  ๋•Œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ด€์ ์—์„œ ์ƒํ™ฉ๋“ค์„ ๊ณ ๋ คํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.  

 

2.

๋ฌธ๋งฅ ๊ตํ™˜ ๋ถ€ํ•˜๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์œผ๋ฉด

- SJF์˜ ATT (Average Turnaround Time) = (5+10+15)/3 = 10,

- SJF์˜ ART (Average Response Time)= (0+5+10)/3 = 5,

- RR์˜ ATT = (13 + 14 + 15)/3 = 14,

- RR์˜ ART = (0+1+2)/3 = 1

 

๋ฌธ๋งฅ ๊ตํ™˜ ๋ถ€ํ•˜๋ฅผ ๊ณ ๋ คํ•˜๋ฉด

1) SJF์˜ ATT์—์„œ๋Š” (5 + 10+0.1 + 15+0.2)/3 = 10.1,

2) SJF์˜ ART์—์„œ๋„ (0 + 5+0.1 + 10+0.2)/3= 5.1,

3) RR์—์„œ ATT๋Š” (13+12*0.1 + 14+13*0.1 + 15+14*0.1)/3 = 15.3,

4) RR์—์„œ ART์€ (0 + 1+0.1 + 2+0.2)/3 = 1.1

 

1. ์•„๋ž˜ ์™ผ์ชฝ ๊ทธ๋ฆผ์—์„œ ๋ชจ๋“œ ๊ตํ™˜(mode switch)์™€ ๋ฌธ๋งฅ ๊ตํ™˜(context switch)๊ฐ€ ๋ช‡๋ฒˆ ๋ฐœ์ƒํ•˜์˜€๋Š”์ง€ ๋…ผํ•˜์‹œ์˜ค. 


2. ์ธํ…”์˜ ํ•˜์ดํผ์“ฐ๋ ˆ๋”ฉ ๊ธฐ์ˆ ์—์„œ AS (Architectural State)๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? 

 

 

1.

- ๋ชจ๋“œ ๊ตํ™˜(mode switch)์€ ๋ชจ๋‘ 10๋ฒˆ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. (user--> kernel๋กœ 5๋ฒˆ, kernel --> user๋กœ 5๋ฒˆ, 35 ํŽ˜์ด์ง€์—์„œ ์™ผ์ชฝ ๊ทธ๋ฆผ์—์„œ syscall์™€ interrupt ๋ฐœ์ƒ์‹œ ์œ„ ์•„๋ž˜๋กœ ์ง์„  ํ™”์‚ดํ‘œ๊ฐ€ mode switch์ž„) - ๋ฌธ๋งฅ ๊ตํ™˜(context switch)์€ 4๋ฒˆ ์ž…๋‹ˆ๋‹ค.(X-->Y, Y-->Z, Z-->X, X-->Y)

2.

context switch๋„ overhead๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๋ฌธ๋งฅ ๊ตํ™˜์„ ์ง€์›ํ•˜๋Š” ๊ธฐ์ˆ ์ด ํ•˜์ดํผ์“ฐ๋ ˆ๋”ฉ(Hyper-Threading) ์ด๋‹ค.

์ด ๊ธฐ์ˆ ์—์„œ AS (Architectural State) ๋ฅผ ์ฐพ์•„๋ณด๊ธฐ ์œ„ํ•ด ' Intel® Hyper-Threading Technology Technical User's Guide ' ๋ฅผ ์ฐธ์กฐํ•˜์˜€๋‹ค. 

AS๋Š” CPU ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์„ธ์„œ ๋ ˆ์ง€์Šคํ„ฐ์— ๋ณด๊ด€๋œ๋‹ค. 

๊ฐ๊ฐ์˜ ๋…ผ๋ฆฌ ํ”„๋กœ์„ธ์„œ๋Š” AS๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

AS ๋Š” ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ,์ œ์–ด ๋ ˆ์ง€์Šคํ„ฐ, ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ(APIC) ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ด€์ ์—์„œ ๋ดค์„ ๋•Œ AS๊ฐ€ ํ•œ๋ฒˆ ์ค‘๋ณต๋˜๋ฉด ํ”„๋กœ์„ธ์„œ๋Š” ๋‘ ๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.