0% found this document useful (0 votes)
19 views58 pages

Application Mapping Concepts

The document discusses key concepts in real-time embedded systems including tasks, applications, jobs, events, determinism, time loading, and temporal parameters such as release time, deadline, start time, and finish time. It provides definitions and descriptions of these terms.

Uploaded by

erfan soltani
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)
19 views58 pages

Application Mapping Concepts

The document discusses key concepts in real-time embedded systems including tasks, applications, jobs, events, determinism, time loading, and temporal parameters such as release time, deadline, start time, and finish time. It provides definitions and descriptions of these terms.

Uploaded by

erfan soltani
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

‫ﺳﻴﺴﺘﻢ ﻫﺎي ﺗﻌﺒﻴﻪ ﺷﺪه‬

‫داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ اﺻﻔﻬﺎن‬


‫داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﺑﺮق و ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬
‫ﭘﺎﻳﻴﺰ ‪1402‬‬
‫ﻧﮕﺎﺷﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎ‬
‫‪Task‬‬

‫• ﻳﻚ وﻇﻴﻔﻪ ﺑﺎ ﻫﺪف ﻣﺸﺨﺺ ﻛﻪ ﻗﺎﺑﻞ ﺗﻘﺴﻴﻢ ﺑﻪ زﻳﺮوﻇﻴﻔﻪ ﻫﺎ ﻧﺒﺎﺷﺪ‪.‬‬

‫• ‪ :Periodic‬ﺑﺎ دوره ﺗﻨﺎوب ﻣﺸﺨﺺ ﺗﻜﺮار ﻣﻲ ﮔﺮدد‪.‬‬

‫• ‪ :Sporadic‬ﻧﻮع ﺧﺎﺻﻲ از دﺳﺘﻪ ﻗﺒﻞ ﻛﻪ ﺣﺪ زﻣﺎﻧﻲ ﺑﻴﻦ دو ﺑﺎر‬


‫ﻣﺘﻮاﻟﻲ اﺟﺮاي آن ﻫﺎ ﻣﺸﺨﺺ اﺳﺖ‪.‬‬

‫• ‪ :Aperiodic‬ﺑﺪون ﻫﻴﭻ دوره ﺗﻨﺎوب و ﺑﻪ ﺷﻜﻞ ‪ Event‬در ﺳﻴﺴﺘﻢ‬


‫اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪3‬‬


‫‪App‬‬

‫• ﻣﺠﻤﻮﻋﻪ اي از وﻇﺎﻳﻒ ﻣﺮﺗﺒﻂ ﻛﻪ ﺑﺮاي ﻫﺪف ﻣﺸﺨﺼﻲ اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫• ‪ :Purely Cyclic App‬ﺗﻤﺎم وﻇﻴﻔﻪ ﻫﺎﻳﺶ ﭘﺮﻳﻮدﻳﻚ اﺳﺖ‪.‬‬

‫• ‪ :Mostly Cyclic App‬اﻏﻠﺐ وﻇﻴﻔﻪ ﻫﺎﻳﺶ ﭘﺮﻳﻮدﻳﻚ اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪4‬‬


‫‪Job‬‬

‫• ﻫﺮ ﺑﺎر اﺟﺮاي ﻳﻚ وﻇﻴﻔﻪ را ﮔﻮﻳﻨﺪ‪.‬‬

‫• ﻋﻤﻮﻣﺎً ﺗﺤﺖ ﺗﺎﺛﻴﺮ ﻳﻚ ‪ Event‬و در زﻣﺎن ﻏﻴﺮ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﺷﺮوع‬
‫ﻣﻲ ﺷﻮد‪.‬‬

‫• وﻳﮋﮔﻲ ﻫﺎي ﻳﻚ ‪ Job‬ﺗﻌﻴﻴﻦ ﻛﻨﻨﺪه ﻧﺤﻮه اﺟﺮاي آن ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬


‫• ‪Temporal‬‬
‫• ‪Functional‬‬
‫• ‪Resource‬‬
‫• ‪Intercommunication‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪5‬‬


‫‪Event‬‬

‫• ﻫﺮ رﺧﺪادي ﻛﻪ درون و ﻳﺎ ﺑﻴﺮون ﺳﻴﺴﺘﻢ روي دﻫﺪ و ﺳﺒﺐ ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ‬


‫روﻧﺪ اﺟﺮاي دﺳﺘﻮرات ﮔﺮدد‪.‬‬

‫• ﻫﻤﮕﺎم )‪ :(Synchronized‬زﻣﺎن رخ دادن آن در ﺗﻮاﻟﻲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ‬


‫ﻣﺸﺨﺺ اﺳﺖ ﻣﺎﻧﻨﺪ ‪.if – else‬‬

‫• ﻧﺎﻫﻤﮕﺎم )‪ :(Asynchronized‬زﻣﺎن آن ﻏﻴﺮ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪6‬‬


‫ﺳﻴﺴﺘﻢ ﻗﻄﻌﻲ )‪(Deterministic‬‬

‫• ﺑﺮ اﺳﺎس ﺣﺎﻟﺖ ﺟﺎري ﺳﻴﺴﺘﻢ و ورودي ﻫﺎ‪ ،‬ﻳﻚ ﺧﺮوﺟﻲ ﻳﻜﺘﺎ و ﻳﻚ‬
‫ﺣﺎﻟﺖ ﺑﻌﺪي ﻣﺸﺨﺺ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﺑﺎﺷﺪ‪.‬‬

‫• ﻗﻄﻌﻴﺖ زﻣﺎﻧﻲ )‪ :(Temporal Deterministic‬در ﺳﻴﺴﺘﻢ ﻗﻄﻌﻲ‬


‫زﻣﺎن ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲ ﻧﻴﺰ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﺑﺎﺷﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪7‬‬


‫‪Time Loading‬‬

‫• درﺻﺪي از زﻣﺎن ﻛﻪ ﺳﻴﺴﺘﻢ ﻛﺎر ﻣﻔﻴﺪ اﻧﺠﺎم ﻣﻲ دﻫﺪ‪.‬‬

‫• ﺑﻪ آن ﺿﺮﻳﺐ ﻛﺎرﺑﺴﺘﮕﻲ )‪ (Utilization‬ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬

‫• ‪ :Time Overloading‬ﺳﻴﺴﺘﻢ ‪ 100‬درﺻﺪ زﻣﺎن ﻣﺸﻐﻮل ﻛﺎر‬


‫ﻣﻔﻴﺪ اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪8‬‬


‫ﭘﺎراﻣﺘﺮﻫﺎي زﻣﺎﻧﻲ‬

‫• ‪ :(ri) Release Time‬زﻣﺎن ﺷﺮوع ﻳﻚ ‪ Job‬ﺟﺪﻳﺪ‬

‫• ‪ :(di) Dead Line‬ﻣﻬﻠﺖ زﻣﺎﻧﻲ ﺑﺮاي اﺟﺮاي ﻳﻚ ‪Job‬‬

‫• ‪ :(Di) Relative Deadline‬ﻓﺎﺻﻠﻪ ﺑﻴﻦ زﻣﺎن ورود ﺗﺎ ﭘﺎﻳﺎن ﻣﻬﻠﺖ‬


‫‪Job‬‬

‫• زﻣﺎن ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﻛﻤﺘﺮ از ﻣﻬﻠﺖ ﻧﺴﺒﻲ ﺑﺎﺷﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪9‬‬


‫ﭘﺎراﻣﺘﺮﻫﺎي زﻣﺎﻧﻲ‬

‫• ‪ :(si) Start Time‬زﻣﺎن ﺷﺮوع اﺟﺮاي ﻳﻚ ‪Job‬‬

‫• ‪ :(fi) Finish Time‬زﻣﺎن ﭘﺎﻳﺎن اﺟﺮاي ﻳﻚ ‪Job‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪10‬‬


‫ﭘﺎراﻣﺘﺮﻫﺎي زﻣﺎﻧﻲ )اداﻣﻪ(‬

‫• ‪ :Feasible Interval‬زﻣﺎﻧﻲ در ﺑﺎزه ]‪ (ri, di‬ﻛﻪ ﮔﺮﻓﺘﻦ ﭘﺎﺳﺦ در‬


‫آن ﻣﻄﻠﻮب اﺳﺖ‪.‬‬

‫• ‪ :Release Time Jitter‬اﮔﺮ ﺗﻌﻴﻴﻦ ‪ ri‬ﺑﻪ ﺻﻮرت دﻗﻴﻖ ﻣﻤﻜﻦ‬


‫ﻧﺒﺎﺷﺪ ﺑﻪ ﺟﺎي آن ﺑﺎزه ]‪ [ri-, ri+‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬
‫• ‪Jittered Job‬‬
‫• ‪Fixed Job‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪11‬‬


‫‪(ei) Execution Time‬‬

‫• زﻣﺎﻧﻲ ﻛﻪ ﭘﺲ از ﺷﺮوع اﺟﺮاي ‪ Ji‬ﻃﻮل ﻣﻲ ﻛﺸﺪ ﺗﺎ اﺟﺮاي آن ﺗﻤﺎم ﺷﻮد‬


‫ﺑﻪ ﺷﺮط آن ﻛﻪ ﻫﻤﻪ ﻣﻨﺎﺑﻊ ﻣﻮرد ﻧﻴﺎز آن ﻓﺮاﻫﻢ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬

‫• ﺑﻪ ﻋﻠﺖ واﺑﺴﺘﮕﻲ زﻣﺎن اﺟﺮا ﺑﻪ آﻣﺎده ﺑﻮدن ﺷﺮاﻳﻂ از ﺟﻤﻠﻪ ورودي ﻫﺎ‪،‬‬
‫ﭘﺲ زﻣﺎن اﺟﺮا ﻧﻴﺰ ﺑﻪ ﺻﻮرت ﺑﺎزه ]‪ [ei-, ei+‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬

‫• ﺑﻨﺎﺑﺮاﻳﻦ در ﺷﺮاﻳﻂ ﻛﺎرﻛﺮد ﺻﺤﻴﺢ ﺑﺎﻳﺪ ‪ ei+ < di‬ﺑﺎﺷﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪12‬‬


‫ﭘﺎراﻣﺘﺮﻫﺎي وﻇﻴﻔﻪ‬

‫• ‪ j :Tj‬اﻣﻴﻦ ‪ Task‬ﺳﻴﺴﺘﻢ‬

‫• ‪ i :Jj,i‬اﻣﻴﻦ ‪ Job‬از ‪ j‬اﻣﻴﻦ ‪ Task‬ﺳﻴﺴﺘﻢ‬

‫• ‪ :(Task Period) Pj‬ﺣﺪاﻗﻞ ﻓﺎﺻﻠﻪ زﻣﺎﻧﻲ ﺑﻴﻦ ‪ release‬ﺷﺪن‬


‫‪ Job‬ﻫﺎي ﻣﺘﻮاﻟﻲ‬

‫• ‪ :ej‬زﻣﺎن اﺟﺮاي ‪ Task‬ﻛﻪ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﻣﺎﻛﺰﻳﻤﻮم ‪ej,i‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪13‬‬


‫ﭘﺎراﻣﺘﺮﻫﺎي وﻇﻴﻔﻪ )اداﻣﻪ(‬

‫• ‪ :(Hyper Period) Hj‬ﻛﻮﭼﻜﺘﺮﻳﻦ ﻣﻀﺮب ﻣﺸﺘﺮك ‪ Pj,i‬ﻫﺎ‬

‫• ﺗﻌﺪاد ﻛﻞ ‪ Job‬ﻫﺎي اﺟﺮا ﺷﺪه در ﻳﻚ ﻫﺎﻳﭙﺮ ﭘﺮﻳﻮد‪:‬‬

‫‪,‬‬

‫‪,‬‬ ‫• ‪ :Uj‬ﻛﺎرﺑﺴﺘﮕﻲ ﻛﻞ ‪ Task‬ﻛﻪ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪14‬‬


‫ﻣﺜﺎل‬

‫‪J1 J2‬‬ ‫‪J3‬‬


‫زﻣﺎن اﺟﺮا‬ ‫‪1 1‬‬ ‫‪3‬‬
‫ﭘﺮﻳﻮد‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪10‬‬

‫• ‪H = 60‬‬

‫• ﺗﻌﺪاد ‪ Job‬ﻫﺎ در ﻳﻚ ﻫﺎﻳﭙﺮ ﭘﺮﻳﻮد = ‪41‬‬

‫• ‪U = 0.33 + 0.25 + 0.3 = 0.88‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪15‬‬


‫ﻣﺤﺪودﻳﺖ ﻫﺎي ﺗﻘﺪﻣﻲ‬

‫• ‪Job‬ﻫﺎ را ﻧﻤﻲ ﺗﻮان ﺑﻪ ﻫﺮ ﺗﺮﺗﻴﺐ دﻟﺨﻮاﻫﻲ اﺟﺮا ﻛﺮد‪.‬‬

‫درﻳﺎﻓﺖ داده‬ ‫ﺑﺮرﺳﻲ ﺻﺤﺖ داده‬ ‫ارﺳﺎل ‪Ack‬‬

‫• ‪ Jk‬ﺑﻪ ‪ Ji‬واﺑﺴﺘﮕﻲ ﺗﻘﺪﻣﻲ دارد اﮔﺮ ‪ Jk‬در اﺟﺮا ﺗﻨﻬﺎ ﺑﻌﺪ از ‪ Ji‬ﺑﺘﻮاﻧﺪ‬
‫ﻗﺮار ﺑﮕﻴﺮد‪:‬‬
‫‪Ji < Jk‬‬

‫• ‪ Ji‬ﻣﻘﺪم ﺑﻼﻓﺼﻞ ‪ Jk‬اﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﻫﻴﭻ ‪ Jj‬را ﻧﺘﻮان ﭘﻴﺪا ﻛﺮد ﻛﻪ ‪Ji < Jj < Jk‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪16‬‬


‫ﮔﺮاف ﺗﻘﺪم‬

‫• ﻣﻌﺎدل ﻫﺮ ‪ Job‬ﻳﻚ راس وﺟﻮد دارد‪.‬‬

‫• ﺑﻴﻦ ‪ Ji‬و ‪ Jk‬ﻳﻚ ﻳﺎل ﺟﻬﺖ دار وﺟﻮد دارد ﭼﻨﺎن ﭼﻪ ‪ Ji‬ﻣﻘﺪم ﺑﺮ ‪ Jk‬ﺑﺎﺷﺪ‪.‬‬

‫‪Ji‬‬ ‫‪Jk‬‬

‫• ‪ Ji‬و ‪ Jk‬ﻣﺴﺘﻘﻞ ﻫﺴﺘﻨﺪ اﮔﺮ ﻧﻪ ‪ Ji < Jk‬و ﻧﻪ ‪ Jk < Ji‬ﺑﺮﻗﺮار ﻧﺒﺎﺷﻨﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪17‬‬


‫اﻧﻮاع واﺑﺴﺘﮕﻲ‬

‫• واﺑﺴﺘﮕﻲ داده اي‪ :‬دو ‪ Job‬از ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺘﻐﻴﺮ ﻣﺸﺘﺮك اﺳﺘﻔﺎده ﻛﻨﻨﺪ‪.‬‬

‫• واﺑﺴﺘﮕﻲ زﻣﺎﻧﻲ‪ :‬ﻓﺎﺻﻠﻪ زﻣﺎﻧﻲ ﺑﻴﻦ ﺷﺮوع اﺟﺮاي ‪ Job‬دوم از اﻧﺘﻬﺎي ‪ Job‬اول‬
‫ﻣﺤﺪود ﺷﺪه ﺑﺎﺷﺪ ﻛﻪ ﺑﻪ اﻳﻦ ﺣﺪ ﻓﺎﺻﻠﻪ زﻣﺎﻧﻲ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪18‬‬


‫‪And Precedence‬‬

‫• ﺗﻤﺎم ‪ Job‬ﻫﺎي ﻣﻘﺪم ﺑﺎﻳﺪ اﺟﺮا ﺷﻮﻧﺪ ﺗﺎ ‪ Job‬ﺟﺪﻳﺪ ﺑﺘﻮاﻧﺪ ‪ Release‬ﺷﻮد‪.‬‬

‫‪J1‬‬

‫‪J2‬‬ ‫‪J4‬‬

‫‪J3‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪19‬‬


‫‪Or Precedence‬‬

‫• اﺟﺮاي ﺗﻌﺪاد ﻣﺤﺪودي از ‪ Job‬ﻫﺎي ﻣﻘﺪم ﺑﺮاي‪ Release‬ﺷﺪن ‪ Job‬ﺟﺪﻳﺪ‬


‫ﻛﺎﻓﻲ اﺳﺖ‪.‬‬

‫‪J1‬‬

‫‪J2‬‬ ‫‪2/3‬‬ ‫‪J4‬‬

‫‪J3‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪20‬‬


Branch
X Y
while (true)
input x, y
Branch Job
if (x < y) then
Job1
else J1 J2
Job2
end if
Join Job
end while

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 21
‫ﭘﺎراﻣﺘﺮﻫﺎي زﻣﺎﻧﻲ ﺑﺮ اﺳﺎس ﺗﻘﺪم‬

‫• ‪ :Effective Release Time‬ﻣﺎﻛﺰﻳﻤﻮم ‪ Release Time‬ﺗﻤﺎم ‪ Job‬ﻫﺎي ﻣﻘﺪم و ﺧﻮد‬


‫‪.Job‬‬

‫• ‪ :Effective Deadline‬ﻣﻴﻨﻴﻤﻮم ‪ Deadline‬ﻳﻚ ‪ Job‬و ﺗﻤﺎم ‪ Job‬ﻫﺎﻳﻲ ﻛﻪ ﺑﺮ آن ﻫﺎ‬


‫ﻣﻘﺪم اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪22‬‬


‫ﻣﺜﺎل‬

Eff. R. T. Eff. D. L.
(2,10] (1,12] (4,9] (0,20] J1 2 8
J1 J3 J4 J6 J2 0 7
J3 2 8
J4 4 9
J5 2 8
J2 J5 J7
J6 4 20
(0,7] (1,8] (6,21]
J7 6 21

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 23
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻋﻤﻠﻜﺮدي‬

Preemptivity •

Criticality •

Laxity •

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 24
‫‪Premptivity‬‬

‫• ‪ :Preemptable‬ﻳﻚ ‪ Job‬ﻛﻪ ﺑﺘﻮان اﺟﺮاي آن را ﻣﻮﻗﺘﺎ ﻗﻄﻊ و ﻳﻚ‬


‫‪ Job‬دﻳﮕﺮ را اﺟﺮا ﻧﻤﻮد‪.‬‬

‫• ‪ :Non-Preemptable‬ﻳﻚ ‪ Job‬ﻛﻪ ﻧﺘﻮان اﺟﺮاي آن را ﺗﺎ ﭘﺎﻳﺎن‬


‫ﻗﻄﻊ ﻛﺮد‪.‬‬

‫• در زﻣﺎن ﺗﻐﻴﻴﺮ ‪ Job‬ﺑﺎﻳﺪ ﺷﺮاﻳﻂ ﺟﺎري ﺳﻴﺴﺘﻢ ﺑﺮاي ﺑﺮﮔﺸﺖ ذﺧﻴﺮه ﺷﻮﻧﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪25‬‬


‫‪) Premptivity‬اداﻣﻪ(‬

‫• ‪ Job‬ﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ ﻋﻤﻮﻣﺎً ‪ Preemptable‬ﻫﺴﺘﻨﺪ‪.‬‬

‫• ذﺧﻴﺮه ﺷﺮاﻳﻂ ﺑﺮاي ﺗﻐﻴﻴﺮ ‪ Job‬ﺑﻪ ﺻﻮرت ‪ Non-Preemptable‬اﺳﺖ‪.‬‬

‫• در ﺑﺮﺧﻲ از ‪ Job‬ﻫﺎ ﺗﻨﻬﺎ ﻳﻚ ﺑﺨﺶ ‪ Non-Preemptable‬اﺳﺖ‪.‬‬

‫• در ﺑﺮﺧﻲ ﻣﻮاﻗﻊ ﻣﻨﺒﻊ ﺗﺨﺼﻴﺺ ﻳﺎﻓﺘﻪ ﺳﺒﺐ ‪ Non-Preemptable‬ﺷﺪن ﻣﻲ ﮔﺮدد‪.‬‬

‫• در ﻳﻚ ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺮدازﻧﺪه اي اﮔﺮ ﺑﺘﻮان ﻳﻚ ‪ Job‬را روي ﻳﻚ ﭘﺮدازﻧﺪه ﺷﺮوع و ﺑﺮ‬
‫روي دﻳﮕﺮي اداﻣﻪ داد ﺳﻴﺴﺘﻢ ﻣﻬﺎﺟﺮت ﭘﺬﻳﺮ ﻧﺎﻣﻴﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪26‬‬


‫‪Criticality‬‬

‫• ﻫﻤﻪ ‪ Job‬ﻫﺎ از ﻳﻚ درﺟﻪ اﻫﻤﻴﺖ ﺑﺮﺧﻮردار ﻧﻴﺴﺘﻨﺪ‪.‬‬

‫• درﺟﻪ اﻫﻤﻴﺖ را ﺑﺎ ﻳﻚ ﻋﺪد ﻣﺜﺒﺖ ﻧﺸﺎن ﻣﻲ دﻫﻨﺪ ﻛﻪ ﻫﺮ ﭼﻪ ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‬


‫اﻫﻤﻴﺖ ﺑﺎﻻﺗﺮ اﺳﺖ‪.‬‬

‫• زﻣﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ‪ Overload‬اﺳﺖ ﺑﻪ ﺳﺮاغ ‪ Job‬ﺑﺎ اﻫﻤﻴﺖ ﺑﻴﺸﺘﺮ ﻣﻲ روﻳﻢ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪27‬‬


‫‪) Criticality‬اداﻣﻪ(‬

‫• ﺣﺎﻟﺖ ﭘﺎﻳﻪ‬

‫• ‪ Job‬اﺧﺘﻴﺎري‬

‫• ‪ Job‬اﺟﺒﺎري‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪28‬‬


‫اوﻟﻮﻳﺖ وﻇﺎﻳﻒ‬

‫• اﻧﻮاع اوﻟﻮﻳﺖ‪:‬‬

‫• ‪ :Foreground‬درﺑﺮﮔﻴﺮﻧﺪه ‪ Task‬ﻫﺎي ﺑﺎ اوﻟﻮﻳﺖ ﺑﺎﻻ‪ ،‬ﺑﺤﺮاﻧﻲ و ‪RT‬‬

‫• ‪ :Background‬درﺑﺮﮔﻴﺮﻧﺪه ‪ Task‬ﻫﺎي ﻏﻴﺮ ﻣﻬﻢ ﻛﻪ ﺗﻨﻬﺎ وﻗﺘﻲ ﭘﺮدازﻧﺪه آزاد ﺑﺎﺷﺪ اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫• ‪ :Rate Monotonic System‬اوﻟﻮﻳﺖ ﻫﺮ ﻛﺎر ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻧﺮخ وﻗﻮع آن ﺗﻐﻴﻴﺮ ﻣﻲ ﻛﻨﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪29‬‬


‫‪Laxity‬‬

‫• ﺣﺪاﻛﺜﺮ زﻣﺎﻧﻲ ﻛﻪ ﻣﻲ ﺗﻮان اﺟﺮاي ﻳﻚ ‪ Job‬را ﺑﻪ ﺗﺎﺧﻴﺮ اﻧﺪاﺧﺖ ﺑﺪون آن ﻛﻪ‬


‫از دﺳﺖ ﺑﺮود‪.‬‬

‫• ﻣﺤﺎﺳﺒﻪ ﺑﺮ اﺳﺎس‪:‬‬

‫• ﻣﺤﺪودﻳﺖ زﻣﺎن ﻗﻄﻌﻲ‬


‫• اﺣﺘﻤﺎل و ﻣﺤﺪودﻳﺖ زﻣﺎﻧﻲ‬
‫• ﺗﺎﺑﻊ ﻣﻔﻴﺪﺑﻮدن‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪30‬‬


‫ﻣﻨﺎﺑﻊ ﺳﻴﺴﺘﻢ )‪(Resources‬‬

‫• ﭘﺮدازﻧﺪه ‪Active /‬‬

‫• ﻣﻨﺒﻊ ‪Passive /‬‬

‫• ﻫﺮ ‪ Job‬ﺣﺘﻤﺎً ﺣﺪاﻗﻞ ﻳﻚ ﭘﺮدازﻧﺪه ﻣﻲ ﺧﻮاﻫﺪ اﻣﺎ ﻣﻤﻜﻦ اﺳﺖ ﻣﻨﺒﻊ‬


‫ﻧﺨﻮاﻫﺪ‪.‬‬

‫• ﺑﺮاي ﭘﺮدازﻧﺪه ﻳﻚ ﺳﺮﻋﺖ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد اﻣﺎ ﺑﺮاي ﻣﻨﺒﻊ ﻧﻪ‪.‬‬

‫• ﻣﻨﺎﺑﻊ ﻋﻤﻮﻣﺎً ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻣﺠﺪد )‪ (Reusable‬ﻫﺴﺘﻨﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪31‬‬


‫ﻣﻨﺎﺑﻊ ﺳﻴﺴﺘﻢ )اداﻣﻪ(‬

‫• دو ﭘﺮدازﻧﺪه ﻣﻌﺎدل ﻫﺴﺘﻨﺪ اﮔﺮ ﺗﻮان ﻋﻤﻠﻴﺎﺗﻲ ﻳﻜﺴﺎن داﺷﺘﻪ ﺑﺎﺷﻨﺪ و‬


‫ﺑﺘﻮان آن ﻫﺎ را ﺑﻪ ﺟﺎي ﻳﻜﺪﻳﮕﺮ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬

‫• ﻣﻨﺒﻊ داراي ‪ n‬واﺣﺪ اﺳﺖ اﮔﺮ ﺑﺘﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن ﺗﻮﺳﻂ ‪n‬‬
‫ﻋﺪد ‪ Job‬اﺳﺘﻔﺎده ﺷﻮد‪.‬‬

‫• ﻣﻨﺒﻊ ‪ Plentiful‬اﺳﺖ اﮔﺮ ﻫﻴﭻ ﮔﺎه ﻫﻴﭻ ‪ Job‬اي از اﺳﺘﻔﺎده از آن‬


‫ﻣﻨﻊ ﻧﺸﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪32‬‬


‫ﻣﺪل ﻛﻠﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻲ درﻧﮓ‬

Task Graph

Processors Resources

Resource Graph

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 33
‫اﻧﻮاع ﺳﻴﺴﺘﻢ‬

‫• ﺗﻚ ﭘﺮدازﻧﺪه‬

‫• ﭼﻨﺪ ﭘﺮدازﻧﺪه‬
Multiprocessor •

Mem 1 Mem 2 … Mem n

Interconnection Network

CPU 1 CPU 2 … CPU m

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 34
‫اﻧﻮاع ﺳﻴﺴﺘﻢ‬

‫• ﺗﻚ ﭘﺮدازﻧﺪه‬

‫• ﭼﻨﺪ ﭘﺮدازﻧﺪه‬
Multiprocessor •
Multicomputer •

Interconnection Network

CPU 1 CPU 2 … CPU n

Mem 1 Mem 2 … Mem n

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 35
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﻨﺒﻊ‬

‫• ﻣﻨﺒﻊ ﻣﻤﻜﻦ اﺳﺖ ‪ Non-Preemptable‬ﺑﺎﺷﺪ‪.‬‬

‫• اﮔﺮ ﻳﻚ ﻣﻨﺒﻊ زﻳﺮﻣﺠﻤﻮﻋﻪ ﻣﻨﺒﻊ ﺑﺰرﮔﺘﺮ ﺑﺎﺷﺪ ﺑﺎ ﺗﺨﺼﻴﺺ ﻣﻨﺒﻊ ﺑﺰرگ‬


‫دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻨﺒﻊ ﻛﻮﭼﻚ را اﺧﺘﺼﺎص داد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪36‬‬


‫ﮔﺮاف ﻣﻨﺒﻊ‬

‫• ﺑﺮاي ﻫﺮ ﻣﻨﺒﻊ ﻳﻚ راس ﻣﺘﻨﺎﻇﺮ وﺟﻮد دارد‪.‬‬

‫• اﻧﻮاع ﻳﺎل‪:‬‬

‫• ‪ :Accessibility‬ﻧﺸﺎن دﻫﻨﺪه ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻨﺒﻊ اﺳﺖ ﻛﻪ ﻣﻲ ﺗﻮان ﻫﺰﻳﻨﻪ‬


‫ارﺗﺒﺎط را ﺑﻪ ﺻﻮرت وزن ﻳﺎل ﻧﺸﺎن داد‪.‬‬

‫• ‪ :Is-A-Part-Of‬ﻧﺸﺎن دﻫﻨﺪه زﻳﺮﻣﺠﻤﻮﻋﻪ ﻫﺎي ﻫﺮ ﻣﻨﺒﻊ اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪37‬‬


‫ﺗﻌﺮﻳﻒ زﻣﺎن ﺑﻨﺪي‬

‫• اﮔﺮ ﭘﺮدازﻧﺪه ‪ Pi‬در ﺑﺎزه زﻣﺎﻧﻲ ]‪ (t0, t1‬ﺑﻪ ﻳﻚ ‪ Job‬ﻣﺎﻧﻨﺪ ‪ Jj‬ﺗﺨﺼﻴﺺ داده‬
‫ﺷﻮد آن ﮔﺎه ﻣﻲ ﮔﻮﻳﻴﻢ ‪ Jj‬روي ‪ Pi‬در ]‪ (t0, t1‬زﻣﺎن ﺑﻨﺪي ﺷﺪه اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪38‬‬


‫ﺷﺮاﻳﻂ زﻣﺎن ﺑﻨﺪي‬

‫‪ .۱‬در ﻫﺮ ﻟﺤﻈﻪ ﻳﻚ ﭘﺮدازﻧﺪه ﺗﻨﻬﺎ ﺑﻪ ﻳﻚ ‪ Job‬ﺗﺨﺼﻴﺺ داده ﺷﻮد‪.‬‬


‫‪ .۲‬در ﻫﺮ ﻟﺤﻈﻪ ﻳﻚ ‪ Job‬ﺗﻨﻬﺎ ﺑﻪ ﻳﻚ ﭘﺮدازﻧﺪه ﺗﺨﺼﻴﺺ داده ﺷﻮد‪.‬‬
‫‪ .۳‬ﻫﻴﭻ ‪ Job‬اي ﻗﺒﻞ از ‪ Ri‬زﻣﺎن ﺑﻨﺪي ﻧﺸﻮد‪.‬‬
‫‪ .۴‬ﻛﻞ زﻣﺎن ﺗﺨﺼﻴﺺ داده ﺷﺪه ﻳﻚ ﭘﺮدازﻧﺪه از ﺣﺪاﻛﺜﺮ ﻣﺠﺎز ﺑﻴﺸﺘﺮ ﻧﺸﻮد‪.‬‬
‫‪ .۵‬واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﻘﺪﻣﻲ و اﺳﺘﻔﺎده از ﻣﻨﺎﺑﻊ رﻋﺎﻳﺖ ﺷﻮد‪.‬‬

‫اﻳﻦ زﻣﺎن ﺑﻨﺪي ﻣﻌﺘﺒﺮ اﺳﺖ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪39‬‬


‫وﻳﮋﮔﻲ ﻫﺎي زﻣﺎن ﺑﻨﺪي‬

‫• ‪ :Feasibility‬ﻣﺤﺪودﻳﺖ ﻫﺎي زﻣﺎﻧﻲ ‪ Job‬ﻫﺎ را ﺑﺮآورده ﻧﻤﺎﻳﺪ‪.‬‬

‫• ‪ :Optimality‬ﻳﻚ اﻟﮕﻮرﻳﺘﻢ زﻣﺎن ﺑﻨﺪي ‪ Optimal‬اﺳﺖ اﮔﺮ ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ ‪Job‬‬


‫ﻛﻪ زﻣﺎن ﺑﻨﺪي ‪ Feasible‬دارﻧﺪ ﻳﻚ زﻣﺎن ﺑﻨﺪي ‪ Feasible‬اراﺋﻪ دﻫﺪ‪.‬‬

‫• ‪ :Performance‬ﭘﺲ از اوﻟﻮﻳﺖ زﻣﺎﻧﻲ‪ ،‬ﺳﺎﻳﺮ ﭘﺎراﻣﺘﺮﻫﺎ ﻣﺎﻧﻨﺪ ﻛﺎرﺑﺴﺘﮕﻲ و ‪ ...‬در ﻧﻈﺮ‬


‫ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪40‬‬


‫وﻳﮋﮔﻲ ﻫﺎي زﻣﺎن ﺑﻨﺪي )اداﻣﻪ(‬

‫• ‪ :Tardiness‬ﻣﻴﺰان ﺗﺎﺧﻴﺮ ﻧﺴﺒﺖ ﺑﻪ ‪ deadline‬ﻛﻪ ﺣﺘﻤﺎً ﺑﺰرﮔﺘﺮ ﻳﺎ ﻣﺴﺎوي ﺻﻔﺮ اﺳﺖ‪.‬‬

‫• ‪ :Lateness‬ﺷﺒﻴﻪ ‪ Tardiness‬اﺳﺖ وﻟﻲ در ﺻﻮرت اﻧﺠﺎم ﻛﺎر ﻗﺒﻞ از ‪ deadline‬ﻣﻲ ﺗﻮاﻧﺪ‬


‫ﻣﻨﻔﻲ ﺑﺎﺷﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪41‬‬


‫وﻳﮋﮔﻲ ﻫﺎي زﻣﺎن ﺑﻨﺪي )اداﻣﻪ(‬

‫• ‪ :Makespan‬زﻣﺎن ﺑﻨﺪي ﺑﺮاي ‪ Job‬ﻫﺎ اﺳﺖ ﻛﻪ در آن زود ﺗﺮﻳﻦ زﻣﺎﻧﻲ ﻛﻪ ﻫﻤﻪ ‪ Job‬ﻫﺎ‬
‫اﺟﺮا ﺷﺪه ﺑﺎﺷﻨﺪ ﺣﺎﺻﻞ ﻣﻲ ﺷﻮد‪.‬‬

‫• ﻛﻮﺗﺎه ﺗﺮﻳﻦ زﻣﺎن ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ را ﺳﺒﺐ ﻣﻲ ﺷﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪42‬‬


ri di Ei
‫ﻣﺜﺎل‬
J1 0 2 1
J2 1 4 2
J3 1 5 1

S1 S2

J1 J2 J2 J3 J1 J3 J2 J2

𝐽1: 1 2 1 𝐽1: 1 2 1
Latency 𝐽2: 3 4 1 Latency 𝐽2: 4 4 0
𝐽3: 4 5 1 𝐽3: 2 5 3

.‫ ﻫﺴﺘﻨﺪ‬Makespan ‫ﻫﺮ دو‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 43
‫اﻧﻮاع زﻣﺎن ﺑﻨﺪي‬

‫• اﺳﺘﺎﺗﻴﻚ‬
‫• ‪ :Dispatcher‬ﺑﺮ اﺳﺎس ﺟﺪوﻟﻲ ﻛﻪ در زﻣﺎن ﻃﺮاﺣﻲ ﻣﻘﺪاردﻫﻲ ﺷﺪه اﺳﺖ در زﻣﺎن ﻫﺎي ﻣﺸﺨﺺ وﻇﻴﻔﻪ‬
‫ﺗﻌﻴﻴﻦ ﺷﺪه را ﺑﺮ روي ﭘﺮدازﻧﺪه اﺟﺮا ﻣﻲ ﻛﻨﺪ‪.‬‬

‫• دﻳﻨﺎﻣﻴﻚ‬
‫• ‪ :Scheduler‬در ﻫﺮ ﻟﺤﻈﻪ ﺑﻪ ﺻﻮرت ﺑﺮﺧﻂ وﻇﺎﻳﻒ را ﺑﺮ اﺳﺎس اوﻟﻮﻳﺘﺸﺎن زﻣﺎن ﺑﻨﺪي ﻣﻲ ﻧﻤﺎﻳﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪44‬‬


‫ﻧﺴﺒﺖ رﻗﺎﺑﺘﻲ‬

‫• ارزش ﻳﻚ ‪ Job‬ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ زﻣﺎن اﺟﺮاي آن اﮔﺮ در ﻣﺤﺪوده زﻣﺎﻧﻲ ﻣﺠﺎز اﻧﺠﺎم ﺷﻮد و در ﻏﻴﺮ اﻳﻦ‬
‫ﺻﻮرت ﺻﻔﺮ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫• ﻧﺴﺒﺖ رﻗﺎﺑﺘﻲ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ‪ Online‬ﺑﺮاﺑﺮ ‪ C‬اﺳﺖ اﮔﺮ ارزش ‪ Job‬ﻫﺎي زﻣﺎن ﺑﻨﺪي ﺷﺪه ‪ C‬ﺑﺮاﺑﺮ زﻣﺎن‬
‫ﺑﻨﺪي ‪ Offline‬آن ﻫﺎ ﺑﺎﺷﺪ‪.‬‬

‫• ﻗﻀﻴﻪ‪ :‬در ﺷﺮاﻳﻄﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ‪ Overload‬اﺳﺖ ﻧﺴﺒﺖ رﻗﺎﺑﺘﻲ ﺑﻬﺘﺮﻳﻦ اﻟﮕﻮرﻳﺘﻢ زﻣﺎن ﺑﻨﺪي ‪Online‬‬
‫ﺣﺪاﻛﺜﺮ ‪ 0.25‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪45‬‬


‫ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ‬

‫• زﻣﺎن ﺑﻨﺪي ‪ :Maximal‬ﺑﺮاي ﺗﻤﺎم ‪ Job‬ﻫﺎ ﺣﺪاﻛﺜﺮ زﻣﺎن اﺟﺮا را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ )‪.(ei+‬‬
‫• زﻣﺎن ﺑﻨﺪي ‪ :Minimal‬ﺑﺮاي ﺗﻤﺎم ‪ Job‬ﻫﺎ ﺣﺪاﻗﻞ زﻣﺎن اﺟﺮا را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ )‪.(ei-‬‬
‫• زﻣﺎن ﺑﻨﺪي ‪ :Actual‬ﺑﺮاي ﺗﻤﺎم ‪ Job‬ﻫﺎ زﻣﺎن واﻗﻌﻲ اﺟﺮا را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ )‪.(ei‬‬

‫• ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ اﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺑﺮاي ﻫﺮ ‪ Job‬داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪:‬‬
‫‪s i- ≤ s i ≤ s i+‬‬
‫‪fi - ≤ fi ≤ fi +‬‬
‫زﻣﺎن ﺷﺮوع اﺟﺮا‬ ‫زﻣﺎن ﭘﺎﻳﺎن اﺟﺮا‬
‫زﻣﺎن ﺑﻨﺪي ‪Maximal‬‬ ‫‪si+‬‬ ‫‪fi+‬‬
‫زﻣﺎن ﺑﻨﺪي ‪Minimal‬‬ ‫‪si-‬‬ ‫‪fi-‬‬
‫زﻣﺎن ﺑﻨﺪي ‪Actual‬‬ ‫‪si‬‬ ‫‪fi‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪46‬‬


‫زﻣﺎن ﺑﻨﺪي ‪ Job‬ﻫﺎي ﻣﺘﻨﺎوب و ﻏﻴﺮ ﻣﺘﻨﺎوب‬

‫• اﺑﺘﺪا ‪ Job‬ﻫﺎي ﻣﺘﻨﺎوب زﻣﺎن ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ‪.‬‬

‫• زﻣﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﻴﻜﺎر اﺳﺖ )از دﻳﺪ ‪ Job‬ﻫﺎي ﻣﺘﻨﺎوب( ﺑﻪ ﺻﻒ ﻛﺎرﻫﺎي ﻏﻴﺮﻣﺘﻨﺎوب ﺳﺮوﻳﺲ‬
‫داده ﻣﻲ ﺷﻮد‪.‬‬

‫ﻛﺎري ﻛﻪ در ﻟﺤﻈﻪ 𝑡 ﺑﺎﻳﺪ اﺟﺮا ﺷﻮد‪.‬‬ ‫𝑇‪𝑇 ,𝑇 ,…,‬‬


‫𝑡 𝑇‬
‫𝐼‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪47‬‬


‫دﺳﺘﻪ ﺑﻨﺪي ﻛﻠﻲ روش ﻫﺎي زﻣﺎن ﺑﻨﺪي‬

Round Robbin •

Weighted Round Robin •


Priority Driven •

Greedy Scheduling •

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 48
‫اﻟﮕﻮرﻳﺘﻢ ‪EDF‬‬

‫• اوﻟﻮﻳﺖ ﺑﺎ ‪ Job‬اي اﺳﺖ ﻛﻪ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ‪ Deadline‬را دارد‪.‬‬

‫• اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺻﻮرت ‪ Online‬ﻋﻤﻞ ﻣﻲ ﻧﻤﺎﻳﺪ‪.‬‬

‫• زﻣﺎﻧﻲ ‪ Optimal‬اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ‪ Preemptive‬ﺑﺎﺷﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪49‬‬


‫‪R. T.‬‬ ‫‪D. L.‬‬ ‫‪ Optimal‬ﺑﻮدن اﻟﮕﻮرﻳﺘﻢ ‪EDF‬‬
‫‪J1‬‬ ‫‪r1‬‬ ‫‪d1‬‬
‫‪J2‬‬ ‫‪r2‬‬ ‫‪d2‬‬
‫• ﻓﺮض ﻛﻨﻴﻢ در زﻣﺎن ﺑﻨﺪي ‪ Feasible‬ﻣﻮﺟﻮد ‪ J1‬ﻗﺒﻞ از ‪ J2‬زﻣﺎن ﺑﻨﺪي ﺷﻮد‪:‬‬

‫‪ .۱‬اﮔﺮ ‪ d1 < d2‬ﺑﺎﺷﺪ ﻛﻪ ﻣﻄﺎﺑﻖ ‪ EDF‬ﻋﻤﻞ ﺷﺪه اﺳﺖ‪.‬‬

‫‪ .۲‬اﮔﺮ ‪ d1 > d2‬وﻟﻲ ‪ r2 > r1 + E1‬ﺑﺎز ﻫﻢ ‪ EDF‬رﻋﺎﻳﺖ ﺷﺪه اﺳﺖ‪.‬‬

‫‪ .۳‬اﮔﺮ ‪ d1 > d2‬و ‪ r2 < r1 + E1‬ﺑﺎﺷﺪ ﭼﻨﺎن ﭼﻪ ﺳﻴﺴﺘﻢ ‪ Preemptive‬ﺑﺎﺷﺪ ﻣﻲ ﺗﻮان‬


‫‪ J1‬را ﻣﺘﻮﻗﻒ و ‪ J2‬را ﺷﺮوع ﻛﺮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪50‬‬


‫ﻣﺜﺎل ‪EDF‬‬

‫]‪3(0,6‬‬ ‫]‪2(5,8‬‬

‫‪J1‬‬ ‫‪J2‬‬

‫‪J3‬‬
‫]‪2(2,7‬‬

‫‪J1 J1 J1 J3 J3 J2 J2‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪51‬‬


‫اﻟﮕﻮرﻳﺘﻢ ‪LRT‬‬

‫• اوﻟﻮﻳﺖ ﺑﺎ ‪ Job‬اي اﺳﺖ ﻛﻪ دﻳﺮﺗﺮﻳﻦ ‪ Release Time‬را دارد‪.‬‬

‫• ﻋﺠﻠﻪ اي ﺑﺮاي اﺟﺮاي ﻳﻚ ‪ Job‬وﺟﻮد ﻧﺪارد‪.‬‬

‫• ﺑﻪ ﻧﻮﻋﻲ دوﮔﺎن ‪ EDF‬ﻣﺤﺴﻮب ﻣﻲ ﺷﻮد‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪52‬‬


‫ﻣﺜﺎل ‪LRT‬‬

‫]‪3(0,6‬‬ ‫]‪2(5,8‬‬

‫‪J1‬‬ ‫‪J2‬‬

‫‪J3‬‬
‫]‪2(2,7‬‬

‫‪1‬‬ ‫‪J1‬‬ ‫‪J1‬‬ ‫‪J1‬‬ ‫‪J3‬‬ ‫‪J3‬‬ ‫‪J2‬‬ ‫‪J2‬‬

‫‪ J1‬آﻣﺎده ﺑﻪ ﻛﺎر اﺳﺖ اﻣﺎ‬


‫ﺳﻴﺴﺘﻢ ‪ IDLE‬ﻣﻲ ﻣﺎﻧﺪ‪.‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪53‬‬


EDF ‫ﻣﺜﺎل از ﺑﻬﻴﻨﻪ ﻧﺒﻮدن‬

e r d
J1 1 0 1
J2 1 0 2
J3 5 0 5

P1
J1 J3 J3 J3 J3 J3

Missed Deadline
P2
J2

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 54
‫اﻟﮕﻮرﻳﺘﻢ ‪LST‬‬

‫• اوﻟﻮﻳﺖ ﺑﺎ ‪ Job‬اي اﺳﺖ ﻛﻪ ‪ Slack Time‬ﻛﻤﺘﺮي دارد‪.‬‬

‫• *‪Slack Time = d – t – e‬‬

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ ‫‪55‬‬


LST ‫ﻣﺜﺎل‬

e r d
J1 1 0 1
J2 1 0 2
J3 5 0 5

P1
J1 J2

P2
J3 J3 J3 J3 J3

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 56
EDF ‫ﭼﺎﻟﺶ دﻳﮕﺮ‬
r d e
J1 0 10 5
J2 0 10 [2, 6]
J3 4 15 8
J4 0 20 10

e2 = 6

P1
J1 J1 J1 J1 J1 J3 J3 J3 J3 J3 J3 J3 J3

P2
J2 J2 J2 J2 J2 J2 J4 J4 J4 J4 J4 J4 J4 J4 J4 J4

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 57
EDF ‫ﭼﺎﻟﺶ دﻳﮕﺮ‬
r d e
J1 0 10 5
J2 0 10 [2, 6]
J3 4 15 8
J4 0 20 10

e2 = 3

‫رﻓﺘﺎر ﻏﻴﺮﻋﺎدي‬
P1
J1 J1 J1 J1 J1

Missed Deadline

P2
J2 J2 J2 J4 J3 J3 J3 J3 J3 J3 J3 J3 J3 J4 J4 J4 J4 J4 J4 J4 J4 J4

‫اﻣﻴﺮ ﺧﻮرﺳﻨﺪي‬ 58

You might also like