ﺑﺎﺳﻤﻪﺗﻌﺎﻟﻲ ﺗﻤﺮﻳﻦ ﺳﺮي دوم داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ 90/09/24 ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ) 90/10/09 :ﺗﺎ ﺳﺎﻋﺖ (23:59 ﻧﺎم درس :ﺳﻴﺴﺘﻢ ﻋﺎﻣﻠﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ ﻧﻴﻢﺳﺎل اول 90-91 اﺳﺘﺎد درس :دﻛﺘﺮ رﺳﻮل ﺟﻠﻴﻠﻲ ﺻﻔﺤﻪ1 : ﻧﻜﺎت ﻗﺎﺑﻞ ﺗﻮﺟﻪ: ﭘﺎﺳﺦﻫﺎي ﺧﻮد را در ﺻﻮرت اﻣﻜﺎن ﺑﻪ ﺻﻮرت اﻟﻜﺘﺮوﻧﻴﻜﻲ ﺑﻪ آدرس [email protected]ﺑﺎ ﻋﻨﻮان] [OS2:Assignment#2ارﺳﺎل ﻧﻤﺎﻳﻴﺪ. ﺣﻞ ﺗﻤﺮﻳﻦﻫﺎي درس ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ﻓﺮدي اﻧﺠﺎم ﭘﺬﻳﺮد.- ﺑﻪ ﭘﺎﺳﺦﻫﺎﻳﻲ ﻛﻪ روﻧﻮﺷﺖ ﻳﻜﺪﻳﮕﺮ ﺑﺎﺷﻨﺪ ،ﻫﻴﭻ ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﻤﻲﮔﻴﺮد. در ﺻﻮرت ﺗﺎﺧﻴﺮ در ارﺳﺎل ﭘﺎﺳﺦ ،ﺑﻪ ازاي ﻫﺮ روز %25ﻧﻤﺮه ﻛﻞ ﺗﻤﺮﻳﻦ ،ﻛﺴﺮ ﻣﻲﮔﺮدد.١ nﭘﺮدازه ﻛﻪ ﺣﺪاﻛﺜﺮ (n-1)/3آﻧﻬﺎ ﺧﻄﺎدار اﺳﺖ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ﻛـﻪ اﻳـﻦ nﭘـﺮدازه ﻣـﻲﺧﻮاﻫﻨـﺪ روي ﻣﻘﺪاري ﻛﻪ ﭘﺮدازه p0ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ ) 0ﻳﺎ (1ﺗﻮاﻓﻖ Byzantineﻛﻨﻨﺪ .ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ارﺳﺎل ﻫﺮ ﭘﻴﻐﺎم ﺑﻴﻦ 0ﺗﺎ 1واﺣـﺪ زﻣﺎﻧﻲ و ﭘﺮدازش ﻫﺮ ﭘﻴﻐﺎم )ﺑﻪ ﺻﻮرت ﮔﺮوﻫﻲ( ﺑﺮاي ﻳﻚ ﭘﺮدازهي ﺳﺎﻟﻢ 1ﺗﺎ 2واﺣﺪ زﻣﺎﻧﻲ و ﺑﺮاي ﻳﻚ ﭘﺮدازه ﺧﻄـﺎدار 0ﺗـﺎ 1 واﺣﺪ زﻣﺎﻧﻲ ،زﻣﺎن ﻣﻲﺑﺮد .زﻣﺎن ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﺳﺎﻳﺮ ﻋﻤﻠﻴﺎتﻫﺎ ﻧﺎﭼﻴﺰ ﻓﺮض ﻣﻲﮔﺮدد. ﺣﺪاﻛﺜﺮ و ﺣﺪاﻗﻞ زﻣﺎن ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﺗﻮاﻓﻖ از زﻣﺎﻧﻲ ﻛﻪ ﭘﺮدازهي p0اوﻟﻴﻦ ﭘﻴﻐﺎم را ارﺳﺎل ﻣﻲﻛﻨﺪ ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ ﻫﻤﻪ ﭘﺮدازه- ﻫﺎي ﺻﺤﻴﺢ روي ﻣﻘﺪار آن ﺗﻮاﻓﻖ ﻣﻲﻛﻨﻨﺪ ،ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ Lamport-Shostak-Peaseو Delovﭼﻘﺪر اﺳﺖ؟ ﺗﻌﺪاد ﭘﻴﻐﺎﻣﻲ ﻛﻪ ﻫﺮ ﭘﺮدازه درﻳﺎﻓﺖ و ارﺳﺎل ﻣﻲﻛﻨﺪ ﭼﻘﺪر اﺳﺖ؟ ٢ ﻧﺸــﺎن دﻫﻴــﺪ ﻛــﻪ ﺳــﻪ ﻣﺴــﺎﻟﻪ ﺗﻮاﻓــﻖ ،Byzantineﺳــﺎزﮔﺎري ﻣﺤــﺎورهاي ) (Interactive Consistencyو اﺟﻤــﺎع ) (Consensusﻣﻌﺎدﻟﻨﺪ. ٣ ﺑﻪ اﻟﮕﻮرﻳﺘﻢ زﻳﺮ ﻛﻪ ﺑﺮاي ﺗﻮاﻓﻖ Byzantineدر ﺣﻀﻮر ﭘﻴﻐﺎﻣﻬﺎي اﻣﻀﺎ ﺷﺪه ) Signedﻳﺎ (Authenticatedاراﺋﻪ ﺷﺪه ﺗﻮﺟﻪ ﻛﻨﻴﺪ: }{=Initialization: Vi The transmitter (node p0) signs its value and sends to all other nodes. For each i: If node pi receives a message of the form (a:0) from the transmitter then o It sets Vi to {a}. o It sends the message (a:0,i) to all other nodes. If node pi receives a message of the form (a:0,j1,j2,..,jk) and a is not in Vi, then o It adds a to Vi o If k<n, it sends the message (a:0,j1,j2,…,jk,i) to every node other than j1,j2,…,jk For each i, When node pi receive no more messages, it considers the final value as choice (Vi). اﻟﻒ( ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ اﻟﮕﻮرﻳﺘﻢ 5 ،ﭘﺮدازه ﺑﺎ ﺣﻀﻮر 2ﭘﺮدازه ﺧﻄﺎدار ﻧﻴﺰ ﻗﺎدر ﺑﻪ ﺗﻮاﻓﻖ ﻫﺴﺘﻨﺪ. ب( ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ ﺗﻌﺪاد دورﻫﺎي ) (roundﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﺗﻮاﻓﻖ nﭘﺮدازه در ﺣﻀﻮر ﭘﻴﻐﺎﻣﻬﺎي اﻣﻀﺎﺷﺪه و ﺑﺎ اﺳﺘﻔﺎده از اﻳـﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﺮاي mﭘﺮدازه ﺧﻄﺎدار m+1 ،اﺳﺖ. ج( آﻳﺎ ﺷﺮط n > m+1ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﺗﻮاﻓﻖ اﻟﺰاﻣﻲ اﺳﺖ؟ ﭘﺎﺳﺦ ﺧﻮد را اﺛﺒﺎت ﻛﻨﻴﺪ. راﻫﻨﻤﺎﻳﻲ :ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﭘﺮدازه p2ﻣﻲﺗﻮاﻧﺪ ﭘﻴﻐﺎﻣﻲ ﺑﻪ ﺷﻜﻞ ) (0:2را ﺑﻔﺮﺳﺘﺪ ،اﻣﺎ ﻧﻤـﻲﺗﻮاﻧـﺪ ﭘﻴﻐـﺎم ) (1:0,1را ﺑـﻪ ﺷـﻜﻞ ) (0:0,1,2ارﺳﺎل ﻧﻤﺎﻳﺪ. ﺑﺎﺳﻤﻪﺗﻌﺎﻟﻲ ﺗﻤﺮﻳﻦ ﺳﺮي دوم داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ 90/09/24 ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ) 90/10/09 :ﺗﺎ ﺳﺎﻋﺖ (23:59 ﻧﺎم درس :ﺳﻴﺴﺘﻢ ﻋﺎﻣﻠﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ ﻧﻴﻢﺳﺎل اول 90-91 اﺳﺘﺎد درس :دﻛﺘﺮ رﺳﻮل ﺟﻠﻴﻠﻲ ﺻﻔﺤﻪ2 : ٤ اﻟﻒ( ﻣﺜﺎﻟﻲ از reliable broadcastﺑﺰﻧﻴﺪ ﻛﻪ uniformﻧﺒﺎﺷﺪ. ب( ﻣﺜﺎﻟﻲ از ﻳﻚ reliable broadcastﺑﺰﻧﻴﺪ ﻛﻪ FIFOﺑﺎﺷﺪ وﻟﻲ Causalﻧﺒﺎﺷﺪ. ٥ وﻳﮋﮔﻲﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: oاﻋﺘﺒﺎر :اﮔﺮ ﻳﻚ ﭘﺮدازه درﺳﺖ ،ﭘﻴﻐﺎم mرا ﭘﺨﺶ ﻛﻨـﺪ ،آﻧﮕـﺎه ﻫﻤـﻪ ﭘـﺮدازهﻫـﺎي درﺳـﺖ در ﻧﻬﺎﻳـﺖ mرا درﻳﺎﻓـﺖ ) (deliverﺧﻮاﻫﻨﺪ ﻛﺮد. oﻋﺪم ﺗﻜﺮار :ﻳﻚ ﭘﻴﻐﺎم ﺑﻴﺶ از ﻳﻚ ﺑﺎر ﺗﻮﺳﻂ ﻳﻚ ﭘﺮدازه درﻳﺎﻓﺖ ﻧﻤﻲﺷﻮد. oﻋﺪم اﻳﺠﺎد :اﮔﺮ ﭘﺮدازهاي mرا درﻳﺎﻓﺖ ﻛﻨﺪ m ،ﻗﺒﻼ )ﺗﻮﺳﻂ ﭘﺮدازهاي( ﭘﺨﺶ ﺷﺪه اﺳﺖ. oﺗﺮﺗﻴﺐ ﻋﻠﻲ :اﮔﺮ ﭘﺮدازهي درﺳﺘﻲ mرا درﻳﺎﻓﺖ ﻛﻨﺪ ،ﭘﻴﺶ از آن ﺗﻤﺎﻣﻲ 'mﻫـﺎﻳﻲ ﻛـﻪ ﺑـﺮاي آﻧﻬـﺎ راﺑﻄـﻪ m'→m ﺑﺮﻗﺮار اﺳﺖ را درﻳﺎﻓﺖ ﻛﺮده اﺳﺖ. آﻳﺎ ﻣﻲﺗﻮاﻧﻴﻢ اﻟﮕﻮرﻳﺘﻢ ﭘﺨﺸﻲ اﺑﺪاع ﻛﻨﻴﻢ ﻛﻪ ﺗﻤﺎﻣﻲ اﻳﻦ وﻳﮋﮔﻴﻬﺎ را در ﺑﺮ داﺷﺘﻪ ﺑﺎﺷـﺪ ،وﻟـﻲ وﻳﮋﮔـﻲ ﺗﻮاﻓـﻖ )(Agreement ﭘﺨﺶ Reliableرا ﻧﻘﺾ ﻧﻤﺎﻳﺪ؟ ٦ ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ اراﺋﻪ ﺷﺪه در درس ﺑﺮاي ﭘﻴﺎده ﺳﺎزي Causal Broadcastﺑﺎ اﺳﺘﻔﺎده ازFIFO Broadcast از ﻧﻈﺮ ﭘﻴﻐﺎﻣﻲ ،ﭘﻴﭽﻴﺪﮔﻲ ﺑﺎﻻﻳﻲ داﺷﺘﻪ و ﻧﺎﻛﺎرآﻣﺪ اﺳﺖ .ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﻛﺎرآﻣﺪﺗﺮ ﻓﻘﻂ ﺑﺎ اﺳـﺘﻔﺎده از Reliable Broadcast اراﺋﻪ دﻫﻴﺪ. راﻫﻨﻤﺎﻳﻲ :از vector clockﺑﺮاي ﺣﻔﻆ ﺗﺮﺗﻴﺐ ﻋﻠﻲ اﺳﺘﻔﺎده ﻛﻨﻴﺪ. ٧ ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ در اﻟﮕﻮرﻳﺘﻤﻬﺎي Lamportو ،Ricart-Agrawalaﭘﺮدازهﻫﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﺻﻌﻮدي زﻣـﺎن ﻣﻬﺮﻫـﺎ وارد CS ﻣﻲﺷﻮﻧﺪ .آﻳﺎ اﻳﻦ ﮔﻔﺘﻪ در ﻣﻮرد اﻟﮕﻮرﻳﺘﻢ Maekawaﻧﻴﺰ ﺻﺤﻴﺢ اﺳﺖ؟ ٨ ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ از روش ﺳﺎده زﻳﺮ ﺑﺮاي اﻋﻤﺎل Mutual Exclusionاﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ: ﺳﺎﻳﺖﻫﺎ ﺑﻪ ﺻﻮرت ﻳﻚ ringﻣﻨﻄﻘﻲ ﻣﺮﺗﺐ ﺷﺪهاﻧﺪ و ﻳﻚ ﻣﻬﺮه ﻳﻜﺘﺎ در درون ringدر ﺣـﺎل ﭼـﺮﺧﺶ ﺑـﻮده و از ﺳـﺎﻳﺘﻲ ﺑـﻪ ﺳﺎﻳﺖ ﺑﻌﺪ ﻣﻲرود .ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻳﻚ ﺳﺎﻳﺖ ﻧﻴﺎز ﺑﻪ اﺟﺮاي CSدارد ،ﻣﻨﺘﻈﺮ ﻣﻬﺮه ﻣﻲﻣﺎﻧﺪ و ﭘﺲ از ﺑﻪ دﺳـﺖ آوردن ﻣﻬـﺮهCS ، را اﺟﺮا ﻧﻤﻮده و ﺳﭙﺲ ﻣﻬﺮه را ﺑﻪ ﺳﺎﻳﺖ ﺑﻌﺪ ﻣﻲﻓﺮﺳﺘﺪ .اﮔﺮ ،ﺳﺎﻳﺘﻲ در ﻫﻨﮕﺎم ﺑـﻪ دﺳـﺖ آوردن ﻣﻬـﺮه ﻧﻴـﺎزي ﺑـﻪ اﺟـﺮاي CS ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ،در زﻣﺎن ﺻﻔﺮ آﻧﺮا ﺑﻪ ﺳﺎﻳﺖ ﺑﻌﺪ ﻣﻲﻓﺮﺳﺘﺪ .ﻛﺎراﻳﻲ ،ﺗﺄﺧﻴﺮ ﻫﻤﮕﺎﻣﻲ و زﻣﺎن ﭘﺎﺳﺦ در ﻫﺮﻳﻚ از ﺣﺎﻻت زﻳﺮ ﭼﻘـﺪر اﺳﺖ؟ اﻟﻒ( در زﻣﺎﻧﻲ ﻛﻪ ﺑﺎر ﺳﻴﺴﺘﻢ ﺳﺒﻚ اﺳﺖ. ب( در زﻣﺎﻧﻲ ﻛﻪ ﺑﺎر ﺳﻴﺴﺘﻢ ﺳﻨﮕﻴﻦ اﺳﺖ. )ﻓﺮض ﻛﻨﻴﺪ ﺗﻌﺪاد ﺳﺎﻳﺖﻫﺎ ﺑﺮاﺑﺮ ،Nﺗﺎﺧﻴﺮ ﭘﻴﻐﺎم/ﻣﻬﺮه ﺑﺮاﺑﺮ Tو زﻣﺎن اﺟﺮاي CSﺑﺮاﺑﺮ Eاﺳﺖ(. ٩ ﭼﻬﺎر ﺳﺎﻳﺖ s1ﺗﺎ s4را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ از ﻳﻚ روش ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻬﺮه در ﺑﺮﻗـﺮاري Mutual Exclusion اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ .در ﺣﺎﻟﺖ اﺑﺘﺪاﻳﻲ ،ﻣﻬﺮه در اﺧﺘﻴﺎر ﺳﺎﻳﺖ s1ﻣﻲﺑﺎﺷﺪ .درﺧﻮاﺳﺖﻫﺎ ﺑـﺮاي ورودي ﺑـﻪ CSﺑـﻪ ﺷـﻜﻞ زﻳـﺮ ﻣﻲﺑﺎﺷﺪ: (1ﺳﺎﻳﺖ s2درﺧﻮاﺳﺖ ورود ﺑﻪ CSرا ﻣﻲدﻫﺪ. (2ﺳﺎﻳﺖ s4درﺧﻮاﺳﺖ ورود ﺑﻪ CSرا ﭘﺲ از ﺧﺮوج s2از CSﻣﻲدﻫﺪ. (3ﺳﺎﻳﺖ s1درﺧﻮاﺳﺖ ورود ﺑﻪ CSرا در ﺣﺎﻟﻲ ﻛﻪ s4در CSاﺳﺖ ،ﻣﻲدﻫﺪ. اﻟﻒ( ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﺳﻮزوﻛﻲ و ﻛﺎﺳﺎﻣﻲ ،ﻣﻘﺎدﻳﺮ آراﻳﻪي LNو آراﻳﻪﻫﺎي RNiرا ﺑﺮاي iاز 1ﺗﺎ 4در ﻃﻲ اﻳـﻦ درﺧﻮاﺳـﺖﻫـﺎ دﻧﺒﺎل ﻛﻨﻴﺪ. ب( ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﺳﻴﻨﮕﻬﺎل ،ﻣﻘﺎدﻳﺮ آراﻳﻪﻫﺎي TSVو TSNو آراﻳﻪﻫـﺎي SViو SNiﺑـﺮاي iاز 1ﺗـﺎ 4را در ﻃـﻲ اﻳـﻦ درﺧﻮاﺳﺖﻫﺎ دﻧﺒﺎل ﻛﻨﻴﺪ. ج( ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ درﺧﺖﻣﺒﻨﺎي رﻳﻤﻮﻧﺪ ،ﻧﺤﻮه ﺗﻐﻴﻴﺮات درﺧﺖ و ﺑﺮدار request-qرا ﺑﺎ ﻓﺮض اﻳﻨﻜﻪ ،ﺷـﻜﻞ اوﻟﻴـﻪ درﺧـﺖ ﺑـﻪ ﺑﺎﺳﻤﻪﺗﻌﺎﻟﻲ ﺗﻤﺮﻳﻦ ﺳﺮي دوم داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ 90/09/24 ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ) 90/10/09 :ﺗﺎ ﺳﺎﻋﺖ (23:59 ﻧﺎم درس :ﺳﻴﺴﺘﻢ ﻋﺎﻣﻠﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ ﻧﻴﻢﺳﺎل اول 90-91 اﺳﺘﺎد درس :دﻛﺘﺮ رﺳﻮل ﺟﻠﻴﻠﻲ ﺻﻔﺤﻪ3 : ﺻﻮرت زﻳﺮ ﺑﺎﺷﺪ ،دﻧﺒﺎل ﻛﻨﻴﺪ. )RNiﻫﺎ را ﻣﻲﺗﻮاﻧﻴﺪ ﺑﻪ ﺻﻮرت ﻳﻚ آراﻳﻪ RNﺑﺎ اﺑﻌﺎد 4*4ﻧﺸﺎن دﻫﻴﺪ و ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ SViو (SNi ١٠در ﺑﺴﻴﺎري از ﻣﻮاﻗﻊ ،ﻳﻚ ﺳﺎﻳﺖ ،ﻗﺒﻞ از رﺳﻴﺪن درﺧﻮاﺳﺖ از ﻳﻚ ﺳﺎﻳﺖ دﻳﮕﺮ ،ﺑﺎرﻫﺎ CSرا اﺟﺮا ﻣﻲﻛﻨﺪ .ﺗﻮﺿـﻴﺢ دﻫﻴـﺪ ﻛـﻪ ﭼﺮا اﻟﮕﻮرﻳﺘﻢ Ricart-Agrawalaدر ﭼﻨﻴﻦ ﻣﻮاردي ﻧﺎﻛﺎرآﻣﺪ اﺳﺖ .اﻟﮕﻮرﻳﺘﻢ را ﺑﻪ ﮔﻮﻧـﻪاي ﺗﻐﻴﻴـﺮ دﻫﻴـﺪ ﻛـﻪ اﻳـﻦ ﻧﻘﺼـﺎن ﺑﺮﻃﺮف ﮔﺮدد .آﻳﺎ اﻟﮕﻮرﻳﺘﻢ ﺟﺪﻳﺪ ﺷﺮط Livenessرا دارا ﻣﻲﺑﺎﺷﺪ؟ ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ
© Copyright 2025 Paperzz