0% found this document useful (0 votes)
39 views13 pages

OS

Solution to operating system questions

Uploaded by

hb.hosna077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views13 pages

OS

Solution to operating system questions

Uploaded by

hb.hosna077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

‫‪God‬‬

‫‪۹۸۰۱۲۲۶۸۰۰۱۹‬‬ ‫ﺣﺴﻨﺎ ﺣﺒﯿ)(‬


‫ﺗﻤ‪32‬ﻦ ﭼ‪6‬ﺎرم‬

‫ﺳﻮال اول(‬
‫‪f‬‬
‫‪ ،Emulation‬ﻓﺮآﯾﻨﺪی اﺳﺖ ﮐﻪ ‪R‬ﻪ ‪S‬ﮏ ﺳ‪U‬ﺴﺘﻢ اﻟ‪Z[Y‬وﻧ]^ اﺟﺎزە ﻣ]ﺪﻫﺪ ﮐﻪ و‪3‬ﮋ‪g e‬ﺎری‬
‫ﻣﺸﺎﺑ‪R j‬ﺎ ﺳﺎﯾﺮ ﺳ‪U‬ﺴﺘﻢ ﻫﺎی ‪g‬ﺎﻣﭙﯿﻮﺗﺮی داﺷﺘﻪ ‪R‬ﺎﺷﺪ‪ ،‬اﻣﺎ ‪ ،simulation‬ﮐ‪ (o‬ﮐﺮدن ﻣﺪل‬
‫اﻧ [ ‪Zq‬ا‪S r‬ﮏ ﺳ‪U‬ﺴﺘﻢ ‪g‬ﺎﻣﭙﯿﻮﺗﺮی ﺧﺎص اﺳﺖ‪.‬‬
‫ﻫﺪف از ‪ ،emulation‬ﺗﮑﺮار ﺗﺠ‪z2‬ﻪ اﺳﺘﻔﺎدە از ﺳﺨﺖ اﻓﺰار و ‪S‬ﺎ ﻧﺮم اﻓﺰار اور‪3‬ﺠﯿﻨﺎل اﺳﺖ‪،‬‬
‫‪f‬‬
‫اﻣﺎ ﻫﺪف ‪ simulation‬ا‪S‬ﺠﺎد ‪S‬ﮏ ﻣﺤ]ﻂ ﻋﻤ• و ا‪S‬ﻤﻦ اﺳﺖ ﮐﻪ در آن ﺑﺘﻮاﻧ]ﻢ ﻫﺮ و‪3‬ﮋ‪ e‬را‬
‫آزﻣﺎ‚ﺶ ﮐﻨ]ﻢ‪ emulation .‬ﺑﺮای ﺗﻘﻠ]ﺪ رﻓﺘﺎر ‪S‬ﮏ ﺑﺮﻧﺎﻣﻪ ‪S‬ﺎ دﺳﺘ†ﺎە د‪S‬ﮕﺮ‪ ،‬اﺟﺮای ﺳ‪U‬ﺴﺘﻢ‬
‫ﻋﺎﻣﻞ در ‪‰‬ﻠﺖ ﻓﺮم ﺳﺨﺖ اﻓﺰاری و ﻏ‹‪Z‬ە اﺳﺘﻔﺎدە ﻣ‪U‬ﺸﻮد اﻣﺎ ‪ simulator‬ﺑﺮای ﭘ‪U‬ﺸ‪Ž‬ﯿ‪ (q‬رﻓﺘﺎر‬
‫آﯾﻨﺪە ﺳ‪U‬ﺴﺘﻢ‪ ،‬ﻣﻄﺎﻟﻌﻪ رﻓﺘﺎر دﯾﻨﺎﻣ]^ اﺷ]ﺎ ‪S‬ﺎ ﺳ‪U‬ﺴﺘﻢ ﻫﺎ‪ ،‬ﺷ‪]Ž‬ﻪ ﺳﺎزی ﻓﻨﺎوری ﺑﺮای آزﻣﺎ‚ﺶ‪،‬‬
‫آﻣﻮزش و ﻏ‹‪Z‬ە اﺳﺘﻔﺎدە ﻣ‪U‬ﺸﻮد‪.‬‬
‫‪q‬‬
‫‪R ،Emulation‬ﻪ دﻟ]ﻞ اﯾﻨﮑﻪ ﺷﺎﻣﻞ ﺗﺮﺟﻤﻪ ‪R‬ﺎﯾ‪Z‬ی )‪ (binary translation‬اﺳﺖ‪ ،‬ﮐﻨﺪ ﺗﺮ‬
‫اﺳﺖ‪ .‬در واﻗﻊ ‪ simulator‬ﻫﺎ —‪3‬ـ ـﻊ ﺗﺮ از ‪ emulator‬ﻫﺎ ﻋﻤﻞ ﻣ]ﮑﻨﻨﺪ‪.‬‬
‫‪S š‬ﺎ ز‪z‬ﺎن اﺳﻤ›• ﻧﻮﺷﺘﻪ ﻣ‪U‬ﺸﻮﻧﺪ ز‪3‬ﺮا ‪S‬ﮏ ‪emulator‬‬ ‫‪ Emulator‬ﻫﺎ ﻋﻤﺪﺗﺎ در ﺳﻄﺢ ﻣﺎﺷ ‹ ‪q‬‬
‫‪f‬‬
‫ﺳ‪ œ‬ﻣ]ﮑﻨﺪ ﺗﻤﺎم و‪3‬ﮋ‪ e‬ﻫﺎی ﺳﺨﺖ اﻓﺰاری و ﻧﺮم اﻓﺰاری ‪S‬ﮏ ﻣﺤ]ﻂ ﺗﻮﻟ]ﺪ را ﺗﻘﻠ]ﺪ ﮐﻨﺪ •ﺲ‬
‫ﻋﻤﺪﺗﺎ ﺑﺮای دﺳ‪]Ÿ‬ﺎ ) ‪R‬ﻪ آن ﻧ]ﺎز ‪R‬ﻪ اﺳﺘﻔﺎدە از ز‪z‬ﺎن اﺳﻤ›• دار‪3‬ﻢ‪ .‬اﻣﺎ ﻣﺎ اﻏﻠﺐ از ز‪z‬ﺎن ﺳﻄﺢ‬
‫‪R‬ﺎﻻﺗﺮی ﺑﺮای ﺗﻮﺳﻌﻪ ‪ simulator‬ﻫﺎ اﺳﺘﻔﺎدە ﻣ]ﮑﻨ]ﻢ ز‪3‬ﺮا آن ﻫﺎ ﻓﻘﻂ ﻣﺤ]ﻂ ﻫﺎی ﻧﺮم اﻓﺰاری‬
‫‪ š‬دﯾ›ﺎ‪ £‬ﮐﺮدن ‪ simulation‬راﺣﺖ ﺗﺮ از ‪ emulation‬اﺳﺖ‪.‬‬ ‫را ا‪S‬ﺠﺎد ﻣ]ﮑﻨﻨﺪ‪ .‬ﻫﻢ ﭼﻨ ‹ ‪q‬‬
‫از ﻣﺰا‪S‬ﺎی ‪ emulation‬ﻣﯿﺘﻮان ‪R‬ﻪ ﮐ]ﻔ]ﺖ ﮔﺮاﻓ]^ ﺑ‪¥ ،Z[6‬ﻓﻪ ﺟﻮ ¦ در ﻓﻀﺎ‪ ،‬ﺷ‪]Ž‬ﻪ ﺳﺎزی‬
‫‪R‬ﺎزی ﻫﺎی و‪3‬ﺪﺋﻮ ¦ ‪ ،‬اﻓﺰودن اﻓﮑﺖ •ﺲ از ﭘﺮدازش و ‪ ...‬اﺷﺎرە ﮐﺮد‪.‬‬
‫‪q‬‬
‫از ﻣﺰا‪S‬ﺎی ‪ simulation‬ﻣﯿﺘﻮان ‪R‬ﻪ اﻓﺰا‚ﺶ ا‪S‬ﻤ‪ (q‬و ‪g‬ﺎرا ¦ ‪ ،‬ﺟﻠﻮﮔ‹‪Z‬ی از ﺧﻄﺮ و ﺗﻠﻔﺎت ﺟﺎ ‪،‬‬
‫ﻣﻄﺎﻟﻌﻪ دﻗﯿﻖ ﺗﺮ و ‪ ...‬اﺷﺎرە ﮐﺮد‪.‬‬

‫ﺳﻮال دوم(‬
‫در ‪ ،spooling‬ﺑ‪U‬ﺶ از ‪S‬ﮏ ﻋﻤﻠ]ﺎت ‪ I/O‬را ﻣﯿﺘﻮان ‪R‬ﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن اﻧﺠﺎم داد‪S .‬ﻌ‪ (q‬زﻣﺎ ‪q‬‬
‫ﮐﻪ ‪ CPU‬در ﺣﺎل اﺟﺮای ﺑﺮ‪ ´q‬از ﻓﺮآﯾﻨﺪ ﻫﺎﺳﺖ‪ ،‬ﺑ‪U‬ﺶ از ‪S‬ﮏ ﻋﻤﻠ]ﺎت ‪ I/O‬ﻧ ‹ ‪ Zq‬ﻣﯿﺘﻮاﻧﺪ‬
‫ﻫﻤﺰﻣﺎن اﻧﺠﺎم ﺷﻮد‪.‬‬
‫‪ š‬از‬ ‫‪ š‬ﺣ‹ ‪q‬‬
‫ﺑﻨﺎﺑﺮاﯾﻦ از ‪ ۰‬ﺗﺎ ‪ ۶‬ورود ‪ p1‬اﺳﺖ‪ .‬از ‪ ۶‬ﺗﺎ ‪g ۱۰‬ﺎر ﭘﺮدازﺷﺶ اﻧﺠﺎم ﻣ‪U‬ﺸﻮد و در ﻫﻤ ‹ ‪q‬‬
‫‪ ۶‬ﺗﺎ ‪ p2 ۸‬وارد ﻣ‪U‬ﺸﻮد‪ .‬از ‪ ۸‬ﺗﺎ ‪ ۱۴‬ﻫﻢ ‪ p3‬وارد ﻣ‪U‬ﺸﻮد‪ .‬از ‪ ۱۰‬ﺗﺎ ‪ p1 ۱۱‬ﺧﺎرج ﻣ‪U‬ﺸﻮد و از‬
‫‪ š‬از ‪ ۱۴‬ﺗﺎ ‪۱۷‬‬ ‫‪ š‬ﺣ‹ ‪q‬‬
‫‪ ۱۰‬ﺗﺎ ‪ p2 ۱۲‬ﭘﺮدازش ﻣ‪U‬ﺸﻮد‪ .‬از ‪ ۱۲‬ﺗﺎ ‪ p2 ۱۵‬ﺧﺎرج ﻣ‪U‬ﺸﻮد و در ﻫﻤ ‹ ‪q‬‬
‫ﭘﺮدازش ‪ p3‬ﻃﻮل ﻣ]ﮑﺸﺪ‪ .‬از ‪ ۱۷‬ﺗﺎ ‪ ۱۹‬ﻫﻢ ‪ p3‬ﺧﺎرج ﻣ‪U‬ﺸﻮد‪• .‬ﺲ ‪ ۱۹‬واﺣﺪ زﻣﺎ ‪ q‬ﻃﻮل‬
‫ﻣ]ﮑﺸﺪ ﺗﺎ ﻫﺮ ﺳﻪ ﻓﺮاﯾﻨﺪ ‪R‬ﻪ ﻃﻮر ‪g‬ﺎﻣﻞ اﻧﺠﺎم ﺷﻮﻧﺪ‪.‬‬

‫ﺳﻮال ﺳﻮم(‬
‫از ﻣﺰا‪S‬ﺎی ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی ﻻ‪S‬ﻪ ای ﻣﯿﺘﻮان ‪R‬ﻪ ﻣﻮارد ز‪3‬ﺮ اﺷﺎرە ﮐﺮد‪:‬‬
‫‪q‬‬
‫‪.۱‬ﻣﺎژوﻻر ﺑﻮدن‪ :‬اﯾﻦ ﻃﺮا´ ﺳ¿ﺐ ارﺗﻘﺎی ﻣﺎژوﻻر ﺑﻮدن ﻣ‪U‬ﺸﻮد ز‪3‬ﺮا ﻫﺮ ﻻ‪S‬ﻪ ﻓﻘﻂ وﻇﺎ‪ ÁS‬را‬
‫ﮐﻪ ﺑﺮای اﻧﺠﺎم آن ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی ﺷﺪە اﺳﺖ را اﻧﺠﺎم ﻣ]ﺪﻫﺪ‪.‬‬
‫‪.۲‬دﯾ›ﺎ‪ £‬ﮐﺮدن آﺳﺎن ﺗﺮ‪R :‬ﻪ دﻟ]ﻞ ﮔﺴﺴﺘﻪ ﺑﻮدن ﻻ‪S‬ﻪ ﻫﺎ‪ ،‬دﯾ›ﺎ‪ £‬ﮐﺮدن ‪Â‬ﺴ]ﺎر آﺳﺎن ﺗﺮ ﻣ‪U‬ﺸﻮد‪.‬‬
‫ﻣﺜﻼ ا‪Å‬ﺮ ﺧﻄﺎ ¦ در ﻻ‪S‬ﻪ زﻣﺎﻧ‪Ž‬ﻨﺪی ‪ CPU‬رخ ‪R‬ﺪﻫﺪ‪ ،‬ﺗﻮﺳﻌﻪ دﻫﻨﺪە ﻣﯿﺘﻮاﻧﺪ ﻓﻘﻂ آن ﻻ‪S‬ﻪ‬
‫ﺧﺎص را ﺑﺮای دﯾ›ﺎ‪ £‬ﮐﺮدن ﺟﺴﺘﻮﺟﻮ ﮐﻨﺪ‪.‬‬
‫‪.۳‬آ‪‰‬ﺪ‪S‬ﺖ ﺷﺪن آﺳﺎن ﺗﺮ‪ :‬ﺗﻐﯿ‹‪Z‬ی ﮐﻪ روی ‪S‬ﮏ ﻻ‪S‬ﻪ ﺧﺎص اﻧﺠﺎم ﺷﻮد‪ ،‬روی ﺳﺎﯾﺮ ﻻ‪S‬ﻪ ﻫﺎ‬
‫ﺗﺎﺛ‹‪ Z‬ﻧﺨﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪.۴‬ﻋﺪم دﺳ[‪ ÊZ‬ﻣﺴﺘﻘ]ﻢ ‪R‬ﻪ ﺳﺨﺖ اﻓﺰار‪ :‬ﻻ‪S‬ﻪ ﺳﺨﺖ اﻓﺰار داﺧ• ﺗ‪32‬ﻦ ﻻ‪S‬ﻪ ﻣﻮﺟﻮد در‬
‫ﻃﺮا´ اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ‪g‬ﺎر‪z‬ﺮ ﻣﯿﺘﻮاﻧﺪ از ﺧﺪﻣﺎت ﺳﺨﺖ اﻓﺰاری اﺳﺘﻔﺎدە ﮐﻨﺪ اﻣﺎ ﻧﻤﯿﺘﻮاﻧﺪ‬
‫ﻣﺴﺘﻘ]ﻤﺎ ‪R‬ﻪ آن دﺳ[‪ ÊZ‬داﺷﺘﻪ ‪R‬ﺎﺷﺪ و ‪S‬ﺎ آن را ﺗﻐﯿ‹‪ Z‬دﻫﺪ‪.‬‬
‫‪ .۵‬ﻫﺮ ﻻ‪S‬ﻪ ‪R‬ﺎ ﻋﻤﻠ‪Y‬ﺮد ﺧﺎص ﺧﻮد —و‪g‬ﺎر دارد‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ﺗﻮاﺑﻊ و ﭘ]ﺎدە ﺳﺎزی ﻻ‪S‬ﻪ ﻫﺎی د‪S‬ﮕﺮ‬
‫ﺑﺮای آن اﻧ [ ‪Zq‬ا‪ r‬ﻫﺴ‪Ÿ‬ﻨﺪ‪.‬‬
‫ﻣﻌﺎ‪S‬ﺐ‪:‬‬
‫‪.۱‬اﺟﺮای ﭘ]ﭽ]ﺪە و دﻗﯿﻖ‪R :‬ﻪ دﻟ]ﻞ اﯾﻨﮑﻪ ‪S‬ﮏ ﻻ‪S‬ﻪ ﻣﯿﺘﻮاﻧﺪ ‪R‬ﻪ ﺧﺪﻣﺎت ﻻ‪S‬ﻪ ﻫﺎی ز‪3‬ﺮ ﺧﻮد‬
‫دﺳ[‪ ÊZ‬داﺷﺘﻪ ‪R‬ﺎﺷﺪ‪ ،‬ﭼ]ﺪﻣﺎن ﻻ‪S‬ﻪ ﻫﺎ ‪R‬ﺎ‪S‬ﺪ ‪R‬ﺎ دﻗﺖ اﻧﺠﺎم ﺷﻮد ﺑﻨﺎﺑﺮاﯾﻦ ﭘ]ﺎدە ﺳﺎزی ﭘ]ﭽ]ﺪە‬
‫ای ‪R‬ﻪ وﺟﻮد ﻣ]ﺎ‪S‬ﺪ‪.‬‬
‫‪.۲‬ﮐﻨﺪ ﺗﺮ در اﺟﺮا‪ :‬ا‪Å‬ﻪ ﻻ‪S‬ﻪ ای ‪R‬ﺨﻮاﻫﺪ ‪R‬ﺎ ﻻ‪S‬ﻪ ی د‪S‬ﮕﺮی ﺗﻌﺎﻣﻞ داﺷﺘﻪ ‪R‬ﺎﺷﺪ‪ ،‬درﺧﻮاﺳ[( را‬
‫‪ š‬دو ﻻ‪S‬ﻪ ﺗﻌﺎﻣ• ﻋﺒﻮر ﮐﻨﺪ‪ .‬ﮐﻪ اﯾﻦ‬ ‫ارﺳﺎل ﻣ]ﮑﻨﺪ ﮐﻪ ‪R‬ﺎ‪S‬ﺪ از ﺗﻤﺎم ﻻ‪S‬ﻪ ﻫﺎی ﻣﻮﺟﻮد در ﺑ ‹ ‪q‬‬
‫ﻣﻮﺿ‪Í‬ع زﻣﺎن ‪‰‬ﺎﺳﺦ را اﻓﺰا‚ﺶ ﻣ]ﺪﻫﺪ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ اﻓﺰا‚ﺶ ﺗﻌﺪاد ﻻ‪S‬ﻪ ﻫﺎ ﻣﻤﮑﻦ اﺳﺖ ﻣﻨﺠﺮ ‪R‬ﻪ‬
‫ﻃﺮا´ ‪Â‬ﺴ]ﺎر ﻧﺎ‪Ð‬ﺎرآﻣﺪی ‪Â‬ﺸﻮد‪.‬‬
‫‪ .۳‬ﻫﺮ ﭼﻪ ﺗﻌﺪاد ﻻ‪S‬ﻪ ﺑ‪U‬ﺸ[‪R Z‬ﺎﺷﺪ ر‪Ñ‬ﺴﮏ ﺧﺮا ) ‪S‬ﺎ ‪Ò‬ﻢ ﺷﺪن ‪ data‬ﻫﻢ ﺑ‪U‬ﺸ[‪ Z‬ﻣ‪U‬ﺸﻮد‪.‬‬
‫‪ š‬ﺳ‪U‬ﺴﺘﻢ ﻻ‪S‬ﻪ ای ﺑﻮد و ‪ ۶‬ﻻ‪S‬ﻪ داﺷﺖ را ﻣﯿﺘﻮان ‪R‬ﻪ ﻋﻨﻮان‬ ‫‪ Windows NT‬و ‪ THE‬ﮐﻪ اوﻟ ‹ ‪q‬‬
‫‪.UNIX š‬‬ ‫ﻧﻤﻮﻧﻪ ﻫﺎ از ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی ﻻ‪S‬ﻪ ای ﻧﺎم ﺑﺮد و ﻫﻤﭽﻨ ‹ ‪q‬‬
‫¦‬

‫ﺳﻮال ﭼ‪6‬ﺎرم(‬
‫[‬
‫‪R Exokernel‬ﺎ ﺟﺎ‪R‬ﺠﺎ ﮐﺮدن ﻧﻪ ﺗﻨ‪6‬ﺎ ﺳﺎب ﺳ‪U‬ﺴﺘﻢ ﻫﺎ ‪R‬ﻠ‪Y‬ﻪ ‪R‬ﺎ ﺟﺎ‪R‬ﺠﺎ ﮐﺮدن ﺑ‪U‬ﺸ‪ Z‬ﻗﺎ‪R‬ﻠ]ﺖ ﻫﺎی‬
‫اﺻ• در ﻫﺮ ﺑﺮﻧﺎﻣﻪ‪ ،‬رو‪3‬ﮑﺮد ﺗ‪6‬ﺎﺟ‪ Ý‬ﺗﺮی اﺗﺨﺎذ ﻣ]ﮑﻨﺪ و اﺳﺎﺳﺎ ﻫﺮ ﺑﺮﻧﺎﻣﻪ ‪g‬ﺎر‪z‬ﺮدی را ‪R‬ﺎ ‪S‬ﮏ‬
‫ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﮐﺘﺎ‪R‬ﺨﺎﻧﻪ ﺳﻔﺎر‪ Êß‬ﻣﺮﺗ›ﻂ ﻣ]ﮑﻨﺪ‪ .‬ﺧﻮد ‪ minimal ،kernel‬ﻣ‪U‬ﺸﻮد‪ .‬اﯾﻦ‬
‫ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎ ﻣﻨﺎﺑﻊ ﺳﺨﺖ اﻓﺰاری را از ﻃ‪32‬ﻖ ‪S‬ﮏ را‪R‬ﻂ اﺑﺘﺪا ¦ ﺗﺮ و درﺷﺖ ﺗﺮ ‪à‬ﺴ¿ﺖ ‪R‬ﻪ‬
‫ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی ﺳﻨ[( ‪R‬ﻪ اﺷ[‪Z‬ا‪ á‬ﻣ]ﮕﺬارد‪ .‬ﻓﺮاﺧﻮا ‪ q‬ﻫﺎی ا‪Å‬ﺰوﮐﺮﻧﻞ ‪Â‬ﺴ]ﺎر ﺷ‪]Ž‬ﻪ ﻓﺮاﺧﻮا ‪q‬‬
‫‪ š‬ﻫﺎی ﻣﺠﺎزی اﺳﺖ‪ .‬ا‪Å‬ﺰوﮐﺮﻧﻞ اﯾﻦ اﺟﺎزە را ﻣ]ﺪﻫﺪ ﺗﺎ ﭘ]ﺎدە ﺳﺎزی‬ ‫در ﻧ‪Í‬ع ﺧﺎ‪ ã‬از ﻣﺎﺷ ‹ ‪q‬‬
‫‪f‬‬
‫ﻫﺎی ﻫﺴﺘﻪ ‪Â‬ﺴ]ﺎر ﺑ‪6‬ﯿﻨﻪ ﺷﺪە و ﺑﺮای ﻫﺮ ﺑﺮﻧﺎﻣﻪ ﻣﺨﺘﻠﻒ ﺳﻔﺎر‪ Êß‬ﺳﺎزی ﮐﻨﺪ‪ .‬اﻣﺎ ﻫﻤﺎﻫﻨ^ و‬
‫‪ š‬ﻣﺠﺎزی ﻣﯿﺘﻮاﻧﺪ در‬‫زﻣﺎن ﺑﻨﺪی در ﻣﻮرد ﭼﻨﺪﯾﻦ ﻓﺮآﯾﻨﺪ ﺑﺮﻧﺎﻣﻪ را دﺷﻮار ﺗﺮ ﻣ]ﮑﻨﺪ‪ .‬ﻫﺮ ﻣﺎﺷ ‹ ‪q‬‬
‫ﺳﻄﺢ ‪g‬ﺎر‪z‬ﺮ ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﺧﻮد را اﺟﺮا ﮐﻨﺪ‪ .‬اﻟﺒﺘﻪ ‪R‬ﺎ اﯾﻦ ﺗﻔﺎوت ﮐﻪ ﻫﺮ ﮐﺪام ﻣﺤﺪود ‪R‬ﻪ‬
‫اﺳﺘﻔﺎدە از ﻣﻨﺎ‪ œR‬ﻫﺴ‪Ÿ‬ﻨﺪ ﮐﻪ ‪R‬ﻪ آﻧ‪6‬ﺎ ﺗﺨﺼ]ﺺ دادە ﺷﺪە اﺳﺖ‪.‬‬

‫ﺳﻮال ﭘﻨﺠﻢ(‬
‫‪q‬‬
‫ﺗﻐﯿ‹‪ Z‬ﺣﺎﻟﺖ‪ ،‬ﺗﻐﯿ‹‪ Z‬اﻣﺘ]ﺎز ﻓﺮاﯾﻨﺪ ﺑ‹‪ š‬ﺣﺎﻟﺖ ﻫﺎ ¦ ﻣﺎﻧﻨﺪ ‪g‬ﺎر‪z‬ﺮ و ﻫﺴﺘﻪ اﺳﺖ و ﻣﻤﮑﻦ اﺳﺖ‬
‫‪R‬ﺪون ﺗﻐﯿ‹‪ Z‬وﺿﻌ]ﺖ ﻓﺮاﯾﻨﺪ در ﺣﺎل اﺟﺮا اﺗﻔﺎق ﺑ]ﻔﺘﺪ‪ .‬در ﺣﺎ‪ è‬ﮐﻪ ﺗﻐﯿ‹‪ Z‬ﻓﺮاﯾﻨﺪ‪ ،‬ﺗﻐﯿ‹‪Z‬‬
‫‪ š‬وﺿﻌ]ﺖ ﻫﺎ ¦ ﻣﺎﻧﻨﺪ آﻣﺎدە و ‪R‬ﻠﻮک اﺳﺖ‪S .‬ﻌ‪ (q‬ﺗﻌ‪3Í‬ﺾ ﻓﺮاﯾﻨﺪ در‪z‬ﺮﮔ‹‪Z‬ﻧﺪە‬ ‫وﺿﻌ]ﺖ ﻓﺮاﯾﻨﺪ ﺑ ‹ ‪q‬‬
‫ﺗﻐﯿ‹‪ Z‬ﺣﺎﻟﺖ اﺳﺖ‪ .‬ﻟﺬا ﺗﻐﯿ‹‪ Z‬ﺣﺎﻟﺖ ‪à‬ﺴ¿ﺖ ‪R‬ﻪ ﺗﻐﯿ‹‪ Z‬ﻓﺮاﯾﻨﺪ ﻫ‪3ë‬ﻨﻪ ‪g‬ﻤ[‪Z‬ی دارد‪.‬‬

‫ﺳﻮال ﺷﺸﻢ(‬
‫ﺗﻮﺿﯿﺢ ﺣﺎﻟﺖ ﻫﺎ‬
‫‪f‬‬
‫‪ :Created‬ﭘﺮوﺳﺲ ‪R‬ﻪ ﺗﺎز‪ e‬ا‪S‬ﺠﺎد ﺷﺪە و ﻫﻨﻮز آﻣﺎدە ران ﺷﺪن ﻧ‪U‬ﺴﺖ‪.‬‬
‫‪-‬ا‪Å‬ﺮ ﺗﻤﺎم ﺣﺎﻓﻈﻪ ﻻزم ﺗﻮﺳﻂ ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ‪R‬ﻪ ﭘﺮوﺳﺲ اﺧﺘﺼﺎص ﭘ]ﺪا ﮐﻨﺪ‪ ،‬وارد ‪ready‬‬
‫‪ to run state‬ﻣ‪U‬ﺸ‪3Í‬ﻢ‪.‬‬
‫‪-‬اﻣﺎ ا‪Å‬ﺮ ﺣﺎﻓﻈﻪ ‪g‬ﺎ‪ îq‬ﻧ›ﺎﺷﺪ وارد ‪ ready to run swapped state‬ﻣ‪U‬ﺸ‪3Í‬ﻢ‪.‬‬
‫‪ :Ready to Run, in Memory‬آﻣﺎدە ﺑﺮای اﺟﺮا درﺳﺖ زﻣﺎ ‪ q‬ﮐﻪ ﮐﺮﻧﻞ آن را ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی‬
‫ﮐﻨﺪ‪.‬‬
‫‪ :Ready to Run, swapped‬ﭘﺮوﺳﺲ آﻣﺎدە اﺟﺮاﺳﺖ اﻣﺎ ‪R swapper‬ﺎ‪S‬ﺪ ﭘﺮوﺳﺲ را‬
‫داﺧﻞ ﺣﺎﻓﻈﻪ اﺻ• ‪ swap‬ﮐﻨﺪ ﻗ›ﻞ از اﯾﻨﮑﻪ ﮐﺮﻧﻞ ﺑﺮای اﺟﺮا ﮐﺮدن آن ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی ﮐﻨﺪ‪.‬‬
‫)‪S swap‬ﻌ‪ (q‬ﻧﮕ‪6‬ﺪاری ﭘﺮوﺳﺲ در ‪R secondary memory‬ﻪ ﻃﻮر ﻣﻮﻗﺖ و ﺑﺮﮔﺮداﻧﺪن‬
‫آن ‪R‬ﻪ ﺣﺎﻓﻈﻪ اﺻ• اﺳﺖ(‪.‬‬
‫‪ ready to run in memory š‬و ‪ready to run‬‬ ‫‪•-‬ﺲ ‪ swap out‬و ‪ swap in‬ﺑ ‹ ‪q‬‬
‫‪ swapped‬اﻧﺠﺎم ﻣ‪U‬ﺸﻮد‪.‬‬
‫‪-‬ا‪Å‬ﺮ ﭘﺮوﺳﺲ ﺑﺮای اﺟﺮا ﺷﺪن ﻧ]ﺎز ‪R‬ﻪ ورودی ﺧﺮو )´ داﺷﺘﻪ ‪R‬ﺎﺷﺪ و آن ﻫﺎ آﻣﺎدە ﻧ›ﺎﺷﻨﺪ وارد‬
‫ﺣﺎﻟﺖ ‪ Asleep Memory‬ﻣ‪U‬ﺸ‪3Í‬ﻢ‪.‬‬
‫‪-‬اﻣﺎ ا‪Å‬ﺮ ﺣﺎﻓﻈﻪ رم ‪R‬ﻪ اﻧﺪازە ‪g‬ﺎ‪ îq‬ﻧ›ﺎﺷﺪ وارد ‪ sleep, swapped state‬ﻣ‪U‬ﺸ‪3Í‬ﻢ‪.‬‬
‫‪ :Asleep in Memory‬ﻗﺎ‪R‬ﻠ]ﺖ اﺟﺮا ﻧﺪارد ﺗﺎ زﻣﺎ ‪ q‬ﮐﻪ ‪S‬ﮏ رﺧﺪاد رخ دﻫﺪ‪ .‬در واﻗﻊ ﭘﺮوﺳﺲ‬
‫در ﺣﺎﻓﻈﻪ اﺻ• اﺳﺖ و ‪S‬ﮏ ﺣﺎﻟﺖ ‪R‬ﻼ ‪ á‬اﺳﺖ‪.‬‬
‫‪ :Sleep, swapped‬ﭘﺮوﺳﺲ ﻣﻨﺘﻈﺮ ‪S‬ﮏ رﺧﺪاد اﺳﺖ و ‪R‬ﻪ ‪S‬ﮏ ﺣﺎﻓﻈﻪ دو‪ swap õ‬ﺷﺪە‬
‫اﺳﺖ‪S .‬ﮏ ﺣﺎﻟﺖ ‪R‬ﻼ ‪ á‬اﺳﺖ‪.‬‬
‫•ﺲ از ‪ wake up‬ا‪Å‬ﺮ ﭘﺮوﺳﺲ در ‪ secondary storage‬در ﺣﺎﻟﺖ ‪R sleep‬ﺎﺷﺪ وارد‬
‫‪ ready to run swap‬ﻣ‪U‬ﺸﻮد ﺗﺎ آﻣﺎدە ‪ swap‬ﺷﺪن ‪R‬ﻪ ﺣﺎﻓﻈﻪ اﺻ• ‪R‬ﺎﺷﺪ‪ .‬و‪ è‬ا‪Å‬ﺮ در‬
‫ﺣﺎﻓﻈﻪ اﺻ• ‪R asleep‬ﺎﺷﺪ وارد ﺣﺎﻟﺖ ‪ ready to run in memory‬ﻣ‪U‬ﺸﻮد‪.‬‬
‫‪ :Preempted‬ﭘﺮوﺳﺲ در ﺣﺎل ﺑﺮﮔﺸﺖ ازﮐﺮﻧﻞ ‪R‬ﻪ ‪ user mode‬اﺳﺖ اﻣﺎ ﮐﺮﻧﻞ ﭘ‪U‬ﺸﺪﺳ[(‬
‫ﮐﺮدە اﺳﺖ و ‪S‬ﮏ ﺗﻐﯿ‹‪ Z‬ﭘﺮوﺳﺲ ﺑﺮای ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی ﺑﺮای ‪S‬ﮏ ﭘﺮوﺳﺲ د‪S‬ﮕﺮ اﻧﺠﺎم ﻣ]ﺪﻫﺪ‪.‬‬
‫‪ š‬آﻧ‪6‬ﺎ ارﺗ›ﺎط‬ ‫‪-‬ﺣﺎﻟﺖ ‪ preempted‬و ‪ ready to run in memory‬ﮐﻪ ‪R‬ﺎ ﻧﻘﻄﻪ ﭼ ‹ ‪q‬‬
‫‪ š‬ﺑ‹ ‪q‬‬
‫‪ š‬آﻧ‪6‬ﺎ ﺗﻤﺎﯾﺰ ا‪S‬ﺠﺎد ﺷﺪە ﺗﺎ ﺑﺮ رو‪ Êß‬ﮐﻪ ﺣﺎﻟﺖ ‪ preempted‬وارد‬ ‫ا‪S‬ﺠﺎد ﺷﺪە اﺳﺖ‪ .‬اﻣﺎ ﺑ ‹ ‪q‬‬
‫ﻣ‪U‬ﺸﻮد ﺗﺎ÷]ﺪ ﮐﻨﺪ‪ .‬وﻗ[( ‪S‬ﮏ ﻓﺮاﯾﻨﺪ در ﺣﺎﻟﺖ ‪ kernel mode‬اﺟﺮا ﻣ‪U‬ﺸﻮد زﻣﺎ ‪ q‬ﻓﺮا ﻣ‹‪Z‬ﺳﺪ‬
‫ﮐﻪ ﻫﺴﺘﻪ ‪g‬ﺎر ﺧﻮدش را ‪g‬ﺎﻣﻞ ﮐﺮدە و آﻣﺎدە اﺳﺖ ﺗﺎ ﮐﻨ[‪Z‬ل را ‪R‬ﻪ ﺑﺮﻧﺎﻣﻪ ‪g‬ﺎر‪z‬ﺮ ﺑﺮﮔﺮداﻧﺪ‪ .‬در اﯾﻦ‬
‫ﻣﺮﺣﻠﻪ ﻣﻤﮑﻦ اﺳﺖ ﻫﺴﺘﻪ ﺗﺼﻤ]ﻢ ‪R‬ﮕ‹‪Z‬د ﮐﻪ ﻓﺮاﯾﻨﺪ ﻓﻌ• را ‪R‬ﻪ ﻧﻔﻊ ﻓﺮآﯾﻨﺪی ﮐﻪ آﻣﺎدە و دارای‬
‫اوﻟ‪3Í‬ﺖ ‪R‬ﺎﻻﺗﺮ اﺳﺖ‪ ،‬ﭘ‪R øßU‬ﮕ‹‪Z‬د‪ .‬در آن ﺻﻮرت روﻧﺪ ﻓﻌ• ‪R‬ﻪ ﺣﺎﻟﺖ ﭘ‪U‬ﺶ ﻓﺮض ﺣﺮﮐﺖ‬
‫ﻣ]ﮑﻨﺪ‪R .‬ﺎ اﯾﻦ ﺣﺎل ﺑﺮای اﻫﺪاف ارﺳﺎل‪ ،‬آن ﻓﺮاﯾﻨﺪ ﻫﺎ در ﺣﺎﻟﺖ ‪ preempted‬و آﻧ‪6‬ﺎ ¦ ﮐﻪ‬
‫در ﺣﺎﻟﺖ ‪ ready to run in memory‬ﻫﺴ‪Ÿ‬ﻨﺪ‪ú ،‬ﺸﮑ]ﻞ ‪S‬ﮏ ﺻﻒ ﻣ]ﺪﻫﻨﺪ‪.‬‬
‫‪ :user running‬در ‪ user mode‬در ﺣﺎل اﺟﺮاﺳﺖ‪.‬‬
‫‪ :Kernel running‬در ‪ kernel mode‬در ﺣﺎل اﺟﺮاﺳﺖ‪.‬‬
‫‪-‬وﻗ[( ﭘﺮوﺳﺲ در ﮐﺮﻧﻞ راﻧ‪ü‬ﻨﮓ اﺳﺖ ﻣﯿﺘﻮاﻧﺪ ‪R‬ﻪ ‪ user mode‬ﺑﺮود ﮐﻪ ﺑﺮای اﯾﻦ ‪g‬ﺎر اﺑﺘﺪا‬
‫وارد ‪ preempted state‬و ﺳ‪þ‬ﺲ ‪R‬ﺎ ‪R return‬ﻪ ‪ user running‬ﺑﺮﻣ]ﮕﺮدد‪Pre- .‬‬
‫‪ empted‬ﺑﺮای ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی ‪S‬ﮏ ﭘﺮوﺳﺲ د‪S‬ﮕﺮ اﺳﺖ‪• .‬ﺲ ا‪Å‬ﺮ ﻧ]ﺎزی ‪R‬ﻪ ﺑﺮﻧﺎﻣﻪ ر‪3‬ﺰی ﺑﺮای‬
‫‪S‬ﮏ ﭘﺮوﺳﺲ د‪S‬ﮕﺮ ﻧ›ﺎﺷﺪ ﻣﯿﺘﻮان ﻣﺴﺘﻘ]ﻢ از ‪R kernel running‬ﻪ ‪user running‬‬
‫ﺑﺮﮔﺸﺖ‪.‬‬
‫‪š‬‬‫‪-‬ا‪Å‬ﺮ ‪S‬ﮏ وﻗﻔﻪ ﺑﺮای ﭘﺮوﺳﺲ ﻫﻨ†ﺎ‪ õ‬ﮐﻪ در ‪ kernel mode‬اﺳﺖ اﺗﻔﺎق ﺑ]ﻔﺘﺪ‪R ،‬ﺎز در ﻫﻤ ‹ ‪q‬‬
‫ﺣﺎﻟﺖ ﻣ]ﻤﺎﻧﺪ اﻣﺎ ا‪Å‬ﺮ وﻗﻔﻪ ﻫﻨ†ﺎ‪ õ‬ﮐﻪ ﭘﺮوﺳﺲ در ‪ user mode‬اﺳﺖ رخ ‪R‬ﺪﻫﺪ وارد‬
‫‪ kernel running state‬ﻣ‪U‬ﺸﻮد‪.‬‬
‫‪ :Zombie‬وﺿﻌ]ﺖ ﻧ‪6‬ﺎ ¦ اﺳﺖ‪ .‬ﭘﺮوﺳﺲ د‪S‬ﮕﺮ وﺟﻮد ﻧﺪارد و‪S è‬ﮏ رﮐﻮرد ﺑﺮای ‪parent‬‬
‫‪ process‬ﻣ]ﮕﺬارد‪.‬‬

‫ﺳﻮال ﻫﻔﺖ(‬
‫[‬
‫وﻗ( ﻓﺮآﯾﻨﺪی ا‪S‬ﺠﺎد ﻣ‪U‬ﺸﻮد‪ ،‬ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﭼﻨﺪﯾﻦ ﻋﻤﻠ]ﺎت را اﻧﺠﺎم ﻣ]ﺪﻫﺪ‪ .‬ﺑﺮای ﺷﻨﺎﺳﺎ ¦‬
‫ﻓﺮاﯾﻨﺪ ﻫﺎ ‪R‬ﻪ ﻫﺮ ﻓﺮاﯾﻨﺪ ‪S‬ﮏ ﺷﻤﺎرە ﺷﻨﺎﺳﺎ ¦ )‪ (PID‬ﻣ]ﺪﻫﺪ‪ .‬ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ‪R‬ﺎ‪S‬ﺪ ﺗﻤﺎم ﻓﺮاﯾﻨﺪ‬
‫ﻫﺎ را ﭘ]ﮕ‹‪Z‬ی ﮐﻨﺪ ز‪3‬ﺮا از ﺑﺮﻧﺎﻣﻪ ﻧ‪ øÑÍ‬ﭼﻨﺪ‪Ò‬ﺎﻧﻪ •ﺸ‪Ÿ‬ﯿ›ﺎ ‪ q‬ﻣ]ﮑﻨﺪ‪ .‬ﺑﺮای اﯾﻦ ‪g‬ﺎر ‪ PCB‬ﺑﺮای‬
‫رد‪S‬ﺎ ) وﺿﻌ]ﺖ اﺟﺮای ﻓﺮاﯾﻨﺪ اﺳﺘﻔﺎدە ﻣ‪U‬ﺸﻮد‪ .‬ﻫﺮ ‪R‬ﻠﻮک ﺣﺎﻓﻈﻪ دارای اﻃﻼﻋﺎ [ درﻣﻮرد‬
‫وﺿﻌ]ﺖ اﺟﺮای ﻓﺮاﯾﻨﺪ‪ ،‬ﺷﻤﺎرﻧﺪە ﺑﺮﻧﺎﻣﻪ‪à ،‬ﺸﺎﻧﮕﺮ •ﺸﺘﻪ‪ ،‬وﺿﻌ]ﺖ ﻓﺎ‪S‬ﻞ ﻫﺎی ‪R‬ﺎز ﺷﺪە‪،‬‬
‫اﻟ‪#‬ﻮر‪3‬ﺘﻢ ﻫﺎی زﻣﺎن ﺑﻨﺪی و ﻏ‹‪Z‬ە اﺳﺖ‪ .‬وﻗ[( ﻓﺮاﯾﻨﺪ از ﺣﺎﻟ[( ‪R‬ﻪ ﺣﺎﻟﺖ د‪S‬ﮕﺮ ﻣﻨﺘﻘﻞ ﻣ‪U‬ﺸﻮد‪،‬‬
‫ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ‪R‬ﺎ‪S‬ﺪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ‪ PCB‬را آ‪‰‬ﺪ‪S‬ﺖ ﮐﻨﺪ‪.‬‬
‫‪S :Pointer‬ﮏ اﺷﺎرە ﮔﺮ •ﺸﺘﻪ ای اﺳﺖ ﮐﻪ ﻫﻨ†ﺎم ﺗﻐﯿ‹‪ Z‬ﻓﺮاﯾﻨﺪ از ﺣﺎﻟ[( ‪R‬ﻪ ﺣﺎﻟﺖ د‪S‬ﮕﺮ ﺑﺮای‬
‫ﺣﻔﻆ ﻣﻮﻗﻌ]ﺖ ﻓﻌ• ﻻزم اﺳﺖ ذﺧ‹‪Z‬ە ﺷﻮد‪.‬‬
‫‪ :Process state‬وﺿﻌ]ﺖ ﻣ‪z2‬ﻮط ‪R‬ﻪ ﻓﺮاﯾﻨﺪ را ذﺧ‹‪Z‬ە ﻣ]ﮑﻨﺪ‪.‬‬
‫‪ :Process Number‬ﻫﺮ ﻓﺮاﯾﻨﺪ ‪R‬ﺎ ‪S‬ﮏ ﺷﻤﺎرە ﻣﻨﺤ‪R %‬ﻪ ﻓﺮد ‪R‬ﻪ ﻧﺎم ﺷﻨﺎﺳﻪ ﻓﺮاﯾﻨﺪ ‪S‬ﺎ ‪PID‬‬
‫اﺧﺘﺼﺎص دادە ﻣ‪U‬ﺸﻮد ﮐﻪ ﺷﻨﺎﺳﻪ ﻓﺮاﯾﻨﺪ را ذﺧ‹‪Z‬ە ﮐﻨﺪ‪.‬‬
‫‪ :Program counter‬ﺷﻤﺎرﻧﺪە ای را ذﺧ‹‪Z‬ە ﻣ]ﮑﻨﺪ ﮐﻪ ﺣﺎوی آدرس دﺳﺘﻮر ‪R‬ﻌﺪی اﺳﺖ‬
‫ﮐﻪ ﻗﺮار اﺳﺖ ﺑﺮای ﻓﺮاﯾﻨﺪ اﺟﺮا ﺷﻮد‪.‬‬
‫‪ :Register‬رﺟ‪U‬ﺴ[‪ Z‬ﻫﺎی ‪ CPU‬ﻫﺴ‪Ÿ‬ﻨﺪ ﮐﻪ ﺷﺎﻣﻞ اﻧ›ﺎﺷﺖ ﮐﻨﻨﺪە‪‰ ،‬ﺎ‪S‬ﻪ‪ ،‬رﺟ‪U‬ﺴ[‪ Z‬ﻫﺎ و رﺟ‪U‬ﺴ[‪Z‬‬
‫ﻫﺎی ﻫﺪف ﻋﻤﻮ‪ õ‬ﻫﺴ‪Ÿ‬ﻨﺪ‪.‬‬
‫‪ :Memory limits‬اﯾﻦ ﻗﺴﻤﺖ ﺣﺎوی اﻃﻼﻋﺎت ﺳ‪U‬ﺴﺘﻢ ﻣﺪﯾ‪32‬ﺖ ﺣﺎﻓﻈﻪ ﻣﻮرد اﺳﺘﻔﺎدە‬
‫ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ‪ .‬ﻣﻤﮑﻦ اﺳﺖ ﺷﺎﻣﻞ ﺟﺪاول ﺻﻔﺤﻪ‪ ،‬ﺟﺪاول ‪R‬ﺨﺶ و ﻏ‹‪Z‬ە ‪R‬ﺎﺷﺪ‪.‬‬
‫‪ :Open file list‬اﯾﻦ اﻃﻼﻋﺎت ﺷﺎﻣﻞ ﻟ‪U‬ﺴﺖ ﻓﺎ‪S‬ﻞ ﻫﺎی ‪R‬ﺎز ﺷﺪە ﺑﺮای ‪S‬ﮏ ﻓﺮاﯾﻨﺪ اﺳﺖ‪.‬‬

‫‪ PCB‬در ﺳ‪U‬ﺴﺘﻢ ﻋﺎﻣﻞ ﻟﯿﻨﻮﮐﺲ ﺑﺮای ﻣﺜﺎل‪ ،‬دارای ﺳﺎﺧﺘﺎری اﺳﺖ ﮐﻪ ﺗﻤﺎم اﻃﻼﻋﺎت ﻻزم‬
‫ﺑﺮای ﻧﻤﺎ‚ﺶ ‪S‬ﮏ ﻓﺮاﯾﻨﺪ ﮐﻪ در ‪R‬ﺎﻻ ﻧ ‹ ‪R Zq‬ﻪ آن ﻫﺎ اﺷﺎرە ﺷﺪ )وﺿﻌ]ﺖ ﻓﺮاﯾﻨﺪ‪ ،‬اﻃﻼﻋﺎت زﻣﺎن‬
‫ﺑﻨﺪی و ﻣﺪﯾ‪32‬ﺖ ﺣﺎﻓﻈﻪ‪ ،‬ﻓ‪6‬ﺮﺳﺖ ﻓﺎ‪S‬ﻞ ﻫﺎی ‪R‬ﺎز( و اﺷﺎرە ﮔﺮ ﻫﺎ ¦ ‪R‬ﻪ واﻟﺪﯾﻦ ﻓﺮاﯾﻨﺪ و ﻓ‪6‬ﺮﺳ[(‬
‫از ﻓﺮزﻧﺪان و ﺧﻮاﻫﺮان و ﺑﺮادران آن را دارد‪ .‬واﻟﺪﯾﻦ ‪S‬ﮏ ﻓﺮاﯾﻨﺪ‪ ،‬ﻓﺮآﯾﻨﺪی اﺳﺖ ﮐﻪ آن را ا‪S‬ﺠﺎد‬
‫ﮐﺮدە‪ .‬ﻓﺮزﻧﺪان ﻓﺮاﯾﻨﺪ ﻫﺎ ¦ ﻫﺴ‪Ÿ‬ﻨﺪ ﮐﻪ ‪S‬ﮏ ﻓﺮاﯾﻨﺪ واﻟﺪ ا‪S‬ﺠﺎد ﻣ]ﮑﻨﺪ‪ .‬ﺧﻮاﻫﺮ و ﺑﺮادر ﻫﺎ ﻓﺮاﯾﻨﺪ‬
‫ﻫﺎ ¦ ﻫﺴ‪Ÿ‬ﻨﺪ ﮐﻪ ‪S‬ﮏ واﻟﺪ دارﻧﺪ‪.‬‬
‫در ﻫﺴﺘﻪ ﻟﯿﻨﻮﮐﺲ‪ ،‬ﺗﻤﺎم ﻓﺮاﯾﻨﺪ ﻫﺎی ﻓﻌﺎل ‪R‬ﺎ ‪S‬ﮏ ﻟ‪U‬ﺴﺖ دو‪Ò‬ﺎﻧﻪ از ﺳﺎﺧﺘﺎر وﻇ]ﻔﻪ ﻧﻤﺎ‚ﺶ‬
‫دادە ﻣ‪U‬ﺸﻮﻧﺪ‪ .‬ﻫﺴﺘﻪ ‪S‬ﮏ اﺷﺎرە ﮔﺮ ﺟ‪32‬ﺎن را ﺑﺮای ﻓﺮآﯾﻨﺪی ﮐﻪ در ﺣﺎل ﺣﺎ‪ ¥q‬در ﺳ‪U‬ﺴﺘﻢ‬
‫اﺟﺮا ﻣ‪U‬ﺸﻮد ﺣﻔﻆ ﻣ]ﮑﻨﺪ‪• .‬ﺲ ﺳ‪U‬ﺴﺘﻢ ﺑﺮای ﺗﻐﯿ‹‪ Z‬ﺣﺎﻟﺖ ﻓﺮآﯾﻨﺪ و ‪S‬ﺎ ﻟ‪U‬ﺴﺖ ﻓﺎ‪S‬ﻞ ﻫﺎی ‪R‬ﺎز‪،‬‬
‫ا‪Å‬ﺮ اﺷﺎرە ﮔﺮ ‪R‬ﻪ ﻓﺮآﯾﻨﺪ در ﺣﺎل اﺟﺮا اﺷﺎرە ﮐﻨﺪ‪ ،‬وﺿﻌ]ﺖ آن ‪R‬ﺎ ;‪current -> state = next state‬‬
‫ﺗﻐﯿ‹‪ Z‬ﻣ]ﮑﻨﺪ‪.‬‬
‫ﺳﻮال ﻫﺸﺖ(‬

‫ﺗﻌﺪاد ‪g‬ﻞ ﻣﻨﺎﺑﻊ را از ﻣﻨﺎﺑﻊ دراﺧﺘ]ﺎر ﻗﺮار دادە ﺷﺪە ‪g‬ﻢ ﮐﺮدن ﺗﺎ ﺗﻌﺪاد ﻣﻨﺎﺑﻊ ‪R‬ﺎ[‪ î‬ﻣﺎﻧﺪە و ﻗﺎ‪R‬ﻞ‬
‫اﺳﺘﻔﺎدە را ﭘ]ﺪا ﮐﻨﻢ ﮐﻪ ﺑﺮاﺑﺮ ﺗﻌﺪاد ‪g‬ﻞ ﻣﻨﺎﺑﻊ – ﻣﻨﺎﺑﻊ در اﺧﺘ]ﺎر ﻗﺮار ﮔﺮﻓﺘﻪ ﺷﺪە اﺳﺖ‪.‬‬
‫ﺗﻌﺪاد ﻣﻨﺎﺑﻊ ﺧﻮاﺳﺘﻪ ﺷﺪە ﺗﻮﺳﻂ ‪ A‬و ‪ D‬ﺑ‪U‬ﺸ[‪ Z‬از ﻣﻨﺎﺑﻊ آزاد ‪R‬ﺎ[‪ î‬ﻣﺎﻧﺪە ﺑﻮد •ﺲ اﺧﺘﺼﺎص‬
‫ﻣﻨﺎﺑﻊ ﻣﻤﮑﻦ ﻧ‪U‬ﺴﺖ‪.‬‬

‫ﺳﻮال ﻧﻪ(‬
‫اﻟﻒ(‬

‫‪Allocation‬‬ ‫‪Request‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫‪P0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪P1‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪2‬‬
‫‪P2‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪P3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪P4‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬
‫‪+‬‬ ‫‪7‬‬ ‫‪2‬‬ ‫‪6‬‬

‫‪Available‬‬
‫‪A‬‬ ‫‪0‬‬
‫‪B‬‬ ‫‪0‬‬
‫‪C‬‬ ‫‪0‬‬

‫‪Allocation‬‬ ‫‪Request‬‬ ‫‪Available‬‬


‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪+‬‬
‫‪P0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪A‬‬ ‫‪0,0,3,5,5,7‬‬
‫‪P1‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪4‬‬
‫‪B‬‬ ‫‪0,1,1,2,2,2‬‬
‫‪P2‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪P3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪C‬‬ ‫‪0,0,3,4,6,6‬‬
‫‪P4‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪2‬‬

‫ﻓﺮاﯾﻨﺪ ﻫﺎی ‪ P0‬و ‪ P2‬درﺧﻮاﺳ[( ﻧﺪارﻧﺪ •ﺲ اﺟﺮا ﻣ‪U‬ﺸﻮﻧﺪ و ﻣﻨﺎﺑﻊ ﺧﻮد را آزاد ﻣ]ﮑﻨﻨﺪ‪.‬‬
‫‪Available: A=3, B=1, C=3‬‬
‫ﺳ‪þ‬ﺲ ﻓﺮاﯾﻨﺪ ‪ P3‬و ‪ P4‬اﻧﺠﺎم ﻣ‪U‬ﺸﻮﻧﺪ و ﻣﻨﺎﺑﻊ ﺧﻮد را آزاد ﻣ]ﮑﻨﻨﺪ‪.‬‬
‫‪Available: A=5, B=2, C=6‬‬
‫ﻧ‪6‬ﺎﯾﺘﺎ ﻓﺮاﯾﻨﺪ ‪ P4‬اﻧﺠﺎم ﻣ‪U‬ﺸﻮد و ﻣﻨﺒﻊ ﺧﻮد را آزاد ﻣ]ﮑﻨﺪ‪.‬‬
‫‪Available: A=7, B=2, C=6‬‬
‫در اﯾﻦ ﺣﺎﻟﺖ ‪ deadlock‬رخ ﻧﻤ]ﺪﻫﺪ‪.‬‬
‫ب(‬
‫ﻃﺒﻖ ﻣﺤﺎﺳ›ﺎت اﻧﺠﺎم ﺷﺪە ﺑﺮای ‪ ،Available‬در ﻟﺤﻈﻪ ﺻﻔﺮ ﻣﻨﺒﻊ آزادی ﺑﺮای اﺧﺘﺼﺎص‬
‫دادن ‪R‬ﻪ ‪ P1‬ﻧﺪار‪3‬ﻢ و ‪ deadlock‬رخ ﻣ]ﺪﻫﺪ‪.‬‬

‫ﺳﻮال دە(‬
‫‪ß‬‬ ‫‪ß‬‬
‫در اﯾﻦ ﺣﺎﻟﺖ —ط اﻧﺘﻈﺎر ﻣﺪور ‪S‬ﺎ ﭼﺮﺧ‪ ø‬ﻧﻘﺾ ﻣ‪U‬ﺸﻮد‪ .‬ز‪3‬ﺮا ‪R‬ﻪ ﻣﻨﺎﺑﻊ ﻣﻘﺎدﯾﺮی را ‪à‬ﺴ¿ﺖ‬
‫ﻣ]ﺪﻫ]ﻢ و ﻓﺮاﯾﻨﺪ ﻫﺎ ﻧﺎ‪3ëÅ‬ﺮ ﻫﺴ‪Ÿ‬ﻨﺪ ﻣﻨﺎﺑﻊ را ‪R‬ﻪ ﺻﻮرت ﺻﻌﻮدی اﻧﺘﺨﺎب ﮐﻨﻨﺪ ﮐﻪ در اﯾﻦ‬
‫ﺣﺎﻟﺖ اﻣ‪2‬ﺎن ا‪S‬ﺠﺎد ﺣﻠﻘﻪ ﻧﺪار‪3‬ﻢ‪.‬‬

‫ﺳﻮال ‪S‬ﺎزدە(‬

‫‪Process‬‬ ‫‪Enter Time‬‬ ‫‪Service Time‬‬


‫‪A‬‬ ‫‪0‬‬ ‫‪3‬‬
‫‪B‬‬ ‫‪5‬‬ ‫‪7‬‬
‫‪C‬‬ ‫‪7‬‬ ‫‪12‬‬
‫‪D‬‬ ‫‪8‬‬ ‫‪20‬‬
‫‪E‬‬ ‫‪10‬‬ ‫‪25‬‬
‫‪F‬‬ ‫‪14‬‬ ‫‪30‬‬

‫‪Quantum = 4‬‬

‫‪Quantum = 8‬‬

‫‪SRT‬‬

‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬

‫‪0‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪14‬‬ ‫‪15‬‬ ‫‪19 20‬‬

‫‪E‬‬ ‫‪F‬‬

‫‪20‬‬ ‫‪24 25‬‬ ‫‪29 30‬‬


B C D

30 33 34 42 43 51

E F

51 52 60 61 69 70

D E

70 78 79 92 93

93 111

(‫اﻟﻒ‬
Waiting time A: 0
Waiting time B: [(5-5) + (30-9)] = 0 + 21
Waiting time C: [(10-7) + (34-14)] = 3 + 20 = 23
Waiting time D: [(15-8) + (43-19) + (70-51)] = 7 + 24 + 19 = 50
Waiting time E: [(20-10) + (52-24) + (79-60)] = 10 + 28 + 19 = 57
Waiting time F: [(25-14) + (61-29) + (93-69)] = 11 + 32 + 24 = 67
Average waiting time = (0+21+23+50+57+67)/6 = 218/6 = 36.33
(‫ب‬
Turning around time A: 3-0=3
Turning around time B: 33-5=28
Turning around time C: 42-7=35
Turning around time D: 78-8=70
Turning around time E: 92-10=82
Turning around time F: 111-14=97
Average turning around time = (3+28+35+70+82+97)/6=315/6=52.5
(‫ج‬
(111-14)/111 = 97/111 = 0.87
(‫ﺳﻮال دوازدە‬
SJF
Burst Time Priority
P1 15 4
P2 9 7
P3 3 3
P4 6 1
P5 12 6

P3(3) P4(6) P2(9) P5(12) P1(15)

0----3------------9-----------------------18--------------------------30--------------------------------------------45

P3 waiting time: 0-0 Total running time: 45


P4 waiting time: 3 -0 Average waiting time: (0+3+9+18+30)/5=12
P2 waiting time: 9-0
P5 waiting time: 18-0
P1 waiting time: 30-0

Priority
q ‹ ‫ ﺑ‬î[‫ﺸﻮﻧﺪ ﻓﺮ‬U‫ﺴﺘﻢ ﻣ‬U‫ﮏ زﻣﺎن وارد ﺳ‬S ‫وﻗ[( ﻫﻤﻪ ﻓﺮاﯾﻨﺪ ﻫﺎ در‬
Z‹‫ روش اﻧﺤﺼﺎری و ﻏ‬š
.‫اﻧﺤﺼﺎری وﺟﻮد ﻧﺪارد‬
P2(9) P5(12) P1(15) P3(3) P4(6)

0----------------------9--------------------------------21-----------------------------------------36---------39----45

P1 waiting time: 21 Total running time: 45


P2 waiting time: 0 Average waiting time:(21+0+36+39+9)/5=21
P3 waiting time: 36
P4 waiting time: 39
P5 waiting time: 9
(‫دە‬Zq ‹ ‫ﺳﻮال ﺳ‬

‫ﻧﺎم ﻓﺮاﯾﻨﺪ‬ ‫ﺴﺘﻢ‬U‫ﻪ ﺳ‬R ‫زﻣﺎن ورود‬ ‫زﻣﺎن ﭘﺮدازش‬


A ۲ ۲
B ۵ ۵
C ۶ ۲
D ۷ ۳
E ۹ ۱

(‫اﻟﻒ‬
A(2) B(5) E(1) C(2) D(3)

0--------2-------------4------5----------------------------------10-----11-------------13--------------------------16

‫ﺎری‬2]‫([ = درﺻﺪ ﺑ‬2-0)+(5-4)]/16 = 3/16 = 0.1875 = 18.75%


[ ‫ = ﺗﻮان ﻋﻤﻠ]ﺎ‬5/16 = 0.3125

(‫ب‬

A(2) B(5) C(2) E(1) D(3)

0--------2-------------4------5----------------------------------10----- 12 13 16

RR (C) = [(10-6) + 2]/2 = 3


RR (D) = [(10-7) + 3]/3 = 2 è C enters after B
RR (E) = [(10-9) + 1]/1 = 2

RR (D) = [(12-7) + 3]/3 = 8/3 = 2.66


RR (E) = [(12-9) +1]/1 = 4
è E enters after C

A waiting time: 2-2=0


B waiting time: 5-5 =0
C waiting time: 10-6 =4
D waiting time: 13-7=6
E waiting time: 12-9=3
Average waiting time = 13/5 = 2.6

(‫ج‬

A .. . B. C D E B D B

0-------- 2---------- 4------5-----------7------------9--------- 11--12 14 15 16

A waiting time: 2-2 = 0


B waiting time: (5-5) + (12-7) + (15-14) = 5 + 1 = 6
C waiting time: 7-6 = 1
D waiting time: (9-7) + (14-11) = 2 + 3 =5
E waiting time: 11-9 = 2
Average waiting time = 14/5 = 2.8

(‫ﺎردە‬6‫ﺳﻮال ﭼ‬
Process Burst Time
A 4 q=2
B 5
C 6
D 7
A(2) B C D A

0-------- 2 3 5 6 8 9 11 12 14 15

B(2) C D B C D D

15 17 18 20 21 23 24 25 26 28 29 31 32
A waiting time: 12-2 = 10
B waiting time: (3-0) + (15-5) + (24-17) = 3 + 10 + 7 = 20
C waiting time: (6-0) + (18-8) + (26-20) = 6 + 10 + 6 = 22
D waiting time: (9-0) + (21-11) + (29-23) = 9 + 10 + 6 = 25
Average waiting time = 77/4 = 19.25

You might also like