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κ°€ ν•œλ²ˆ μ€‘λ³΅λ˜λ©΄ ν”„λ‘œμ„Έμ„œλŠ” 두 개의 ν”„λ‘œμ„Έμ„œλ‘œ λ‚˜νƒ€λ‚˜κ²Œ λœλ‹€.