ﺑﻪ ﻧﺎم ﺧﺪا
ﺳﻴﺴﺘﻢ ﻫﺎي ﻋﺎﻣﻞ
ﮔﺮوه ) 1اﺳﺘﺎد :دﻛﺘﺮ ﺟﻠﻴﻠﻲ(
ﺗﺮم ﭘﺎﻳﻴﺰ 1389
ﺗﻤﺮﻳﻨﺎت ﺳﺮي ﺳﻮم )ﻓﺼﻞ ﻫﺎي 7 ،6و (8
.1اﻟﻒ -درﺳﺘﻲ ﻳﺎ درﺳﺘﻲ ﻋﺒﺎرات زﻳﺮ را ﻣﺸﺨﺺ ﻛﺮده و ﺑﺮاي ادﻋﺎي ﺧﻮد ﺗﻮﺿﻴﺢ ﻣﺨﺘﺼﺮي ﺑﻴﺎن ﻛﻨﻴﺪ.
.iدر ﻳﻚ ﺳﻴﺴﺘﻢ "ﺗﻚ ﺑﺮﻧﺎﻣﻪ اي" ،1ﻫﺮﮔﺰ ﻧﻤﻲ ﺗﻮان آدرس ﻓﻴﺰﻳﻜﻲ را در زﻣﺎن ﻛﺎﻣﭙﺎﻳﻞ ﺗﻮﻟﻴﺪ ﻛﺮد.
2
.iiﻗﺎﻧﻮن "-50درﺻﺪ" ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ ﻛﻪ 50درﺻﺪ از ﺣﺎﻓﻈﻪ ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﺳﻴﺎﺳﺖ first-fitﺑﻪ ﺧﺎﻃﺮ ﺗﻜﻪ ﺗﻜﻪ ﺷﺪن ﺧﺎرﺟﻲ
ﺑﻪ ﻫﺪر ﻣﻲ رود.
5
4
3
ب – آﻳﺎ ﺑﺮاي ﭘﺸﺘﻴﺒﺎﻧﻲ از ﺟﺎﺑﺠﺎﺳﺎزي اﻳﺴﺘﺎ و ﭘﻮﻳﺎ ﺑﻪ اﻣﻜﺎﻧﺎت ﺳﺨﺖ اﻓﺰاري ﺧﺎﺻﻲ ﻧﻴﺎز دارﻳﻢ؟ در ﺻﻮرﺗﻲ ﻛﻪ ﭘﺎﺳﺦ ﻣﺜﺒﺖ ﺑﺎﺷﺪ اﻳﻦ
ﻣﺸﺨﺼﻪ ﻫﺎي ﺳﺨﺖ اﻓﺰاري را ﺑﻴﺎن ﻛﻨﻴﺪ و در ﺻﻮرﺗﻲ ﻛﻪ ﭘﺎﺳﺦ ﻣﻨﻔﻲ ﺑﺎﺷﺪ دﻟﻴﻞ ﺧﻮد را ﺗﻮﺿﻴﺢ دﻫﻴﺪ.
ج – ) TLB (translation look-aside bufferﭼﻴﺴﺖ؟ آﻳﺎ ﺑﺮاي اﺟﺮاي ﺻﺤﻴﺢ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﻪ TLBﻧﻴﺎز دارﻳﻢ؟
د – ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﺑﺮاي ﻃﺮاﺣﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ،ﭘﻴﺎده ﺳﺎزي ﻗﻔﻞ ﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از روﻳﻜﺮد ” “test & setﻣﻨﺎﺳﺐ ﺗﺮ اﺳﺖ ﻳﺎ "ﻏﻴﺮﻓﻌﺎل
ﻛﺮدن وﻗﻔﻪ ﻫﺎ"؟ ﭼﺮا؟
.2دو ﻓﺮآﻳﻨﺪ از ﻳﻚ ﻣﺘﻐﻴﺮ ﻣﺸﺘﺮك xاﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ .ﻓﺮآﻳﻨﺪ P1آﻧﺮا 10ﻣﺮﺗﺒﻪ اﻓﺰاﻳﺶ ﻣﻲ دﻫﺪ .ﻓﺮآﻳﻨﺪ P2ﻧﻴﺰ آﻧﺮا 25ﻣﺮﺗﺒﻪ ﻛﺎﻫﺶ ﻣﻲ
دﻫﺪ .ﻣﻘﺪار اوﻟﻴﻪ xﺑﺮاﺑﺮ ﺻﻔﺮ اﺳﺖ .اﮔﺮ P1و P2ﺑﺼﻮرت ﻫﻤﺮوﻧﺪ و ﺑﺪون اﺳﺘﻔﺎده از ﻫﻴﭻ ﻧﺎﺣﻴﻪ ﺑﺤﺮاﻧﻲ اﺟﺮا ﺷﻮﻧﺪ ،ﻛﺪاﻣﻴﻚ از ﻋﺒﺎرات زﻳﺮ
ﺻﺤﻴﺢ ﻣﻲ ﺑﺎﺷﺪ) .دﻟﻴﻞ اﻧﺘﺨﺎب ﺧﻮد را ﺑﻴﺎن ﻛﻨﻴﺪ(.
اﻟﻒ( ﻣﻘﺪار ﻧﻬﺎﻳﻲ xﺑﺮاﺑﺮ -15ﺧﻮاﻫﺪ ﺑﻮد.
ب( ﻣﻘﺪار ﻧﻬﺎﻳﻲ xﻣﻲ ﺗﻮاﻧﺪ ﻫﺮ ﻋﺪد ﺻﺤﻴﺤﻲ ﺑﺎﺷﺪ.
ج( ﻣﻘﺪار ﻧﻬﺎﻳﻲ xﻋﺪد ﺻﺤﻴﺤﻲ از -25ﺗﺎ 10ﺧﻮاﻫﺪ ﺑﻮد.
د( ﻣﻘﺪار ﻧﻬﺎﻳﻲ xﺑﺮاﺑﺮ ﺻﻔﺮ ﻧﺨﻮاﻫﺪ ﺑﻮد.
ه( ﻣﻘﺪار ﻧﻬﺎﻳﻲ xﻋﺪدي از -20ﺗﺎ 5ﺑﻮده و ﺑﻴﺮون از اﻳﻦ ﻣﺤﺪوده ﻧﻤﻲ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ.
.3دو ﻋﻤﻞ waitو signalروي دو ﻣﻨﺒﻊ ﺑﻄﻮر ﻫﻢ زﻣﺎن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .ﺑﺠﺎي دو ﻋﺒﺎرت c1و c2ﭼﻪ ﺷﺮاﻳﻄﻲ ﺑﺎﻳﺪ ﻧﻮﺷﺘﻪ ﺷﻮد؟
)Signal(S,R
{
;)Wait(mutex
;S1=S1+1
;R1=R1+1
)If(c2
;)Signal(block
;)Signal(mutex
}
;Int S1,R1
;Semaphore mutex=1, block=1
)Wait(S,R
{
;)Wait(mutex
;S1=S1-1
;R1=R1-1
)If (c1
{
;)Signal(mutex
;)Wait(block
}
Else
;)Signal(mutex
}
.4داﻧﺸﺠﻮﻳﻲ ﺳﻤﺎﻓﻮرﻫﺎي ﺷﻤﺎرﺷﻲ را ﺑﺎ اﺳﺘﻔﺎده از ﺳﻤﺎﻓﻮرﻫﺎي دودوﻳﻲ ﺑﻪ ﺻﻮرت زﻳﺮ ﭘﻴﺎده ﺳﺎزي ﻛﺮده اﺳﺖ .درﺑﺎره ﺻﺤﺖ روش اراﺋﻪ ﺷﺪه
ﺑﺤﺚ ﻛﻨﻴﺪ.
1
Uniprogramming system
External fragmentation
3
Relocation
4
Static
5
Dynamic
2
)semwait(semaphore s
{
;)semwaitb(mutex
;s--
)if(s<0
{
;)semsignalb(mutex
;)semwaitb(delay
}
else
{
;)semsignal(mutex
}
}
)semsignal(semaphore s
{
;)semwaitb(mutex
;s++
)if(s<=0
{
;)semsignalb(delay
;)semsignalb(mutex
}
}
.5ﺳﻴﺴﺘﻤﻲ ﺑﺎ 5ﭘﺮدازه و 4ﻣﻨﺒﻊ در ﺣﺎﻟﺖ زﻳﺮ ﻗﺮار دارد.
Available
-------------A B C D
1 5 2 0
Allocation
----------------A B C D
P0 0 0 1 2
P1 1 0 0 0
P2 1 3 5 4
P3 0 6 3 2
P4 0 0 1 4
Max
---------------A B C D
P0 0 0 1 2
P1 1 7 5 0
P2 2 3 5 6
P3 0 6 5 2
P4 0 6 5 6
ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻧﻜﺪار ﺑﻪ ﺳﻮاﻻت زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ:
اﻟﻒ .ﻣﺤﺘﻮاي ﻣﺎﺗﺮﻳﺲ Needرا ﻣﺸﺨﺺ ﻛﻨﻴﺪ.
ب .آﻳﺎ ﺳﻴﺴﺘﻢ در ﺣﺎﻟﺖ اﻣﻦ ﻗﺮار دارد؟
ج .اﮔﺮ درﺧﻮاﺳﺘﻲ از ﭘﺮدازه P1ﺑﻪ ﺻﻮرت ) (0,4,2,0ﺑﺮﺳﺪ ،آﻳﺎ ﻣﻲ ﺗﻮان ﻓﻮرا ﺑﻪ آن ﺗﺨﺼﻴﺺ داد؟ در ﺻﻮرﺗﻲ ﻛﻪ ﺟﻮاب ﻣﺜﺒﺖ ﺑﺎﺷﺪ،
ﺑﺮرﺳﻲ ﻛﻨﻴﺪ آﻳﺎ ﺳﻴﺴﺘﻢ در ﺣﺎﻟﺖ اﻣﻦ ﻗﺮار دارد ﻳﺎ ﺧﻴﺮ؟
.6ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺣﺎﻓﻈﻪ از ﺗﺮﻛﻴﺐ ﻗﻄﻌﻪ ﺑﻨﺪي 6و ﺻﻔﺤﻪ ﺑﻨﺪي ﺑﺎ ﺟﺪاول ﺻﻔﺤﻪ دو ﺳﻄﺤﻲ ﺑﻬﺮه ﻣﻲ ﺑﺮد .ﻗﺎﻟﺐ آدرس ﻣﺠﺎزي ﺑﺼﻮرت
زﻳﺮ اﺳﺖ.
offset
Pt2
7 bit
Pt1
5 bit
Segment NO.
9 bit
13 bit
اﻧﺪازه ﻣﻮارد زﻳﺮ را ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﺪ:
.dﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺟﺪاول ﺳﻄﺢ 1در ﻫﺮ ﻓﺮآﻳﻨﺪ
.aاﻧﺪازه ﺻﻔﺤﻪ
.eﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺻﻔﺤﺎت در ﻫﺮ ﻗﻄﻌﻪ
.bاﻧﺪازه ﺣﺎﻓﻈﻪ ﻣﺠﺎزي ﻫﺮ ﻓﺮآﻳﻨﺪ
.fﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺻﻔﺤﺎت در ﻫﺮ ﻓﺮآﻳﻨﺪ
.cﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺟﺪاول ﺳﻄﺢ 2در ﻫﺮ ﻗﻄﻌﻪ
.7اﮔﺮ اﻧﺪازه ﻫﺮ ﺧﺎﻧﻪ ﺟﺪول ﺻﻔﺤﻪ eﺑﺎﻳﺖ و اﻧﺪازه ﻫﺮ ﻓﺮآﻳﻨﺪ Sﺑﺎﻳﺖ ﺑﺎﺷﺪ ،اﻧﺪازه ﺑﻬﻴﻨﻪ ﺻﻔﺤﻪ را ﺑﺪﺳﺖ آورﻳﺪ؟
.8ﻳﻚ ﺳﻴﺴﺘﻢ ﺣﺎﻓﻈﻪ ﻗﻄﻌﻪ ﺑﻨﺪي ﺷﺪه را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ در آن ﺣﺎﻓﻈﻪ ﺑﺼﻮرت ﺷﻜﻞ زﻳﺮ ﺗﺨﺼﻴﺺ ﻳﺎﻓﺘﻪ اﺳﺖ.
ﻓﺮض ﻛﻨﻴﺪ اﺗﻔﺎﻗﺎت زﻳﺮ رخ ﻣﻲ دﻫﺪ:
oﻓﺮآﻳﻨﺪ Eﺷﺮوع ﻣﻲ ﺷﻮد و 300واﺣﺪ ﺣﺎﻓﻈﻪ درﺧﻮاﺳﺖ ﻣﻲ ﻛﻨﺪ.
oﻓﺮآﻳﻨﺪ 400 ،Aواﺣﺪ ﺣﺎﻓﻈﻪ ﺑﻴﺸﺘﺮ درﺧﻮاﺳﺖ ﻣﻲ ﻛﻨﺪ.
oﻓﺮآﻳﻨﺪ Bﺧﺎﺗﻤﻪ ﻣﻲ ﻳﺎﺑﺪ.
oﻓﺮآﻳﻨﺪ Fﺷﺮوع ﻣﻲ ﺷﻮد و 800واﺣﺪ ﺣﺎﻓﻈﻪ درﺧﻮاﺳﺖ ﻣﻲ ﻛﻨﺪ.
oﻓﺮآﻳﻨﺪ Cﺧﺎﺗﻤﻪ ﻣﻲ ﻳﺎﺑﺪ.
oﻓﺮآﻳﻨﺪ Gﺷﺮوع ﻣﻲ ﺷﻮد و 900واﺣﺪ ﺣﺎﻓﻈﻪ درﺧﻮاﺳﺖ ﻣﻲ ﻛﻨﺪ.
ﺗﻮﺿﻴﺢ دﻫﻴﺪ در ﺻﻮرﺗﻲ ﻛﻪ از اﻟﮕﻮرﻳﺘﻢ ﻫﺎي زﻳﺮ اﺳﺘﻔﺎده ﺷﻮد ،ﻣﺤﺘﻮاي ﺣﺎﻓﻈﻪ ﭘﺲ از ﻫﺮ ﻋﻤﻞ ﭼﻪ ﻣﻴﺒﺎﺷﺪ؟
اﻟﻒ – first-fitب best--fit -ج worst-fit -د -در اﻳﻨﺠﺎ اﺳﺘﻔﺎده از ﻛﺪام اﻟﮕﻮرﻳﺘﻢ از ﻫﻤﻪ ﺑﻬﺘﺮ
ﺑﻮد؟
در ﺻﻮرت وﺟﻮد ﻫﺮ ﮔﻮﻧﻪ ﺳﻮال ﻳﺎ ﻣﺸﻜﻞ ﻣﻲ ﺗﻮاﻧﻴﺪ ﺑﺎ [email protected]ﻣﻜﺎﺗﺒﻪ ﻧﻤﺎﻳﻴﺪ.
ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ.
Segmentation
6
© Copyright 2026 Paperzz