OS1-HW3.pdf

‫)دﮐﺘﺮ رﺳﻮل ﺟﻠﻴﻠﯽ(‬
‫ﺗﺮم ﭘﺎﺋﻴﺰ ‪١٣٩٠‬‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ‪١٣٩٠/١٠/١٠:‬‬
‫ﻧﺎم ﺧﺪا‬
‫ﺳﻴﺴﺘﻢ هﺎﯼ ﻋﺎﻣﻞ‬
‫ﻓﺼﻮل ﻧﺎﺣﻴﻪ ﺑﺤﺮاﻧﯽ‪ ،‬ﺑﻦ ﺑﺴﺖ و ‪I/O‬‬
‫ﺑﻪ ﺳﻮاﻻت ﺗﺴﺘﻲ زﻳﺮ ﭘﺎﺳﺦ ﺗﺸﺮﻳﺤﻲ دﻫﻴﺪ‪:‬‬
‫‪ ١‬ـ ﻣﺴﺌﻠﻪ ﺗﻮﻟﻴﺪﻛﻨﻨﺪه و ﻣﺼﺮفﻛﻨﻨﺪه را ﺑﻪﺻﻮرت زﻳﺮ ﺣﻞ ﻛﺮدهاﻳﻢ‪ .‬اﻳﻦ راهﺣﻞ‪:‬‬
‫‪Void consumer  void ‬‬
‫{‬
‫;‪int item‬‬
‫{‪while  TRUE ‬‬
‫; ‪while  Count   0 ‬‬
‫; ‪item  remove _ item  ‬‬
‫;‪Count  Count  1‬‬
‫; ‪Consume _ item  item ‬‬
‫}‬
‫}‬
‫‪# define N 100‬‬
‫;‪int Count  0‬‬
‫‪Void producer  void ‬‬
‫{‬
‫;‪int item‬‬
‫{ ‪while  TRUE ‬‬
‫; ‪item  produce _ item  ‬‬
‫; ‪while  Count   N ‬‬
‫; ‪insert _ item  item ‬‬
‫;‪Count  Count  1‬‬
‫}‬
‫}‬
‫‪ (1‬درﺳﺖ اﺳﺖ‪.‬‬
‫‪ (2‬ﻏﻠﻂ اﺳﺖ و ﺷﺮاﻳﻂ رﻗﺎﺑﺘﻲ ﺑﺎﻋﺚ ﻣﻲﺷﻮد ﻫﻤﮕﺎمﺳﺎزي ﺑﺮﻗﺮار ﻧﺒﺎﺷﺪ‪.‬‬
‫‪ (3‬ﻏﻠﻂ اﺳﺖ و ﺷﺮاﻳﻂ رﻗﺎﺑﺘﻲ ﺑﺎﻋﺚ وﻗﻮع ﺑﻦﺑﺴﺖ ﻣﻲﺷﻮد‪.‬‬
‫‪ (4‬ﻏﻠﻂ اﺳﺖ و ﺷﺮاﻳﻂ رﻗﺎﺑﺘﻲ ﺑﺎﻋﺚ ﻗﺤﻄﻲزدﮔﻲ ﻣﻲﺷﻮد‪.‬‬
‫‪ ٢‬ـ اﮔﺮ از ﻳﻚ ﺳﻤﺎﻓﻮر ﺷﻤﺎرﺷﻲ ﺑﺎ ﺷﻤﺎرﻧﺪه ﺻﺤﻴﺢ ﻏﻴﺮﻣﻨﻔﻲ ﺑﺎ ﻣﻘﺪار اوﻟﻴﻪ ﻳﻚ ﺑﺮاي اﻳﺠﺎد اﻧﺤﺼﺎر ﻣﺘﻘﺎﺑﻞ اﺳﺘﻔﺎده ﻛﻨﻴﻢ و ﻗﺒﻞ از ورود ﺑﻪ ﻧﺎﺣﻴﻪ ﺑﺤﺮاﻧﻲ‬
‫آنرا ‪ down‬و ﺑﻌﺪ از ﺧﺮوج آنرا ‪ up‬ﻛﻨﻴﻢ و ‪ n‬ﻓﺮآﻳﻨﺪ ﻫﻤﺮوﻧﺪ ﺑﻪﻃﻮر ﺗﺼﺎدﻓﻲ ﺑﺮاي ورود ﺑﻪ ﻧﺎﺣﻴﻪ ﺑﺤﺮاﻧﻲ ﺑﺎ ﻫﻢ رﻗﺎﺑﺖ ﻛﻨﻨﺪ‪ ،‬ﺷﻤﺎرﻧﺪه اﻳﻦ ﺳﻤﺎﻓﻮر ﭼﻪ‬
‫ﻣﻘﺎدﻳﺮي را ﺧﻮاﻫﺪ داﺷﺖ؟‬
‫‪0,1,..., n  1 (4‬‬
‫‪0,1,..., n (3‬‬
‫‪0,1,..., n  1 (2‬‬
‫‪ 1 (1‬و ‪0‬‬
‫‪ ٣‬ـ اﮔﺮ ﻣﻘﺪار اوﻟﻴﻪ ﺷﻤﺎرﻧﺪه ﺳﻤﺎﻓﻮر ‪ x‬ﺑﺮاﺑﺮ ﻳﻚ و ﻣﻘﺪار اوﻟﻴﻪ ﺷﻤﺎرﻧﺪه ﺳﻤﺎﻓﻮرﻫﺎي ‪ y‬و ‪ z‬ﺑﺮاﺑﺮ ﺻﻔﺮ ﺑﺎﺷﺪ و ﻓﺮآﻳﻨﺪﻫﺎي ‪ p 1‬و ‪ p 2‬و ‪ p 3‬ﺑﻪﺻﻮرت‬
‫ﻫﻤﺮوﻧﺪ اﺟﺮا ﺷﻮﻧﺪﻛﺪامﻳﻚ از ﺧﺮوﺟﻲﻫﺎي زﻳﺮ اﻣﻜﺎنﭘﺬﻳﺮ اﺳﺖ؟‬
‫‪Void p3  void ‬‬
‫{‬
‫{ ‪while  TRUE ‬‬
‫; ‪down  z ‬‬
‫; ‪print "C"‬‬
‫; ‪up  x ‬‬
‫}‬
‫}‬
‫‪A B C A B C A B C ... (1‬‬
‫‪ (4 A A B C A B C A B C ... (3‬ﻫﻤﻪ ﻣﻮارد‬
‫‪Void p1  void ‬‬
‫{‬
‫{ ‪while  TRUE ‬‬
‫; ‪down  x ‬‬
‫; ‪print "A"‬‬
‫; ‪up  y ‬‬
‫}‬
‫}‬
‫‪Void p2  void ‬‬
‫{‬
‫{ ‪while  TRUE ‬‬
‫; ‪down  y ‬‬
‫; ‪print "B"‬‬
‫; ‪up  z ‬‬
‫}‬
‫}‬
‫‪A A A ... (2‬‬
‫‪ ۴‬ـ ﺑﺎ ﻛﺪام روش ﻣﻲﺗﻮان ﺑﻪﺻﻮرت ﺳﺎده و ﺳﻄﺢ ﺑﺎﻻ ﻣﺴﺎﺋﻞ ﮔﻮﻧﺎﮔﻮن ﻫﻤﮕﺎمﺳﺎزي را ﺣﻞ ﻛﺮد و ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ راﺣﺖﺗﺮ اﻳﺪهﻫﺎي ﺧﻮد را ﭘﻴﺎدهﺳﺎزي ﺧﻮاﻫﺪ‬
‫ﻛﺮد؟‬
‫‪ (2‬ﺳﻤﺎﻓﻮرﻫﺎي ﺷﻤﺎرﺷﻲ‬
‫‪ (1‬ﻣﺎﻧﻴﺘﻮر‬
‫‪ (3‬ﺗﺒﺎدل ﭘﻴﻐﺎم‬
‫‪ (4‬ﺳﻤﺎﻓﻮرﻫﺎي دودوﻳﻲ )‪(mutex‬‬
‫‪ ۵‬ـ اﮔﺮ ‪ 10‬ﻓﺮاﻳﻨﺪ ﺑﺎ ﻛﺪ زﻳﺮ ﺑﻪ ﺻﻮرت ﻫﻢ روﻧﺪ اﺟﺮا ﺷﻮﻧﺪ و ﻣﻘﺪار اوﻟﻴﻪ ﻣﺘﻐﻴﺮ ﻣﺸﺘﺮك ‪ s‬ﺑﺮاﺑﺮ ﺻﻔﺮ ﺑﺎﺷﺪ ﭘﺲ از اﺟﺮاي ﻛﺎﻣﻞ ﻫﺮ ‪ 10‬ﻓﺮاﻳﻨﺪ ﻣﻘﺪار ﻧﻬﺎﻳﻲ‬
‫‪ s‬ﭼﻪ ﻣﻘﺪاري ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﺷﺪ؟ ﻣﺘﻐﻴﺮ ‪ i‬ﻣﺤﻠﻲ اﺳﺖ‪.‬‬
‫‪2(1‬‬
‫‪1(2‬‬
‫‪for  i  0 ; i  5 ; i   ‬‬
‫‪6(3‬‬
‫;‪s  s  1‬‬
‫‪ (4‬ﻧﻪ ‪ 1‬وﻧﻪ ‪ 2‬ﻫﻴﭻﻛﺪام ﻧﻤﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار ﻧﻬﺎﻳﻲ ‪ s‬ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ ۶‬ـ ﭘﻨﺞ ﻓﺮاﻳﻨﺪ ‪ P1‬ﺗﺎ ‪ P5‬ﺑﺎ ﻛﺪ زﻳﺮ ﻣﻔﺮوضاﻧﺪ‪ .‬اﮔﺮ ‪ i‬ﻣﺘﻐﻴﺮ ﻣﺤﻠﻲ ﺑﻮده و ‪ m‬ﻣﺘﻐﻴﺮ ﺳﺮاﺳﺮي ﺑﺎ ﻣﻘﺪار اوﻟﻴﻪ ‪ 1‬ﻓﺮض ﺷﻮد ﭘﺲ از اﺟﺮاي ﻛﺎﻣﻞ اﻳﻦ ﭘﻨﺞ‬
‫ﻓﺮاﻳﻨﺪ )ﺑﻪ ﻃﻮر ﻫﻤﺮوﻧﺪ( ﺣﺪاﻗﻞ ﻣﻘﺪار ﻣﻤﻜﻦ ﺑﺮاي ‪ m‬ﭼﻘﺪر اﺳﺖ؟‬
‫‪3 (2‬‬
‫‪1 (1‬‬
‫‪for i :  1 to 15 do‬‬
‫‪31 (4‬‬
‫‪5 (3‬‬
‫;‪m :  m  2‬‬
‫‪ ٧‬ـ وﺿﻌﻴﺖ ﻧﺎاﻣﻦ در اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻧﻜﺪار ﻳﻌﻨﻲ‪:‬‬
‫‪ (1‬ﺑﻦﺑﺴﺖ رخ داده اﺳﺖ وﻟﻲ ﻫﻨﻮز ﻛﺸﻒ ﻧﺸﺪه اﺳﺖ‪.‬‬
‫‪ (2‬ﺑﻦﺑﺴﺖ رخ ﺧﻮاﻫﺪ داد ﻣﮕﺮ آﻧﻜﻪ ﻣﺮاﻗﺐ درﺧﻮاﺳﺖﻫﺎي ﺟﺪﻳﺪ ﺑﺎﺷﻴﻢ‪.‬‬
‫‪ (3‬ﺣﺘﻲ اﮔﺮ ﻣﺮاﻗﺐ درﺧﻮاﺳﺖﻫﺎي ﺟﺪﻳﺪ ﺑﺎﺷﻴﻢ ﺑﺎزﻫﻢ ﺑﻦﺑﺴﺖ رخ ﺧﻮاﻫﺪ دارد و دﻳﮕﺮ ﻛﺎر ﺗﻤﺎم اﺳﺖ‪.‬‬
‫‪ (4‬ﻫﻴﭽﻜﺪام‬
‫‪ ٨‬ـ ﻓﺮض ﻛﻨﻴﺪ ﺳﻴﺴﺘﻤﻲ ﺑﺎ ﺳﻪ ﻓﺮاﻳﻨﺪ و دو ﻧﻮع ﻣﻨﺒﻊ داراي وﺿﻌﻴﺖ زﻳﺮ اﺳﺖ‪ ،‬اﮔﺮ ﺑﺪاﻧﻴﻢ ﻛﻪ در آﻳﻨﺪه ﻧﺰدﻳﻚ ﻓﺮاﻳﻨﺪﻫﺎي ‪ P1‬و ‪ P3‬ﻫﺮ ﻛﺪام ﻳﻚ واﺣﺪ‬
‫‪ R 2‬را آزاد ﺧﻮاﻫﻨﺪ ﻛﺮد ﻛﺪام ﮔﺰﻳﻨﻪ ﺻﺤﻴﺢ اﺳﺖ؟‬
‫‪ (1‬وﺿﻌﻴﺖ ﻣﻮﺟﻮد ﻧﺎاﻣﻦ اﺳﺖ و ﺑﺎ آزادﺳﺎزي ﻣﻨﺎﺑﻊ وﺿﻌﻴﺖ اﻣﻦ‬
‫ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ (2‬وﺿﻌﻴﺖ ﻣﻮﺟﻮد ﻧﺎاﻣﻦ اﺳﺖ و ﺑﺎ آزادﺳﺎزي ﻣﻨﺎﺑﻊ ﻧﻴﺰ وﺿﻌﻴﺖ‬
‫ﻧﺎاﻣﻦ ﺑﺎﻗﻲ ﺧﻮاﻫﺪ ﻣﺎﻧﺪ‪.‬‬
‫‪ (3‬وﺿﻌﻴﺖ ﻣﻮﺟﻮد ﺑﻦﺑﺴﺖ اﺳﺖ و ﺑﺎ آزادﺳﺎزي ﻣﻨﺎﺑﻊ ﻧﻤﻲﺗﻮان‬
‫از ﺑﻦﺑﺴﺖ درآﻣﺪ‪.‬‬
‫‪ (4‬وﺿﻌﻴﺖ ﻣﻮﺟﻮد اﻣﻦ اﺳﺖ‪.‬‬
‫‪ R1 R 2 ‬‬
‫‪E 6 4 ‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ﻣﻮﺟﻮدي اوﻟﻴﻪ ﻣﻨﺎﺑﻊ‬
‫‪R2‬‬
‫‪R1‬‬
‫‪3‬‬
‫‪3‬‬
‫‪P1‬‬
‫‪4‬‬
‫‪3‬‬
‫‪P2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪P3‬‬
‫‪1‬‬
‫‪MAX‬‬
‫)ﺣﺪاﻛﺜﺮ ﻧﻴﺎز‬
‫ﻓﺮاﻳﻨﺪﻫﺎ(‬
‫‪R2‬‬
‫‪R1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪P1‬‬
‫‪1‬‬
‫‪P2‬‬
‫‪1‬‬
‫‪P3‬‬
‫‪Allocation‬‬
‫)ﻣﻨﺎﺑﻊ ﺗﺨﺼﻴﺺ ﻳﺎﻓﺘﻪ ﺑﻪ‬
‫ﻓﺮاﻳﻨﺪﻫﺎ(‬
‫‪ ٩‬ـ ﻛﺪامﻳﻚ از ﻻﻳﻪﻫﺎي ﻧﺮماﻓﺮاز ‪ I/O‬ﻫﻴﭻﮔﻮﻧﻪ ارﺗﺒﺎط ﻣﺴﺘﻘﻴﻤﻲ ﺑﺎ ﻛﻨﺘﺮل ﻛﻨﻨﺪهﻫﺎي دﺳﺘﮕﺎه ﻫﺎي ‪ I/O‬ﻧﺪارد؟‬
‫‪ (1‬ﮔﺮداﻧﻨﺪه دﺳﺘﮕﺎه) ‪ ( Device Driver‬و اداره ﻛﻨﻨﺪه وﻗﻔﻪ )‪(Interrupt Handler‬‬
‫‪ (2‬ﻧﺮماﻓﺰار ﻣﺴﺘﻘﻞ از دﺳﺘﮕﺎه ) ‪ ( Device Independent Software‬و ﺑﺨﺶ ‪ I/O‬ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮ‬
‫‪ (3‬ﮔﺮداﻧﻨﺪه دﺳﺘﮕﺎه و ﻧﺮماﻓﺰار ﻣﺴﺘﻘﻞ از دﺳﺘﮕﺎه‬
‫‪ (4‬ﮔﺮداﻧﻨﺪه دﺳﺘﮕﺎه و ﺑﺨﺶ ‪ I/O‬ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮ‬
‫‪ ١٠‬ـ ﺑﺨﺶ ‪ I/O‬ﻓﺮاﻳﻨﺪﻛﺎرﺑﺮ ﻳﻚ درﺧﻮاﺳﺖ ‪ I/O‬ﻣﻲدﻫﺪ و ﻣﺪﺗﻲ ﺑﻪ ﺧﻮاب ﻣﻲرود )ﻣﺴﺪود ﻣﻲﺷﻮد( ﺗﺎ ﻋﻤﻠﻴﺎت ‪ I/O‬اﻧﺠﺎم ﺷﻮد و ﺑﻴﺪار ﺷﻮد‪ .‬در ﻛﻞ‬
‫اﻳﻦ ﻋﻤﻠﻴﺎت‪ ،‬ﺣﺪاﻗﻞ ﭼﻨﺪ وﻗﻔﻪ ﺑﺮاي اﻳﻦ ﻋﻤﻞ ‪ I/O‬رخ داده اﺳﺖ و ازﭼﻪ ﻧﻮﻋﻲ؟‬
‫‪ (1‬دو وﻗﻔﻪ‪ :‬ﻳﻜﻲ ﻧﺮماﻓﺰاري و ﻳﻜﻲ ﺳﺨﺖ اﻓﺰاري‬
‫‪ (2‬ﻳﻚ وﻗﻔﻪ ﻧﺮماﻓﺰاري‬
‫‪ (4‬ﻳﻚ وﻗﻔﻪ ﺳﺨﺖاﻓﺰاري‬
‫‪ (3‬دو وﻗﻔﻪ ﺳﺨﺖاﻓﺰاري‬
‫‪ ١١‬ـ ﻛﺪامﻳﻚ از ﻣﻮارد ذﻳﻞ از راﻫﻜﺎرﻫﺎي ﻣﻬﻨﺪﺳﻴﻦ در ﻣﻘﺎﺑﻞ ﺑﻦﺑﺴﺖ ﺑﻪ ﺷﻤﺎر ﻧﻤﻲآﻳﺪ؟‬
‫‪ (1‬ﺑﺮدرﺧﻮاﺳﺖﻫﺎ ﻧﻈﺎرت داﺷﺘﻪ ﺑﺎﺷﻴﻢ و درﻫﻨﮕﺎم وﻗﻮع ﺑﻦﺑﺴﺖ ﺣﺪاﻗﻞ ﻳﻚ ﻓﺮاﻳﻨﺪ را ﺑﻜﺸﻴﻢ )‪ (Kill‬و ﻣﻨﺎﺑﻊ آن را رﻫﺎ ﺳﺎزﻳﻢ‪.‬‬
‫‪ (2‬ﻣﺤﺪودﻳﺖﻫﺎﻳﻲ را ﺑﺮﻓﺮاﻳﻨﺪﻫﺎ اﻋﻤﺎل ﻛﻨﻴﻢ ﺗﺎ از ﻧﻈﺮ ﺳﺎﺧﺘﺎري وﻗﻮع ﺑﻦ ﺑﺴﺖ ﻏﻴﺮ ﻣﻤﻜﻦ ﮔﺮدد‪.‬‬
‫‪ (3‬ﻗﺒﻞ از ﺗﺨﺼﻴﺺ ﻣﻨﺎﺑﻊ ﺑﻪ درﺧﻮاﺳﺖﻛﻨﻨﺪهﻫﺎ آﻧﺎﻟﻴﺰ ﻛﻨﻴﻢ و ﺑﺒﻨﻴﻢ ﻛﻪ آﻳﺎ ﺗﺨﺼﻴﺺ ﻣﻨﺎﺑﻊ ﻣﺎ را ﺑﻪ وﺿﻌﻴﺖ رﻳﺴﻚ و ﺧﻄﺮ اﺣﺘﻤﺎل و ﻗﻮع ﺑﻦﺑﺴﺖ ﻣﻲﺑﺮد ﻳﺎ‬
‫ﺧﻴﺮ؟‬
‫‪ (4‬ﺑﺎ اﻓﺰاﻳﺶ ﺗﻌﺪاد ﻣﻨﺎﺑﻊ ﺑﻪ ﺣﺪ ﻛﺎﻓﻲ ﺷﺮاﻳﻄﻲ را ﺑﻪ وﺟﻮد آورﻳﻢ ﻛﻪ اﺻﻮﻻ ﺑﻦﺑﺴﺖ ﻏﻴﺮ ﻣﻤﻜﻦ ﺷﻮد‪.‬‬
‫‪ ١٢‬ـ ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﻦﺑﺴﺖ ﻣﻨﺎﺑﻊ ﺑﻪ ﻛﺪامﻳﻚ از ﻣﻮارد ذﻳﻞ ﻧﻴﺎز دارﻳﻢ؟ ﻫﻤﭽﻨﻴﻦ ﺑﺮاي ﺗﺸﺨﻴﺺ اﻣﻦ ﻳﺎ ﻧﺎاﻣﻦ ﺑﻮدن وﺿﻌﻴﺖ ﺑﻪ ﻛﺪامﻳﻚ ﻧﻴﺎز دارﻳﻢ؟‬
‫‪ (I‬ﻣﻨﺎﺑﻊ ﺗﺨﺼﻴﺺ ﻳﺎﻓﺘﻪ ﺑﻪ ﻓﺮاﻳﻨﺪﻫﺎ ) ﻣﺎﺗﺮﻳﺲ ‪( Allocated‬‬
‫‪ (II‬ﺑﺎﻗﻴﻤﺎﻧﺪه ﻧﻴﺎز ﻓﺮاﻳﻨﺪﻫﺎ ﺑﻪ ﻣﻨﺎﺑﻊ )ﻣﺎﺗﺮﻳﺲ ‪( Need‬‬
‫‪ (III‬ﻣﻨﺎﺑﻊ در دﺳﺘﺮس و آزاد ) ﺑﺮدار ‪( Available‬‬
‫‪ ( IV‬درﺧﻮاﺳﺖﻫﺎي ﻗﺒﻼً ارﺳﺎل ﺷﺪه از ﻃﺮف ﻓﺮاﻳﻨﺪﻫﺎ ﺑﺮاي ﺗﺨﺼﻴﺺ ﻣﻨﺎﺑﻊ ﻛﻪ ﻫﻨﻮز اﺟﺎﺑﺖ ﻧﺸﺪهاﻧﺪ‪ ) .‬ﻣﺎﺗﺮﻳﺲ ‪( Request‬‬
‫‪ (1‬ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﻦﺑﺴﺖ‪ IV, III, II, I :‬ﺑﺮاي ﺗﺸﺨﻴﺺ وﺿﻌﻴﺖ اﻣﻦ‪III, II, I :‬‬
‫‪ (2‬ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﻦﺑﺴﺖ‪ IV, III, I :‬ﺑﺮاي ﺗﺸﺨﻴﺺ وﺿﻌﻴﺖ اﻣﻦ‪III, II, I :‬‬
‫‪ (3‬ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﻦﺑﺴﺖ‪ IV, III, II, I :‬ﺑﺮاي ﺗﺸﺨﻴﺺ وﺿﻌﻴﺖ اﻣﻦ‪IV, III, II, I :‬‬
‫‪ (4‬ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﻦﺑﺴﺖ ‪ IV, III, I :‬ﺑﺮاي ﺗﺸﺨﻴﺺ وﺿﻌﻴﺖ اﻣﻦ‪IV, III, II, I :‬‬
‫‪ ١٣‬ـ در ﻣﻮرد ﭘﻴﺸﮕﻴﺮي از ﺑﻦﺑﺴﺖ ﭘﻴﺎدهﺳﺎزي ﻛﺪامﻳﻚ از ﻣﻮارد ذﻳﻞ اﻣﻜﺎنﭘﺬﻳﺮ اﺳﺖ؟ )دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ادﻋﺎ ﻧﺸﺪه اﺳﺖ ﻛﻪ از ﺑﻦﺑﺴﺖ اﻟﺰاﻣﺎً ﭘﻴﺸﮕﻴﺮي‬
‫ﻣﻲﻛﻨﻴﻢ‪(.‬‬
‫‪ Spool (1‬ﻛﺮدن ﺑﺮﺧﻲ از ﻣﻨﺎﺑﻊ ﻣﺎﻧﻨﺪ ﭼﺎﭘﮕﺮ‬
‫‪ (2‬درﺧﻮاﺳﺖ ﺗﻤﺎﻣﻲ ﻣﻨﺎﺑﻊ ﻣﻮرد ﻧﻴﺎز در اﺑﺘﺪاي ﻓﺮاﻳﻨﺪ‬
‫‪ (3‬ﺷﻤﺎرهﮔﺬاري ﻣﻨﺎﺑﻊ ودر ﺧﻮاﺳﺖ آنﻫﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﺧﺎص )ﻣﺜﻼ ﺻﻌﻮدي(‬
‫‪ (4‬ﺑﺎزﭘﺲﮔﻴﺮي ﭘﻴﺶ ﻫﻨﮕﺎم ﻣﻨﺎﺑﻊ‬
‫‪ ١۴‬ـ اﮔﺮ ﭘﻨﺞ ﻓﺮاﻳﻨﺪ ‪ P5,P4,P3,P2,P1‬ﻫﺮﻛﺪام ﺑﻪ ﺗﺮﺗﻴﺐ ﺣﺪاﻛﺜﺮ ﺑﻪ ‪ 5,4,3,2,1‬ﻣﻨﺒﻊ ﻧﻴﺎز داﺷﺘﻪ ﺑﺎﺷﻨﺪ )ﻣﻨﺎﺑﻊ ﻳﻜﺴﺎن و ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻣﺠﺪد و‬
‫اﻧﺤﺼﺎري و داراي ﺷﺮط اﻧﺤﺼﺎر ﻣﺘﻘﺎﺑﻞاﻧﺪ( ﺣﺪاﻗﻞ ﺗﻌﺪاد ﻣﻨﺎﺑﻊ ﭼﻘﺪر ﺑﺎﺷﺪ ﺗﺎ ﻫﺮﮔﺰ ﺑﻦﺑﺴﺖ رخ ﻧﺪﻫﺪ؟‬
‫‪12(4‬‬
‫‪9(3‬‬
‫‪11(2‬‬
‫‪10 (1‬‬
‫‪ ١۵‬ـ ‪3‬ﻓﺮاﻳﻨﺪ ‪ P3,P2,P1‬و ﺳﻪ ﻧﻮع ﻣﻨﺒﻊ ‪ R3,R2,R1‬ﻣﻔﺮوض اﺳﺖ‪ .‬اﮔﺮ ﻣﺎﺗﺮﻳﺲ ‪ Allocation‬ﻣﻌﺮف ﻣﻨﺎﺑﻌﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻓﺮاﻳﻨﺪﻫﺎ ﺗﺨﺼﻴﺺ داده‬
‫ﺷﺪه اﺳﺖ و ﺑﺮدار ‪ A‬ﻣﻨﺎﺑﻊ آزاد در دﺳﺘﺮس را ﻧﺸﺎن ﻣﻲدﻫﺪ و ﻣﺎﺗﺮﻳﺲ ‪ Request‬ﺑﻴﺎﻧﮕﺮ درﺧﻮاﺳﺖﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در ﮔﺬﺷﺘﻪ داده ﺷﺪه‬
‫اﺳﺖ وﺿﻌﻴﺖ زﻳﺮ‪:‬‬
‫‪R 2 R3‬‬
‫‪0‬‬
‫‪0‬‬
‫‪R3‬‬
‫‪0‬‬
‫‪R1‬‬
‫‪1‬‬
‫‪A‬‬
‫‪R1 R 2‬‬
‫‪0‬‬
‫‪1‬‬
‫‪P1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪P2‬‬
‫‪0‬‬
‫‪2‬‬
‫‪0‬‬
‫‪P2‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪P3‬‬
‫‪2‬‬
‫‪0‬‬
‫‪2‬‬
‫‪P3‬‬
‫‪Re quest‬‬
‫‪ (1‬ﻧﺎاﻣﻦ اﺳﺖ وﻟﻲ ﺑﻦﺑﺴﺖ ﻧﻴﺴﺖ‪.‬‬
‫‪ (3‬ﺑﻦﺑﺴﺖ اﺳﺖ‪.‬‬
‫‪P1‬‬
‫‪R3‬‬
‫‪2‬‬
‫‪R1 R 2‬‬
‫‪2‬‬
‫‪0‬‬
‫‪Allocation‬‬
‫‪ (2‬اﻣﻦ اﺳﺖ‪.‬‬
‫‪ (4‬ﻫﻴﭻﻛﺪام‬
‫‪ ١۶‬ـ اﮔﺮ درﺧﻮاﺳﺖﻫﺎﻳﻲ ﺑﺮاي دﻳﺴﻚ ﺑﻪ ﺗﺮﺗﻴﺐ از ﭼﭗ ﺑﻪ راﺳﺖ درﻣﻮرد ﺳﻴﻠﻨﺪرﻫﺎي ‪ 11,20,24,40,6,34,2‬ﺑﻪ ﮔﺮداﻧﻨﺪه رﺳﻴﺪه ﺑﺎﺷﻨﺪ و زﻣﺎن‬
‫ﺟﺴﺘﺠﻮ ﺑﺮاي ﻫﺮ ﺣﺮﻛﺖ ﺳﻴﻠﻨﺪر ‪ 6‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ ﺑﺎﺷﺪ ﺑﺎ ﻓﺮض اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ‪) SSTF‬اﺑﺘﺪا ﻛﻮﺗﺎﻫﺘﺮﻳﻦ زﻣﺎن ﺟﺴﺘﺠﻮ( و اﻳﻨﻜﻪ ﻣﻮﻗﻌﻴﺖ اوﻟﻴﻪ روي‬
‫ﺳﻴﻠﻨﺪر ‪ 15‬اﺳﺖ ﻛﻞ زﻣﺎن ﺟﺴﺘﺠﻮ ﭼﻘﺪر ﺧﻮاﻫﺪ ﺑﻮد؟‬
‫‪ 318(4‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ‬
‫‪ 294(3‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ‬
‫‪ 300(2‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ‬
‫‪ 306 (1‬ﻣﻴﻠﻲﺛﺎﻧﻴﻪ‬
‫ﺗﻮﺿﻴﺤﺎت‪:‬‬
‫‪‬‬
‫ﻟﻄﻔﺎ ﺑﺮاي ﻫﺮ ﺳﻮال‪ ،‬ﭘﺎﺳﺦ ﺗﺸﺮﻳﺤﻲ و ﻛﺎﻣﻞ اراﺋﻪ دﻫﻴﺪ‪.‬ﺳﻮاﻻت ﺣﻞ ﺷﺪﻧﻲ ﻣﻲ ﺑﺎﻳﺴﺘﻲ ﺑﻪ ﺻﻮرت ﻛﺎﻣﻞ ﺣﻞ ﺷﺪه و ﺳﻮاﻻت ﺗﻮﺿﻴﺤﻲ ﻣﻲ ﺑﺎﻳﺴﺘﻲ‬
‫ﺷﺎﻣﻞ ﺗﻮﺟﻴﻪ دﻗﻴﻖ و ﻣﻨﻄﻘﻲ ﺑﺎﺷﺪ‪ .‬ﺗﻨﻬﺎ اﺷﺎره ﺑﻪ ﮔﺰﻳﻨﻪ ي ﺻﺤﻴﺢ ﻣﺸﻤﻮل ﻧﻤﺮه اي ﻧﺨﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪‬‬
‫ﺣﻞ ﻣﺴﺎﺋﻞ ﻣﻲ ﺑﺎﻳﺴﺘﻲ ﺑﻪ ﺻﻮرت اﻧﻔﺮادي ﺻﻮرت ﮔﻴﺮد و ﭘﺎﺳﺦ ﻫﺎي ﻣﺸﺎﺑﻪ ﻣﺸﻤﻮل ﻛﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪‬‬
‫ﭘﺎﺳﺦ ﻫﺎي ﺧﻮد را ﭼﻪ ﺑﻪ ﺻﻮرت ﺗﺎﻳﭙﻲ ﻳﺎ دﺳﺖ ﻧﻮﻳﺲ ﺑﻪ آدرس ‪ [email protected]‬ارﺳﺎل ﻛﻨﻴﺪ‪ .‬ﻣﻮﺿﻮع و ﻧﺎم ﻓﺎﻳﻞ ارﺳﺎﻟﻲ ﺧﻮد‬
‫ﺗﺮﻛﻴﺐ ﺷﻤﺎره داﻧﺸﺠﻮﺋﻲ و ‪ HW3‬ﺑﺎﺷﺪ‪.‬ﺑﻪ ﻃﻮر ﻣﺜﺎل ‪.88111111HW3‬‬
‫‪‬‬
‫ﻣﺠﻤﻮع ‪ 4‬روز ﺗﺎﺧﻴﺮ ﺑﺮاي ﺗﻤﺎم ﺗﻤﺎرﻳﻦ ﭘﺎ ﺑﺮﺟﺎﺳﺖ‪ ،‬ﺗﻮﺻﻴﻪ ﻣﻲ ﺷﻮد ﻛﻪ اﻓﺮادي ﻛﻪ در ارﺳﺎل ﺗﻤﺎرﻳﻦ ﮔﺬﺷﺘﻪ ‪ 4‬روز ﺗﺎﺧﻴﺮ را اﺳﺘﻔﺎده ﻛﺮده اﻧﺪ ﺳﺮ‬
‫ﻣﻮﻋﺪ ﻣﻘﺮر ﺗﻤﺮﻳﻦ را ارﺳﺎل ﻛﻨﻨﺪ‪.‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬