ﺩﺭﺱ ﺳﻴﺴﺘﻢﻫﺎﯼ ﻋﺎﻣﻞ )ﺩﻛﺘﺮ ﺟﻠﻴﻠﻲ( ﺯﻣﺴﺘﺎﻥ ۱۳۸۶ ﺗﻤﺮﻳﻦ ﮐﺎﻣﭙﻴﻮﺗﺮﯼ ۳ ﺗﺎﺭﻳﺦ ﺗﺤﻮﻳﻞ :ﺷﻨﺒﻪ ۱۳۸۶/۱۱/۶ ﻧﮑﺎﺕ ﻗﺎﺑﻞ ﺗﻮﺟﻪ .۱ﺗﻤﺮﻳﻦﻫﺎﯼ ﮐﺎﻣﭙﻴﻮﺗﺮﯼ ﺑﺎﻳﺪ ﺩﺭ ﮔﺮﻭﻩﻫﺎﯼ ﺩﻭ ﻧﻔﺮﻩ ﺍﻧﺠﺎﻡ ﺷﻮﺩ. .۲ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ ﺩﺭ ﻣﺤﻴﻂ ﻟﻴﻨﻮﮐﺲ ﻭ ﺑﺎ ﺯﺑﺎﻥ C/C++ﻧﻮﺷﺘﻪ ﺷﻮﻧﺪ. .۳ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ Makefileﺑﺮﺍﯼ ﺳﺎﺧﺖ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺍﻟﺰﺍﻣﯽ ﺍﺳﺖ .ﺍﻃﻼﻋﺎﺕ ﻣﺮﺑﻮﻁ ﺑﻪ ﻧﻮﺷﺘﻦ Makefileﺩﺭ ﺑﺨﺶ ﻣﻨﺎﺑﻊ ﻭﺏﺳﺎﻳﺖ ﺩﺭﺱ ﻣﻮﺟﻮﺩ ﺍﺳﺖ. .۴ﺗﻤﺎﺭﻳﻦ ﺑﺎﻳﺪ ﺗﺎ ﭘﺎﻳﺎﻥ ﻭﻗـﺖ ﺗﻌﻴـﻴﻦ ﺷـﺪﻩ ،ﺑـﻪ ﺁﺩﺭﺱ [email protected]ﻓﺮﺳـﺘﺎﺩﻩ ﺷﻮﻧﺪ. ﻋﻨﻮﺍﻥ ﻣﻴﻞ CA3 : ﺫﮐﺮ ﻧﺎﻡ ﻭ ﻧﺎﻡ ﺧﺎﻧﻮﺍﺩﮔﯽ ﻭ ﺷﻤﺎﺭﻩ ﺩﺍﻧﺸﺠﻮﻳﻲ ﺩﺭ ﻣﺘﻦ ﻧﺎﻣﻪ ﺍﻟﺰﺍﻣﯽ ﺍﺳﺖ. ﻣﺘﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺻﻮﺭﺕ zipﺷﺪﻩ ﻭ ﻓﺮﻣﺖ ) (family1_family2.zipﭘﻴﻮﺳﺖ ﺷﻮﺩ. .۵ﺗﻨﻬــﺎ ﺩﺭ ﺻــﻮﺭﺕ ﺑــﺮﻭﺯ ﻣــﺸﻜﻞ ﺩﺭ ﻓﺮﺳــﺘﺎﺩﻥ ﺗﻤــﺎﺭﻳﻦ ﺑــﻪ ﺁﺩﺭﺱ ﻓــﻮﻕ ،ﻣــﻲﺗﻮﺍﻧﻴــﺪ ﺁﻥ ﺭﺍ ﺑــﻪ ﺁﺩﺭﺱ [email protected]ﺑﻔﺮﺳﺘﻴﺪ. CPU Scheduling ﺩﺭ ﺍﻳﻦ ﺗﻤﺮﻳﻦ ،ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﺮﻧﺎﻣﻪﺍﻱ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﺯﻣﺎﻥﺑﻨﺪ ﭘﺮﺩﺍﺯﻧـﺪﻩ ﺑـﺎ ﺍﻟﮕـﻮﺭﻳﺘﻢ Round Robinﺭﺍ ﺷـﺒﻴﻪﺳـﺎﺯﻱ ﻛﻨﺪ .ﺑﺮﻧﺎﻣﻪ ﺷﺎﻣﻞ ﺩﻭ ﻗﺴﻤﺖ ﻣﻲﺷﻮﺩ :ﻗﺴﻤﺖ ﺍﻭﻝ ﻛﺎﺭﻫﺎﻱ ﺯﻣﺎﻥﺑﻨﺪﻱ ﻭ ﺍﺟﺮﺍﻱ ﭘﺮﺩﺍﺯﻩﻫـﺎ ﺭﺍ ﺍﻧﺠـﺎﻡ ﻣـﻲﺩﻫـﺪ ﻭ ﻗـﺴﻤﺖ ﺩﻭﻡ ،ﺑﻪ ﺩﺳﺘﻮﺭﺍﺕ ﻭﺭﻭﺩﻱ ﻛﺎﺭﺑﺮ ﭘﺎﺳﺦ ﻣﻲﺩﻫﺪ .ﺍﻳﻦ ﺩﻭ ﻗـﺴﻤﺖ ﺑﺎﻳـﺪ ﺩﺭ ﺩﻭ ﺭﻳـﺴﻪﻱ ) (threadﺟﺪﺍﮔﺎﻧـﻪ ﭘﻴـﺎﺩﻩﺳـﺎﺯﻱ ﺷﻮﻧﺪ. ﺩﺳﺘﻮﺭﺍﺕ: ﺃ- - createﺍﻳﻦ ﺩﺳﺘﻮﺭ ،ﺑﺮﺍﻱ ﺍﺟﺮﺍﻱ ﭘﺮﺩﺍﺯﻩﻱ ﺟﺪﻳﺪ ﺑﻪ ﻛﺎﺭ ﻣﻲﺭﻭﺩ ﻭ ﻋﻤﻠﻜﺮﺩ ﺁﻥ ﺩﺭ ﻣﺜﺎﻝ ﺯﻳﺮ ﻧـﺸﺎﻥ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ: -١- Example: />create procName Please Enter Number of CPU and IO Bursts: 5 : 2 : 5 : 12 : 4 : 6 The Process Added by PID 1234 >/ ﺗﻮﺟﻪ ﺷﻮﺩ ﻛﻪ ﺗﻌﺪﺍﺩ burst timeﻫﺎﺑﺎﻳﺴﺘﻲ ﻓﺮﺩ ﺑﺎﺷﺪ )ﭼﺮﺍ؟( .ﺑﺮﺍﻱ ﺳﺎﺩﮔﻲ ﻣﻲﺗﻮﺍﻧﻴﺪ ﻣﺎﻛﺰﻳﻤﻢ ﺗﻌﺪﺍﺩ burst timeﻫﺎ ﺭﺍ ﻣﻘﺪﺍﺭ ﺛﺎﺑﺘﻲ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ. ﺏ - ps -ﻭﺿﻌﻴﺖ ﺟﺎﺭﻱ ﭘﺮﺩﺍﺯﻩﻫﺎ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲﺩﻫﺪ. Example: />kill 1234 Process procName Terminated. />ps Name PID state another1 1231 ready another2 131 run another2 121 wait another4 231 ready ﺕ - kill -ﻳﻚ ﭘﺮﺩﺍﺯﻩ ﺭﺍ ﻣﺘﻮﻗﻒ ﻣﻲﻛﻨﺪ )ﺍﺯ ﺳﻴﺴﺘﻢ ﺣﺬﻑ ﻣﻲﻛﻨﺪ(. ﺙ - quit -ﺍﺯ ﺑﺮﻧﺎﻣﻪ ﺧﺎﺭﺝ ﻣﻲﺷﻮﺩ. Example: />quit CPU Idle = 10% Average Waiting Time = 15.34 Average Response Time = 5.56 ”You can see log file in “logFileAddr :Log File ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﻳﻚ ﻓﺎﻳﻞ logﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﺭﺧﺪﺍﺩﻫﺎﻱ ﻣﻬﻢ ﺭﺍ ﺛﺒﺖ ﻧﻤﺎﻳﺪ .ﻣﻮﺍﺭﺩﻱ ﻛﻪ ﺛﺒﺖ ﻣﻲﺷﻮﻧﺪ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ :ﺳﺎﺧﺘﻦ ﭘﺮﺩﺍﺯﻩ ،ﺗﻤﺎﻡ ﺷﺪﻥ ﭘﺮﺩﺍﺯﻩ ﺑﻪ ﺻﻮﺭﺕ ﻧﺮﻣﺎﻝ ،ﻣﺘﻮﻗﻒ ﺷﺪﻥ ﭘﺮﺩﺍﺯﻩ ﺑﺎ ﺩﺳﺘﻮﺭ ،killﮔﺮﻓﺘﻦ .CPUﺑﺮﺍﻱ ﻣﺜﺎﻝ ﻓﺮﺽ ﻛﻨﻴـﺪ ﻛﻪ ﻛﺎﺭﺑﺮ ﺩﻭ ﭘﺮﺩﺍﺯﻩ ﺩﺭ ﺯﻣﺎﻥﻫﺎﻱ ۲ﻭ ۴ﺑﺴﺎﺯﺩ )ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ(: -٢- Example: />create p1 Please Enter Number of CPU and IO Bursts: 3 : 2 : 5 : 3 The Process Added by PID 100 />create p1 Please Enter Number of CPU and IO Bursts: 3 : 1 : 3 : 1 The Process Added by PID 101 : ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺧﻮﺍﻫﺪ ﺑﻮﺩlog ﻓﺎﻳﻞ،ﺑﺮﺍﻱ ﻣﺜﺎﻝ ﻓﻮﻕ Log File: Time: Event: (time slice = 1) -----------------------------------------------0: CPU idle. 1: CPU idle. 2: p1 (100) added to system. 2: p1 (100) gets the CPU. 3: p1 (100) gets the CPU. 4: p2 (101) added to system. 4: p2 (101) gets the CPU. 5: CPU idle. 6: CPU idle. 7: CPU idle. 8: p2 (101) gets the CPU. 8: p2 (101) terminated. 9: p1 (100) gets the CPU. 10: p1 (100) gets the CPU. 11: p1 (100) gets the CPU. 11: p1 (100) terminated. 12: CPU idle. 13: CPU idle. ﻧﻜﺎﺕ ﭘﻴﺎﺩﻩﺳﺎﺯﻱ . ﺭﺍ ﺑﻪ ﺩﻗﺖ ﻣﻄﺎﻟﻌﻪ ﻓﺮﻣﺎﻳﻴﺪRound-Robin ﺍﻟﮕﻮﺭﻳﺘﻢ ﺯﻣﺎﻥﺑﻨﺪﻱ،ﻗﺒﻞ ﺍﺯ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪ • ﺑـﻪ.( ﻭ ﺯﻣﺎﻥ ﺁﻥ ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭﻭﺩﻱ ﺑﺮﻧﺎﻣﻪﻱ ﺍﺻـﻠﻲ ﺩﺍﺩﻩ ﻣـﻲﺷـﻮﺩtime slice) ﺗﻌﺪﺍﺩ ﻗﻄﻌﻪﻫﺎﻱ ﺯﻣﺎﻧﻲ :ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ • #> ./progName 5 20 ﻭﺍﺣﺪ ﺯﻣﺎﻧﻲ ﺍﺳـﺖ ﻭ ﻫـﺮ ﻭﺍﺣـﺪ ﺯﻣـﺎﻧﻲ۵ Round-Robin ﺍﻟﮕﻮﺭﻳﺘﻢtime slice ﺑﺪﻳﻦ ﻣﻌﻨﺎﺳﺖ ﻛﻪ . ﺛﺎﻧﻴﻪ ﻃﻮﻝ ﻣﻲﻛﺸﺪ۲۰ ﺩﺍﺭﻳـﻢ( ﻭ ﺍﮔـﺮCPU ﺑﺎﺷﺪ )ﭼﻮﻥ ﺗﻨﻬﺎ ﻳﻚrunning ﺗﻨﻬﺎ ﻳﻚ ﭘﺮﺩﺍﺯﻩ ﻣﻲﺗﻮﺍﻧﺪ ﺩﺭ ﺣﺎﻟﺖ،ﺩﺭ ﻫﺮ ﺯﻣﺎﻥ . ﺑﺎﺷﺪready ﻫﻴﭻ ﭘﺮﺩﺍﺯﻩﺍﻱ ﻧﺒﺎﻳﺪ ﺩﺭ ﺻﻒ، ﻧﺒﺎﺷﺪrunning ﭘﺮﺩﺍﺯﻩﺍﻱ ﺩﺭ ﺣﺎﻟﺖ -٣- •
© Copyright 2026 Paperzz