با سلام من یه پروزه سیستم عامل دارم متنشو براتون میزارم میخواستم ببینم کسی میتونه کمکم کنه که از کجا باید شروع کنم
( ﻣﻬﺮ 27 ﺗﻤﺮﻳﻦ ﺷﻤﺎره ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ) ﻣﻬﻠﺖ ﻳﻜﺸﻨﺒﻪ
ﻣﻨﺘﻈﺮ ﮔﺮﻓﺘﻦ ﺧﻂ ، در ﻣﺤﻴﻂ ﻟﻴﻨﻮﻛﺲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﭘﺲ از اﺟﺮا c ﺑﻪ زﺑﺎن MyShell ﺑﺮﻧﺎﻣﻪ ﺳﺎده اي ﺑﻪ ﻧﺎم
دﺳﺘﻮر از ﻃﺮف ﻛﺎرﺑﺮ ﺑﺎﺷﺪ .ﻛﺎرﺑﺮ ﺳﻪ دﺳﺘﻮر ﻣﻴﺘﻮاﻧﺪ وارد ﻛﻨﺪ :
:ﺑﺮﻧﺎﻣﻪ start - 1 در زﻳﺮ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ ( و forktree اﺟﺮا ﻣﻴﻜﻨﺪ) ﻧﺤﻮه ﻛﺎرﻛﺮد forktree اي را ﺑﻪ ﻧﺎم
در ﺿﻤﻦ، ﻣﻨﺘﻈﺮ درﻳﺎﻓﺖ دﺳﺘﻮر دﻳﮕﺮ از ﻃﺮف ﻛﺎرﺑﺮ ﻣﻴﺸﻮد .
. را در ﺻﻮرت در ﺣﺎل اﺟﺮا ﺑﻮدن ﺑﻪ ﺻﻮرت آﺑﺸﺎري ﺗﻤﺎم ﻣﻴﻜﻨﺪ forktree :ﺑﺮﻧﺎﻣﺔ terminate - 2
ﺧﺎرج ﺷﺪه و ﺑﻪ ﻛﻨﺴﻮل اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺑﺎز ﻣﻲ MyShell :از ﺑﺮﻧﺎﻣﻪ exit - 3 ﮔﺮدد) در اﻳﻦ ﺣﺎﻟﺖ ﻧﻴﺎزي ﺑﻪ
ﺗﺒﺪﻳﻞ ﺑﻪ ﭘﺮاﺳﺲ ﻳﺘﻴﻢ ﻣﻲ forktree ﻧﻴﺴﺖ - --در اﻳﻦ ﺣﺎﻟﺖ اﺻﻄﻼﺣﺎ forktreeاﺗﻤﺎم ﺑﺮﻧﺎﻣﻪ ﺷﻮد .(
اﺟﺮا ﺷﻮد، ﻛﺎرﺑﺮ ﻧﺒﺎﻳﺪ terminate را زده ﺑﺎﺷﺪ، ﺗﺎ ﻗﺒﻞ از آﻧﻜﻪ دﺳﺘﻮر start در ﺻﻮرﺗﻴﻜﻪ ﻛﺎرﺑﺮ ﻳﻜﺒﺎر دﺳﺘﻮر
. ﺑﺎﺷﺪ و ﺑﺎﻳﺪ ﭘﻴﻐﺎم ﺧﻄﺎﻳﻲ ﺑﻪ ﻛﺎرﺑﺮ ﻧﺸﺎن داده ﺷﻮد startﻗﺎدر ﺑﻪ اﺟﺮاي ﻣﺠﺪد دﺳﺘﻮر
ﺑﻪ اﻳﻦ ﺷﻜﻞ ﻋﻤﻞ ﻣﻲ forktreeﺑﺮﻧﺎﻣﻪ ﻛﻨﺪ :ﺑﻌﺪ از اﺟﺮا، ﻳﻚ ﺟﻤﻠﻪ ﭼﺎپ ﻣﻲ ﻛﻨﺪ و ﺳﭙﺲ دو ﭘﺮاﺳﺲ ﻣﺸﺎﺑﻪ
(اﻳﺠﺎد ﻣﻲ fork دﻳﮕﺮ )از ﻃﺮﻳﻖ اﺟﺮاي ﺗﺎﺑﻊ ﻛﻨﺪ و در اﻧﺘﻬﺎ ﺑﻪ ﺣﺎﻟﺖ اﻧﺘﻈﺎر ﻣﻲ رود )ﺑﺮاي رﻓﺘﻦ ﺑﻪ ﺣﺎﻟﺖ اﻧﺘﻈﺎر
اﺳﺘﻔﺎده ﻛﻨﻴﺪ .(ﭘﺮاﺳﺴﻬﺎي ﺟﺪﻳﺪ اﻳﺠﺎد ﺷﺪه ﻧﻴﺰ ﻫﻤﻴﻦ ﻛﺎر را اﻧﺠﺎم ﻣﻲ wait ﻣ ﻲﺗﻮاﻧﻴﺪ از ﺗﺎﺑﻊ ﺳﻴﺴﺘﻤﻲ دﻫﻨﺪ،
ﻳﻌﻨﻲ ﻫﺮ ﻛﺪام دو ﭘﺮاﺳﺲ ﻣﺸﺎﺑﻪ ﺟﺪﻳﺪ اﻳﺠﺎد ﻣﻲ ﻛﻨﻨﺪ و اﻳﻨﻜﺎر ﺗﺎ ﺳﻪ ﺳﻄﺢ اداﻣﻪ ﻣﻲ ﻳﺎﺑﺪ )ﻳﻌﻨﻲ در اﻧﺘﻬﺎ، ﻫﻔﺖ
ﺧﻮاﻫﻴﻢ داﺷﺖ .(ﺟﻤﻠﻪ forktreeﭘﺮاﺳﺲ از ﺟﻨﺲ در اﺑﺘﺪاي اﺟﺮا ﭼﺎپ ﻣﻴﻜﻨﺪ forktree اي ﻛﻪ ﻫﺮ ﭘﺮاﺳﺲ
: (و ﺷﻤﺎره ﺳﻄﺢ )از 1 ﺗﺎ 3 (ﻣﻴﺒﺎﺷﺪ، ﻣﺜﻼ ﺟﻤﻠﺔ زﻳﺮ pid)ﺷﺎﻣﻞ ﺷﻤﺎره ﭘﺮاﺳﺲ
A new forktree created! ProcessID: 112034 --- Process Level:2
ﻣ ﻲﺗﻮان ﻛﻤﻚ ﮔﺮﻓﺖ .در ﻫﻨﮕﺎم درﻳﺎﻓﺖ دﺳﺘﻮر getpid ﺑﺮاي ﮔﺮﻓﺘﻦ ﺷﻤﺎره ﭘﺮاﺳﺲ ﻓﻌﻠﻲ از ﺗﺎﺑﻊ ﺳﻴﺴﺘﻤﻲ
را ﻣﺘﻮﻗﻒ و forktree ﺑﺎﻳﺪ ﺑﻪ ﻧﺤﻮي ﺗﻤﺎﻣﻲ ﻫﻔﺖ ﭘﺮاﺳﺲ اﻳﺠﺎد ﺷﺪه از ﺑﺮﻧﺎﻣﻪ MyShell، ﺑﺮﻧﺎﻣﺔ terminate
ﻧﻤﺎﻳﺪ .ﺑﺮاي اﺗﻤﺎم ﻳﻚ ﭘﺮاﺳﺲ ﻣﻲ killﻳﺎ اﺻﻄﻼﺣﺎ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ اﻟﺒﺘﻪ ﻳﻜﻲ از kill ﺗﻮاﻧﻴﺪ از ﺗﺎﺑﻊ ﺳﻴﺴﺘﻤﻲ
، ﺑﺎﻳﺪ دﻗﻴﻘﺎ terminate ورودﻳﻬﺎي اﻳﻦ ﺗﺎﺑﻊ ﺷﻤﺎرة ﭘﺮاﺳﺴ ﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻣﺘﻮﻗﻒ ﺷﻮد .ﺑﺮاي ﭘﻴﺎده ﺳﺎزي دﺳﺘﻮر
ﻣﺮﺑﻮط ﺑﻪ ﭘﺮاﺳﺴﻬﺎي واﻟﺪ و ﻓﺮزﻧﺪ ﭼﮕﻮﻧﻪ ﻣﻲ forktree ﺑﺪاﻧﻴﺪ درﺧﺖ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮاي اﺳﺘﺨﺮاج اﻳﻦ درﺧﺖ و
ﺷﻤﺎرة ﭘﺮاﺳﺴﻬﺎ از ﻫﺮ ﺗﺎﺑﻊ و دﺳﺘﻮري ﻣﻲ ﺗﻮاﻧﻴﺪ اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﺟﺰﺋﻴﺎت ﻣﺮﺑﻮط ﺑﻪ ﻫﺮﻳﻚ از ﺗﻮاﺑﻊ ﺳﻴﺴﺘﻤﻲ و ﻧﺤﻮة
اﺳﺘﺨﺮاج درﺧﺖ را در اﻳﻨﺘﺮﻧﺖ ﺟﺴﺘﺠﻮ و ﻣﻄﺎﻟﻌﻪ ﻛﻨﻴﺪ .