Assignment(01).pdf

‫ﺑﻪ ﻧﺎم ﺧﺪا‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫درس ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﭘﻴﺸﺮﻓﺘﻪ‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ‪90/08/30 :‬‬
‫ﻟﻄﻔﺎً ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﻓﺮﻣﺎﻳﻴﺪ‪:‬‬
‫‬‫‬‫‬‫‪-‬‬
‫ﭘﺎﺳﺦﻫﺎي ﺧﻮد را ﺣﺪاﻛﺜﺮ ﺗﺎ ‪ 30‬آﺑﺎن ﺑﺎ ﻋﻨﻮان ]‪ [AOS:Assignment#1‬ﺑﻪ آدرس ‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺗﺄﺧﻴﺮ در ارﺳﺎل ﭘﺎﺳﺦ ﻣﺸﻤﻮل ﻛﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫ﺣﻞ ﺗﻤﺮﻳﻦﻫﺎي درس ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ﻓﺮدي ﺻﻮرت ﭘﺬﻳﺮد‪ .‬ﭘﺎﺳﺦﻫﺎي ﮔﺮوﻫﻲ ﻣﺸﻤﻮل ﻛﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫در ﺻﻮرت اﺳﺘﻔﺎده از ﻣﺮﺟﻌﻲ ﺧﺎص در ﭘﺎﺳﺦ ﺑﻪ ﺳﺆاﻻت‪ ،‬ﻻزم اﺳﺖ ﻟﻴﺴﺖ ﻣﺮاﺟﻊ در اﻧﺘﻬﺎي ﻫﺮ ﭘﺎﺳﺦ ذﻛﺮ ﺷﻮد‪.‬‬
‫ﻓﺼﻞ اول‬
‫‪ .1‬ﺷﻔﺎﻓﻴﺖ)‪ (transparency‬را ﺗﻌﺮﻳﻒ ﻧﻤﻮده و ﺑﺮاي ﻫﺮ ﻛﺪام از اﻧﻮاع آن ﻳﻚ ﻣﺜﺎل ﺑﺰﻧﻴﺪ‪ .‬ﭼﺮا دارا ﺑﻮدن ﺑﺎﻻﺗﺮﻳﻦ درﺟﻪ ﺷﻔﺎﻓﻴﺖ در ﭘﻴﺎدهﺳﺎزي‪،‬‬
‫ﻫﻤﻴﺸﻪ ﻣﻔﻴﺪ ﻧﻴﺴﺖ؟‬
‫‪ .2‬ﺳﻴﺴﺘﻢﻫﺎي ﻣﻘﻴﺎسﭘﺬﻳﺮ را ﺑﻪ دﻗﺖ ﺗﻌﺮﻳﻒ ﻧﻤﺎﻳﻴﺪ‪ ،‬ﺳﭙﺲ ﺗﻜﻨﻴﻚﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻘﻴﺎسﭘﺬﻳﺮ را ﺑﻴﺎن ﻛﻨﻴﺪ؟‬
‫‪ .3‬ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﭼﻨﺪﮔﺎﻧﻪ ﺑﺎ ‪ CPU 256‬ﺑﻪ ﺻﻮرت ﻳﻚ ﮔﺮﻳﺪ ‪ 16*16‬ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﻲﺸﻮد‪ .‬در اﻳﻦ ﺳﻴﺴﺘﻢ ﺑﻴﺸﺘﺮﻳﻦ ﺗﺄﺧﻴﺮ ارﺗﺒﺎﻃﻲ ﻳﻚ ﭘﻴﺎم )ﺑﺮﺣﺴﺐ‬
‫‪ (hops‬ﭼﻘﺪر ﺧﻮاﻫﺪ ﺑﻮد؟‬
‫‪ .4‬ﻳﻚ ﻓﺎﻳﻞ ﺳﺮور آزﻣﺎﻳﺸﻲ ﺑﻮاﺳﻄﻪي اﺷﻜﻼت ﻣﻮﺟﻮد‪ ،‬در ‪ 3/4‬زﻣﺎنﻫﺎ ‪ up‬و در ‪ 1/4‬زﻣﺎنﻫﺎ ‪ Down‬اﺳﺖ‪ .‬اﻳﻦ ﻓﺎﻳﻞ ﺳﺮور ﭼﻨﺪ ﺑﺎر ﺑﺎﻳﺪ ‪replicate‬‬
‫ﺷﻮد ﺗﺎ دﺳﺘﺮسﭘﺬﻳﺮي)‪ 99 (availability‬درﺻﺪ ﺣﺎﺻﻞ ﺷﻮد؟‬
‫‪ .5‬دﻧﺒﺎﻟﻪي ﭘﺮدازهﻫﺎي ‪ P1, P2, …, Pn‬را در ﻳﻚ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺖﮔﺰار ‪ multi-tiered‬در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﭘﺮدازه ‪ ،Pi‬ﻣﺸﺘﺮي ﭘﺮدازه ‪Pi+1‬‬
‫اﺳﺖ‪ .‬ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﭘﺮدازه ‪ Pi‬ﻳﻚ ﭘﺎﺳﺦ از ﭘﺮدازه ‪ Pi+1‬درﻳﺎﻓﺖ ﻣﻲﻛﻨﺪ‪ ،‬ﭘﺎﺳﺦ را ﺑﻪ ﭘﺮدازه ‪ Pi-1‬ﺑﺮﻣﻲﮔﺮداﻧﺪ‪ .‬ﻣﺸﻜﻼت اﺻﻠﻲ اﻳﻦ ﺳﺎزﻣﺎﻧﺪﻫﻲ‬
‫ﭘﺮدازهﻫﺎ‪ ،‬ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻣﻌﻴﺎر ﻛﺎراﺋﻲ درﺧﻮاﺳﺖ‪ -‬ﭘﺎﺳﺦ از دﻳﺪﮔﺎه ﭘﺮدازه ‪ P1‬را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪ ،‬ﭼﻴﺴﺖ؟‬
‫‪ .6‬روشﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي ﭘﻴﺎدهﺳﺎزي ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻮزﻳﻊ ﺷﺪه وﺟﻮد دارد‪ .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻣﻲﺗﻮان ﻳﻚ دادهﻫﺎ را ﺑﻪ ﭼﻨﺪﻳﻦ ﺑﺨﺶ ﺗﻘﺴﻴﻢ ﻧﻤﻮد و ﻫﺮ‬
‫ﺑﺨﺶ را در ﻳﻚ ﺳﺮور ﺟﺪاﮔﺎﻧﻪ ذﺧﻴﺮه ﻛﺮد و ﻳﺎ ﻛﭙﻲ دادهﻫﺎ را در ﭼﻨﺪﻳﻦ ﺳﺮور ﻗﺮار داد‪ .‬ﻧﻘﺎط ﺿﻌﻒ و ﻗﻮت اﻳﻦ دو راهﺣﻞ را ﺑﻴﺎن ﻛﻨﻴﺪ؟ ﺟﻨﺒﻪﻫﺎﻳﻲ‬
‫ﻧﻈﻴﺮ دﺳﺘﺮسﭘﺬﻳﺮي‪ ،‬ﻗﺎﺑﻠﻴﺖ اﻋﺘﻤﺎد‪ ،‬ﻛﺎراﺋﻲ‪ ،‬و ﻣﻘﻴﺎسﭘﺬﻳﺮي ﺑﺎﻳﺪ در اﻳﻦ ﻣﻘﺎﻳﺴﻪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮﻧﺪ‪ .‬از ‪ DNS‬ﺑﻪ ﻋﻨﻮان ﻳﻚ ﻣﺜﺎل اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫)ﻣﻘﺎﻳﺴﻪ ﻧﺴﺒﺖ ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺘﻤﺮﻛﺰ ﺳﻨﺘﻲ(‪.‬‬
‫‪ .7‬ﺑﺎ ﻣﻄﺎﻟﻌﻪ ﻣﺘﻦ ﻛﺘﺎب‪ ،‬ﺟﺪول ‪ 24-1‬ﻛﺘﺎب ﺗﻨﻦﺑﺎم را ﮔﺴﺘﺮش دﻫﻴﺪ ﺗﺎ ﺳﻴﺴﺘﻢﻫﺎي ﺑﻴﺸﺘﺮي‪ ،‬از اﻧﻮاع ﻣﻌﻤﺎري ﭼﻨﺪﭘﺮدازﻧﺪهاي ﺗﺎ ﺳﻴﺴﺘﻢﻫﺎي‬
‫ﻣﺤﺎﺳﺒﺎﺗﻲ ﺗﺠﺎري را ﺷﺎﻣﻞ ﺷﻮد‪ .‬ﺑﺮاي ﺳﻄﺮﻫﺎي اﺿﺎﻓﻪ ﺷﺪه‪ ،‬ﺑﺮاي ﻣﺜﺎل ﻣﻲﺗﻮاﻧﻴﺪ ﺑﻪ اﻳﻦ ﺳﺆالﻫﺎ ﭘﺎﺳﺦ دﻫﻴﺪ‪:‬‬
‫•‬
‫آﻳﺎ داﺷﺘﻦ ﺳﺎﻋﺖ ﻣﺸﺘﺮك ﻳﻚ ﻧﻴﺎز اﺳﺎﺳﻲ در ﺳﻴﺴﺘﻢ اﺳﺖ؟‬
‫•‬
‫آﻳﺎ ﺿﺮورﺗﺎً ﻧﻴﺎز ﺑﻪ زﻣﺎن ﻣﺸﺘﺮك وﺟﻮد دارد؟ دﻗﺖ آن ﺑﺎﻳﺪ ﭼﮕﻮﻧﻪ ﺑﺎﺷﺪ؟‬
‫•‬
‫آﻳﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك وﺟﻮد دارد؟ ﻛﺠﺎ؟ ﭼﮕﻮﻧﻪ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد؟‬
‫•‬
‫ﺳﺮﻋﺖ ﻛﺎﻧﺎل ارﺗﺒﺎﻃﺎﺗﻲ ﭼﻘﺪر اﺳﺖ؟ ﺑﻪ ﭼﻪ ﻣﻴﺰان ﻣﺴﺘﻌﺪ ﺧﻄﺎ )‪ (error-prone‬اﺳﺖ؟‬
‫•‬
‫آﻳﺎ ﻫﻤﻪي ﺗﺼﻤﻴﻤﺎت ﻣﺤﻠﻲ ﻫﺴﺘﻨﺪ؟ ﺗﻮزﻳﻊ ﺷﺪه؟‬
‫ﻓﺼﻞ دوم‬
‫‪ .8‬ﭼﺮا ﺳﺮوﻳﺲﻫﺎي ارﺗﺒﺎﻃﺎﺗﻲ ﻻﻳﻪي ﺣﻤﻞ )‪ ،(transport-level‬اﻏﻠﺐ ﺑﺮاي اﻳﺠﺎد ﺑﺮﻧﺎﻣﻪﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﻣﻨﺎﺳﺐ ﻧﻴﺴﺘﻨﺪ؟‬
‫‪ .9‬زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ‪ C‬داراي ﻳﻚ ﺳﺎﺧﺘﺎر ﺑﺎ ﻧﺎم ‪ union‬اﺳﺖ ﺑﻪﻃﻮري ﻛﻪ ﻓﻴﻠﺪي از ﻳﻚ رﻛﻮرد )ﻳﻚ ‪ (struct‬ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪﻳﻦ آﻟﺘﺮﻧﺎﺗﻴﻮ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫در زﻣﺎن اﺟﺮا‪ ،‬روش ﻗﻄﻌﻲ ﺑﺮاي ﺗﺸﺨﻴﺺ اﻳﻦﻛﻪ ﻛﺪاﻣﻴﻚ در آﻧﺠﺎﺳﺖ‪ ،‬وﺟﻮد ﻧﺪارد‪ .‬آﻳﺎ اﻳﻦ وﻳﮋﮔﻲ زﺑﺎن ‪ C‬ﻣﻲﺗﻮاﻧﺪ ﻣﻌﻨﺎ و ﻣﻔﻬﻮﻣﻲ ﺑﺮاي ﻓﺮاﺧﻮاﻧﻲ‬
‫روﻳﻪ از راه دور ﺑﺎﺷﺪ؟ ﺗﻮﺿﻴﺢ دﻫﻴﺪ‪.‬‬
‫‪ .10‬ﺑﺮﺧﻲ از ﭘﻴﺎدهﺳﺎزيﻫﺎي ﺳﻴﺴﺘﻢﻫﺎي ‪ distributed-object middleware‬ﺑﺮ اﺳﺎس ﻣﺘﺪﻫﺎي ﻓﺮاﺧﻮاﻧﻲ ﭘﻮﻳﺎ )‪(dynamic invocations‬‬
‫ﻫﺴﺘﻨﺪ‪ .‬ﺣﺘﻲ ﻓﺮاﺧﻮاﻧﻲﻫﺎي اﻳﺴﺘﺎ ﺑﻪ ﭘﻮﻳﺎ ﺗﺮﺟﻤﻪ ﻣﻲﺷﻮﻧﺪ‪ .‬ﻣﺰاﻳﺎي اﻳﻦ روش ﭼﻴﺴﺖ؟‬
‫ﻓﺼﻞ ﺳﻮم‬
‫‪ .11‬ﻳﻚ ﺑﻮرد اﻋﻼﻧﺎت )‪ (bulletin board‬روي ﺳﻪ ﺳﺮور ‪ P3, P2, P1‬ﻛﭙﻲ ﺷﺪه اﺳﺖ‪ .‬ﻫﺮ ﻋﻀﻮ ﮔﺮوه‪ ،‬ﺑﻪ ﻳﻚ ﻛﭙﻲ ﻣﺤﻠﻲ از ﺑﻮرد دﺳﺘﺮﺳﻲ دارد‪.‬‬
‫ﺳﻴﺴﺘﻢ ﺗﺒﺎدل ﭘﻴﺎم )‪ ،(message passing‬ﻫﺮ ﭘﻴﺎﻣﻲ را ﺑﻪ ﻫﻤﻪي ﻛﭙﻲﻫﺎ ارﺳﺎل ﻣﻲﻛﻨﺪ‪ .‬زﻣﺎنﻫﺎي اﻧﺘﻘﺎل ﺑﻄﻮر ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪاي ﻣﺘﻔﺎوت اﺳﺖ و‬
‫ﭘﻴﺎمﻫﺎ اﻟﺰاﻣﺎً ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺐ ارﺳﺎل‪ ،‬وارد ﻧﻤﻲﺷﻮﻧﺪ‪ ،‬اﻣﺎ آﻧﻬﺎ ﺑﺎﻳﺪ ﺗﺮﺗﻴﺐ ﻋﻠّﻲ )‪ (causal ordering‬را ﺗﺤﻘﻖ دﻫﻨﺪ‪.‬‬
‫‪ -1‬ﺑﺮاي ﻛﺎرﺑﺮ ﻧﻬﺎﻳﻲ‪ ،‬ﺗﺮﺗﻴﺐ ﻋﻠّﻲ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ؟ ﺗﻮﺿﻴﺢ دﻫﻴﺪ‪.‬‬
‫‪ -2‬ﭼﺮا ﺗﺮﺗﻴﺐ ﻋﻠّﻲ‪ ،‬ﺑﻴﺶ از ﺣﺪ ﺑﺪﺑﻴﻦ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد؟‬
‫‪ -3‬ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮاﻧﻴﺪ ﺑﺎ اﺳﺘﻔﺎده از ﺑﺮدارﺳﺎﻋﺖﻫﺎ‪ ،‬ﺗﺮﺗﻴﺐ ﻋﻠّﻲ را ﭘﻴﺎده ﺳﺎزي ﻛﻨﻴﺪ؟ اﻳﺪه ﺧﻮد را ﺷﺮح دﻫﻴﺪ و ﺑﺎ ﻣﺜﺎل ﻧﺤﻮه ﻛﺎرﻛﺮد آنرا ﺗﻮﺿﻴﺢ‬
‫دﻫﻴﺪ‪.‬‬
‫‪ -4‬ﺑﺮدارﻫﺎي ﺳﺎﻋﺖ ﻛﭙﻲﻫﺎ‪ ،‬ﺑﻪ ﺗﺮﺗﻴﺐ )‪ (4،5،6) ، (5،2،8‬و )‪ (4،5،8‬اﺳﺖ‪ .‬ﺳﻪ ﻛﺎرﺑﺮ ﺗﺼﻤﻴﻢ ﻣﻲﮔﻴﺮﻧﺪ ﻫﺮ ﻛﺪام در ﺑﻮرد اﻋﻼﻧﺎت‬
‫اﺧﺘﺼﺎﺻﻲ ﺧﻮد ﻳﻚ ﻛﺎﻣﻨﺖ ﺑﻪ ﺑﻮرد اﺿﺎﻓﻪ ﻛﻨﻨﺪ‪ .‬زﻳﺮ دﻧﺒﺎﻟﻪﻫﺎي رﻓﺘﺎر اﻳﻦ ﺳﻴﺴﺘﻢ را ﺷﺒﻴﻪﺳﺎزي ﻛﻨﻴﺪ‪.‬‬
‫‪ .12‬ﺑﺮدار ﺳﺎﻋﺖ ‪ P0, P1, P2‬در ﺷﻜﻞ زﻳﺮ را ﺑﻪﻣﺤﺾ وﻗﻮع ﻫﺮ روﻳﺪاد ﻣﺸﺨﺺ ﻛﻨﻴﺪ؟ ﭘﺮدازﻧﺪه ‪ P0‬ﻣﺒﺼﺮ )‪ (monitor‬اﺳﺖ‪.‬‬
‫‪ .13‬راﺑﻄﻪي ﺑﻴﻦ روﻳﺪادﻫﺎ را ﺑﺎ اﺳﺘﻔﺎده از ﻧﻤﺎدﻫﺎي ﻣﻘﺎﺑﻞ ﺑﻴﺎن ﻛﻨﻴﺪ‪:‬‬
‫‪f and j‬‬
‫‪I.‬‬
‫‪II. a and m‬‬
‫‪III. c and j‬‬
‫‪IV. k and e‬‬
‫‪j and k‬‬
‫‪V.‬‬