Assignment02.pdf

‫ﺑﺎﺳﻤﻪﺗﻌﺎﻟﻲ‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي دوم‬
‫داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫‪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‬را دارا ﻣﻲﺑﺎﺷﺪ؟‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‬