OS-HW5.pdf

‫ﻢ یﻋﺎ ﻞ‬
‫ﮫﺎر‪١٣٨٧‬‬
‫ﺗﻤﺮﻳﻦ ﻓﺼﻞ ‪5‬‬
‫ﺗﺎرﻳﺦ ﺗﺤﻮﻳﻞ‪ :‬ﭘﻴﺶ از ﻧﻴﻤﻪ ﺷﺐ ﭼﻬﺎرﺷﻨﺒﻪ ‪1387/3/1‬‬
‫ﻧﻜﺎت ﻗﺎﺑﻞ ﺗﻮﺟﻪ‬
‫‪ .1‬ﺗﻤﺮﻳﻦﻫﺎ ﺑﺎﻳﺪ اﻧﻔﺮادي اﻧﺠﺎم ﺷﻮد‪ .‬‬
‫‪ .2‬دﻳﺮﻛﺮد ‪ %25‬ﻧﻤﺮهي ﻣﻨﻔﻲ دارد و ﺑﻪ ازاي ﻫﺮ روز ‪ %5‬اﺿﺎﻓﻪ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﭘﺲ از ﻳﻚ ﻫﻔﺘﻪ ﻧﻤﺮهاي ﺗﻌﻠﻖ‬
‫ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬‬
‫‪ .3‬ﺗﻤﺎرﻳﻦ ﺑﺎﻳﺪ ﺑﻪ آدرس ‪ [email protected]‬ﻓﺮﺳﺘﺎده ﺷﻮد‪ ،‬و ﻳﺎ ﺑﻪ ﺻﻮرت دﺳﺘﻲ ﺗﺤﻮﻳﻞ ﺷﻮد‪.‬‬
‫رﻋﺎﻳﺖ ﻗﺎﻟﺐ زﻳﺮ ﺑﺮاي ‪ e‐mail‬اﻟﺰاﻣﻲ اﺳﺖ‪ :‬‬
‫• ﻋﻨﻮان ﻣﻴﻞ‪ OS‐HW5‐StdNumber :‬‬
‫• ﺗﻨﻬﺎ‪ ‬ﻧﺎم‪ ‬و‪ ‬ﻧﺎم‪ ‬ﺧﺎﻧﻮادﮔﻲ‪ ‬و‪ ‬ﺷﻤﺎره‪ ‬داﻧﺸﺠﻮﻳﻲ‪ ‬در‪ ‬ﻣﺘﻦ‪ ‬ﻧﺎﻣﻪ ذﻛﺮ ﺷﻮد‪ .‬‬
‫• ﻓﺎﻳﻞﻫﺎ ﺑﻪ ﺻﻮرت ‪ pdf‬ﻳﺎ ‪ doc‬و ﺑﺎ ﻧﺎم ‪ OS‐HW5‐StdNumber‬ﭘﻴﻮﺳﺖ ﺷﻮد‪ .‬‬
‫‪ .1‬ﻫﻤﺎنﻃﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ ﻣﺸﺎﻫﺪات ﻧﺸﺎن ﻣﻲدﻫﻨﺪ ﻛﻪ ﻓﺮﻛﺎﻧﺲ رﺧﺪاد ‪CPU‐burst‬ﻫﺎي ﻛﻮﺗﺎه ﺑﺴﻴﺎر ﺑﻴﺶ‬
‫از ‪CPU‐burst‬ﻫﺎي ﺑﻠﻨﺪﻣﺪت اﺳﺖ‪ .‬ﺑﺎ ﻓﺮض اﻳﻦﻛﻪ ﻋﻜﺲ اﻳﻦ ﻣﺸﺎﻫﺪه ﺻﺤﻴﺢ ﺑﺎﺷﺪ‪ ،‬اﻟﮕﻮرﻳﺘﻢ‬
‫‪ Round‐Robin‬را از ﻟﺤﺎظ ﺑﻬﺮهوري ﭘﺮدازﻧﺪه‪ ،‬زﻣﺎن اﻧﺘﻈﺎر‪ ،‬و زﻣﺎن ﭘﺎﺳﺦﮔﻮﻳﻲ در ﺣﺎﻟﺖﻫﺎي زﻳﺮ‬
‫ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ‪.‬‬
‫اﻟﻒ‪ time quantum = 5ms -‬ﻓﺮﻛﺎﻧﺲ ‪ CPU‐burst‬ﺧﻴﻠﻲ ﻛﻢ اﺳﺖ‪.‬‬
‫ب‪ time quatum = 30ms -‬ﻓﺮﻛﺎﻧﺲ ‪ CPU‐burst‬ﻛﻢ اﺳﺖ‪.‬‬
‫ج‪ time quatum = 40ms -‬ﻓﺮﻛﺎﻧﺲ ‪ CPU‐burst‬ﺑﻴﺸﻴﻨﻪ اﺳﺖ‪.‬‬
‫د‪ time quatum = 50ms -‬ﻓﺮﻛﺎﻧﺲ ‪ CPU‐burst‬ﻛﻢ اﺳﺖ‪.‬‬
‫‪ .2‬ﺑﺤﺚ ﻛﻨﻴﺪ ﻛﻪ ﻣﻌﻴﺎرﻫﺎي زﻳﺮ در ﭼﻪ ﺷﺮاﻳﻄﻲ در ﻣﻘﺎﺑﻞ ﻳﻜﺪﻳﮕﺮ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ‪.‬‬
‫اﻟﻒ‪ -‬ﺑﻬﺮهوري ﭘﺮدازﻧﺪه و زﻣﺎن ﭘﺎﺳﺦﮔﻮﻳﻲ‬
‫ب‪ -‬ﺑﻴﺸﻴﻨﻪي زﻣﺎن اﻧﺘﻈﺎر و ﻣﺘﻮﺳﻂ زﻣﺎن ﻛﻞ اﺟﺮا‬
‫‪1‬‬
‫ج‪ -‬ﺑﻬﺮهوري ﭘﺮدازﻧﺪه و ﺑﻬﺮهوري وﺳﺎﻳﻞ ‪IO‬‬
‫‪ .3‬ﻛﺪام ﻳﻚ از اﻟﮕﻮرﻳﺘﻢﻫﺎي زﻳﺮ ﻣﻲﺗﻮاﻧﺪ ﻣﻨﺠﺮ ﺑﻪ ‪ starvation‬ﺷﻮد؟‬
‫اﻟﻒ‪ FCFS -‬ب‪ SJF -‬ج‪ Round Robin -‬د‪Priority -‬‬
‫‪ .4‬ﺳﻴﺴﺘﻤﻲ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ زﻣﺎنﺑﻨﺪ ﺻﻒ ﭼﻨﺪﺳﻄﺤﻲ ‪ 2‬را ﭘﻴﺎدهﺳﺎزي ﻛﺮده اﺳﺖ‪ .‬ﻛﺎرﺑﺮ ﺑﺎ ﭼﻪ‬
‫راﻫﺒﺮدي ﻣﻲﺗﻮاﻧﺪ ﻣﻴﺰان زﻣﺎن اﺧﺘﺼﺎص ﭘﺮدازﻧﺪه ﺑﻪ ﭘﺮدازهي ﺧﻮد را ﺑﻴﺸﻴﻨﻪ ﻛﻨﺪ؟‬
‫‪ .5‬ﻣﺘﻮﺳﻂ ‪ ‬زﻣﺎن ‪ ‬ﭘﺎﺳﺦ ‪ ‬ﺑﺮاي ‪ ‬ﻓﺮآﻳﻨﺪﻫﺎي ‪ ‬زﻳﺮ ‪ ‬ﺑﺎ ‪ ‬اﻃﻼﻋﺎت ‪ ‬داده ‪ ‬ﺷﺪه ‪ ‬ﺑﻪ ‪ ‬ازاي ‪ ‬ﻫﺮ ‪ ‬ﻛﺪام ‪ ‬از ‪ ‬اﻟﮕﻮرﻳﺘﻢﻫﺎي اﻟﻒ‪ ،‬ب‪،‬‬
‫و ج از ﭘﺮﺳﺶ ‪ 3‬را ﺑﺎ ذﻛﺮ راه ﺣﻞ ﺑﺪﺳﺖ آورﻳﺪ‪ .‬اﻧﺪازه ﻛﻮاﻧﺘﻮم ﻳﻚ واﺣﺪ زﻣﺎن اﺳﺖ و ﻓﺮآﻳﻨﺪي ﻛﻪ وارد‬
‫ﺳﻴﺴﺘﻢ ﻣﻲﺷﻮد ﻧﺴﺒﺖ ﺑﻪ ﻓﺮآﻳﻨﺪﻫﺎي ﻣﻮﺟﻮد ﺑﻌﺪ از ﭘﺎﻳﺎن ﻛﻮاﻧﺘﻮم اوﻟﻮﻳﺖ اﺟﺮا دار د ‪.‬ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻣﻨﻈﻮر ﻣﺎ از‬
‫‪ SJF‬زﻣﺎنﺑﻨﺪي ‪ Non‐Preemptive‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﻓﺮاﻳﻨﺪ‬
‫زﻣﺎن ورود‬
‫زﻣﺎن ﻣﻮرد ﻧﻴﺎز‬
‫‪ P1‬‬
‫‪1‬‬
‫‪6‬‬
‫‪P2‬‬
‫‪5‬‬
‫‪3‬‬
‫‪ P3‬‬
‫‪3‬‬
‫‪8‬‬
‫‪ .6‬ﺳﻴﺴﺘﻤﻲ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ده ‪ IO‐Bound task‬و ﻳﻚ ‪ CPU‐Bound task‬را اﺟﺮا ﻣﻲﻛﻨﺪ‪ .‬ﻓﺮض‬
‫ﻛﻨﻴﺪ ﻛﻪ ‪ IO‐Bound task‬ﻫﺎ ﺑﻪ ازاي ﻫﺮ ﻣﻴﻠﻲﺛﺎﻧﻴﻪ اﺳﺘﻔﺎده از ﭘﺮدازﻧﺪه ﻳﻚ درﺧﻮاﺳﺖ ﻋﻤﻠﻴﺎت ‪ IO‬ﺻﺎدر‬
‫ﻣﻲﻛﻨﻨﺪ و ﻫﺮ ﻋﻤﻞ ‪ 10 IO‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ زﻣﺎن ﺑﺮاي اﻧﺠﺎم ﻧﻴﺎز دارد‪ .‬ﻫﻤﭽﻨﻴﻦ ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ﺳﺮﺑﺎر ﻧﺎﺷﻲ از‬
‫‪ 0.1 context switch‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ ﺑﺎﺷﺪ و ﺗﻤﺎم ﭘﺮدازهﻫﺎ زﻣﺎن اﺟﺮاي ﻃﻮﻻﻧﻲ دارﻧﺪ‪ .‬ﺑﻬﺮهوري ﭘﺮدازﻧﺪه را در‬
‫ﺣﺎﻟﺖﻫﺎي زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﺪ‪.‬‬
‫اﻟﻒ‪ .‬زﻣﺎنﺑﻨﺪ ‪ Round‐Robin‬ﺑﺎ ﻛﻮاﻧﺘﻮم زﻣﺎﻧﻲ ‪ 1‬ﻣﻴﻠﻲ ﺛﺎﻧﻴﻪ‬
‫ب‪ -‬زﻣﺎنﺑﻨﺪ ‪ Round‐Robin‬ﺑﺎ ﻛﻮاﻧﺘﻮم زﻣﺎﻧﻲ ‪ 10‬ﻣﻴﻠﻲ ﺛﺎﻧﻴﻪ‬
‫‪ ‬‬
‫‪ Turnaround time ‬‬
‫‪ Multilevel queue ‬‬
‫‪1‬‬
‫‪2‬‬