split_5572076435966801098.pdf
Document Details
Uploaded by OrderlyFluorine
Tags
Full Transcript
ﻫﻴﻜﻠﺔ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ Operating System Structures ﺇﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻫﻮ ﺍﻷﺳﺎﺱ ﺍﳌﺘﺤﻜﻢ ﰲ ﺗﺼﺮﻓﺎﺕ ﺃﺟﻬﺰﺓ ﺍﳊﺎﺳﺐ ﺍﻵﱄ ,ﻓﻬﻮ ﻳﻘﻮﻡ ﺑﺘﻮﻓﲑ ﺍﻟﺒﻴﺌﺔ ﺍﳌﻨﺎﺳﺒﺔ ﻟﺘﻨﻔﻴﺬ ﻭﺗﺸﻐﻴﻞ ﺍﻟﱪﺍﻣﺞ ,ﺃﻱ ﺃﻧﻨﺎ ﻟﻦ ﻧﺴﺘﻄﻴﻊ ﺍﻟﻌﻤﻞ ﻭ ﺗﺸﻐﻴﻞ ﺍﻟﱪﺍﻣﺞ ﻋﻠﻰ ﺃﺟﻬﺰﺗﻨﺎ ﺑﺪﻭﻥ ﺗﻮﺍﺟﺪ ﻧﻈﺎﻡ...
ﻫﻴﻜﻠﺔ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ Operating System Structures ﺇﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻫﻮ ﺍﻷﺳﺎﺱ ﺍﳌﺘﺤﻜﻢ ﰲ ﺗﺼﺮﻓﺎﺕ ﺃﺟﻬﺰﺓ ﺍﳊﺎﺳﺐ ﺍﻵﱄ ,ﻓﻬﻮ ﻳﻘﻮﻡ ﺑﺘﻮﻓﲑ ﺍﻟﺒﻴﺌﺔ ﺍﳌﻨﺎﺳﺒﺔ ﻟﺘﻨﻔﻴﺬ ﻭﺗﺸﻐﻴﻞ ﺍﻟﱪﺍﻣﺞ ,ﺃﻱ ﺃﻧﻨﺎ ﻟﻦ ﻧﺴﺘﻄﻴﻊ ﺍﻟﻌﻤﻞ ﻭ ﺗﺸﻐﻴﻞ ﺍﻟﱪﺍﻣﺞ ﻋﻠﻰ ﺃﺟﻬﺰﺗﻨﺎ ﺑﺪﻭﻥ ﺗﻮﺍﺟﺪ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﰲ ﺍﳉﻬﺎﺯ ﻳﺘﺤﻜﻢ ﰲ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳌﺨﺘﻠﻔﺔ. ﺗﻮﻓﹼﺮ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﻟﻠﻤﺴﺘﺨﺪﻣﲔ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳋﺪﻣﺎﺕ ﺍﻟﱵ ﺳﻨﺘﻄﺮﻕ ﺇﻟﻴﻬﺎ ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ.ﻛﻤﺎ ﺳﻨﺘﺤﺪﺙ ﻋﻦ ﻋﺪﺩ ﻣﻦ ﺍﳌﻔﺎﻫﻴﻢ ﺍﳌﻬﻤﺔ ﻋﻦ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﻭ ﺗﺮﻛﻴﺒﻬﺎ ,ﻭﻃﺮﻕ ﺗﻔﺎﻋﻠﻬﺎ ﻣﻊ ﺍﳌﺴﺘﺨﺪﻣﲔ. ﺃﻫﺪﺍﻑ ﻫﺬﺍ ﺍﻟﻔﺼﻞ: ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﺍﳋﺪﻣﺎﺕ ﺍﻟﱵ ﺗﻮﻓﺮﻫﺎ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳌﺨﺘﻠﻔﺔ ﳌﺴﺘﺨﺪﻣﻴﻬﺎ. ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺍﻟﱵ ﻳﺘﻢ ﻣﻦ ﺧﻼﳍﺎ ﺍﻟﺘﻔﺎﻋﻞ ﺑﲔ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. ﻣﻌﺮﻓﺔ ﻃﺮﻕ ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﺃﺟﺰﺍﺀ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. ﻣﻌﺮﻓﺔ ﺍﻟﻄﺮﻕ ﺍﳌﺨﺘﻠﻔﺔ ﻟﺒﻨﺎﺀ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. ﻛﺬﻟﻚ ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﺑﻌﺾ ﺍﳌﻔﺎﻫﻴﻢ ﺍﳌﻬﻤﺔ ﻣﺜﻞ ﺍﻵﻻﺕ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ﻭ ﺗﻨﺸﺌﺔ ﺍﻟﻨﻈﺎﻡ. ﰎ ﲨﻊ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺑﻮﺍﺳﻄﺔ ﻗﻄﺮﺍﻟﻨﺪﻯ ﻋﺒﺪﺍﻟﺮﲪﻦ ﺍﻟﺴﻤﺎﻋﻴﻞ )([email protected] ﺍﳋﺮﻳﻄﺔ ﺍﻟﺬﻫﻨﻴﺔ ﻟﻠﻔﺼﻞ: ﺃﻭ ﹰﻻ :ﺧﺪﻣﺎﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ(Operating System Services)2 ﻳﻮﻓﺮ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺧﺪﻣﺎﺕ ﻣﻌﻴﻨﺔ ﻟﻠﱪﺍﻣﺞ ﺍﻟﱵ ﻳﻘﻮﻡ ﺑﺘﻨﻔﻴﺬﻫﺎ ﻛﻤﺎ ﻳﻮﻓﺮ ﺧﺪﻣﺎﺕ ﳌﺴﺘﺨﺪﻣﻲ ﻫﺬﻩ ﺍﻟﱪﺍﻣﺞ، ﻭﺑﺎﻟﻄﺒﻊ ﻓﺈﻥ ﺗﻮﻓﲑ ﻫﺬﻩ ﺍﳋﺪﻣﺎﺕ ﳜﺘﻠﻒ ﻣﻦ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﺇﱃ ﺁﺧﺮ ﻭﻟﻜﻨﻬﺎ ﺗﺮﺗﺒﻂ ﰲ ﺑﻌﺾ ﺍﻷﻭﺟﻪ. ﻭﺳﻮﻑ ﻧﺘﻄﺮﻕ ﰲ ﻣﻮﺿﻮﻋﻨﺎ ﻫﺬﺍ ﻤﻮﻋﺔ ﻣﻦ ﺗﻠﻚ ﺍﳋﺪﻣﺎﺕ ﺍﻟﱵ ﻳﻮﻓﺮﻫﺎ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. ﺃﻭ ﹰﻻ :ﺧﺪﻣﺎﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺍﻟﱵ ﺗﺴﺎﻋﺪ ﺍﳌﺴﺘﺨﺪﻡ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ : -1ﻭﺍﺟﻬــﺔ ﺍﳌﺴﺘﺨـﺪﻡ):(User Interface ﲨﻴﻊ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﲢﺘﻮﻱ ﻋﻠﻰ ﻭﺍﺟﻬﺔ ﻟﻠﻤﺴﺘﺨﺪﻡ ﻭﺗﺄﺧﺬ ﻫﺬﻩ ﺍﻟﻮﺍﺟﻬﺔ ﺃﻛﺜﺮ ﻣﻦ ﺷﻜﻞ ,ﻭﻣﻦ ﺃﺷﻜﺎﻝ ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ: ( Command Line Interface-CLI).1ﺃﻱ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﻨﺼﻴﺔ. ( Graphical User Interface-GUI).2ﺃﻱ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺮﺳﻮﻣﻴﺔ ،ﻭﻫﻲ ﺍﻷﻛﺜﺮ ﺷﻴﻮﻋﹰﺎ ﻭﺍﺳﺘﺨﺪﺍﻣﹰﺎ. ﻭﺍﳉﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﺃﻥ ﺑﻌﺾ ﺍﻷﻧﻈﻤﺔ ﻣﺰﻭﺩﺓ ﺑﺎﺛﻨﲔ ﺃﻭ ﺛﻼﺛﺔ ﻣﻦ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺍﳌﺨﺘﻠﻔﺔ. -2ﺗﻨﻔﻴﺬ ﺍﻟﱪﺍﻣــﺞ):( Program Execution ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻟﻨﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻗﺪﺭﺓ ﻛﺎﻓﻴﺔ ﻟﺘﺤﻤﻴﻞ ﺍﻟﱪﺍﻣﺞ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﻭﺗﻨﻔﻴﺬ ﺗﻠﻚ ﺍﻟﱪﺍﻣﺞ ,ﻭﳚﺐ ﺃﻳﻀﹰﺎ ﺃﻥ ﻳﻜﻮﻥ ﻣﺆﻫﻼ ﻻﺧﺘﺘﺎﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺑﻄﺮﻳﻘﺔ ﺇﻣﺎ ﻋﺎﺩﻳﺔ ﺃﻭ ﻏﲑ ﻋﺎﺩﻳﺔ -ﻋﻨﺪ ﻭﺟﻮﺩ ﺑﻌﺾ ﺍﻷﺧﻄﺎﺀ.- -3ﻋﻤﻠﻴﺎﺕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ) :(I/O Operations ﺇﻥ ﺃﻱ ﺑﺮﻧﺎﻣﺞ ﻳﺘﻢ ﺗﻄﺒﻴﻘﻪ ﻗﺪ ﻳﻜﻮﻥ ﲝﺎﺟﺔ ﺇﱃ ﻋﻤﻠﻴﺎﺕ ﺇﺩﺧﺎﻝ ﻭﺇﺧﺮﺍﺝ ﲝﻴﺚ ﻳﻘﻮﻡ ﺑﻄﻠﺐ ﻣﻠﻒ ﻣﻌﲔ ﺃﻭ ﺃﺟﻬﺰﺓ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ. 2إاد()S :ر ا&(OPQﻥ ,Mإی(Xن ا&WهUاﻥ ,Mﺱ ["Xا&W")Zان ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻫﻮ ﺍﻟﻮﺳﻴﻠﺔ ﻟﻠﻘﻴﺎﻡ ﺑﺎﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﻭﺫﻟﻚ ﻷﻥ ﺍﳌﺴﺘﺨﺪﻡ ﻻ ﻳﺴﺘﻄﻴﻊ ﻋﺎﺩﺓ ﺃﻥ ﻳﺘﺤﻜﻢ ﺑﺎﳌﺪﺧﻼﺕ ﻭﺍﳌﺨﺮﺟﺎﺕ ﻣﺒﺎﺷﺮﺓ ﻭﺫﻟﻚ ﳊﻤﺎﻳﺘﻬﺎ ﻭﺯﻳﺎﺩﺓ ﺍﻟﻔﻌﺎﻟﻴﺔ. -4ﺗﺸﻜﻴﻞ ﻧﻈـﺎﻡ ﺍﳌﻠﻔـﺎﺕ):(File System Manipulation ﻟﻨﻈﺎﻡ ﺍﳌﻠﻔﺎﺕ ﺍﻫﺘﻤﺎﻡ ﺧﺎﺹ ﰲ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ.ﻭﺫﻟﻚ ﻷﻥ ﺍﻟﱪﺍﻣﺞ ﺗﻘﻮﻡ ﺑﻌﻤﻠﻴﺎﺕ ﻛﺜﲑﺓ ﻋﻠﻰ ﺍﳌﻠﻔﺎﺕ ﻛﻘﺮﺍﺀﺓ ﻭﻛﺘﺎﺑﺔ ﺍﳌﻠﻔﺎﺕ ,ﻭﺗﻜﻮﻳﻦ ﻭﺣﺬﻑ ﻫﺬﻩ ﺍﳌﻠﻔﺎﺕ ﻭﺍﻷﺩﻟﺔ ﻣﻦ ﺧﻼﻝ ﺍﲰﻬﺎ ﺃﻭ ﺍﻟﺒﺤﺚ ﻋﻦ ﻣﻠﻒ ﻣﻌﲔ ,ﻭﻏﲑﻫﺎ ﺍﻟﻜﺜﲑ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﱵ ﺗﺘﻢ ﻋﻠﻰ ﺍﳌﻠﻔﺎﺕ ﻭﺍﻷﺩﻟﺔ. -5ﺍﻻﺗﺼﺎﻻﺕ ):(communications ﻗﺪ ﲢﺘﺎﺝ ﺍﻟﻌﻠﻤﻴﺎﺕ ﰲ ﺑﻌﺾ ﺍﳊﺎﻻﺕ ﻟﻼﺗﺼﺎﻝ ﻣﻊ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ ﻟﺘﺒﺎﺩﻝ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻭﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻣﺸﺎﺭﻛﺘﻬﺎ ﻓﻴﻤﺎ ﺑﻴﻨﻬﺎ.ﻭﻫﺬﺍ ﺍﻻﺗﺼﺎﻝ ﻗﺪ ﻳﻜﻮﻥ ﻋﻠﻰ ﻧﻔﺲ ﺍﳊﺎﺳﻮﺏ ﺃﻭ ﻋﻠﻰ ﺣﺎﺳﺒﺎﺕ ﳐﺘﻠﻔﺔ ﻋﱪ ﺷﺒﻜﺔ.ﻭﻫﺬﻩ ﺍﳌﺸﺎﺭﻛﺔ ﺗﺘﻢ ﺑﻄﺮﻳﻘﺘﲔ ﳘﺎ :ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ) ( shared memoryﺃﻭ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﺮﺳﺎﺋﻞ ﺍﻟﻌﺎﺑﺮﺓ ). (message passing -6ﻛﺸﻒ ﺍﳋﻄﺄ):(Error Detection ﺇﻥ ﺧﻄﺄ ﻭﺍﺣﺪ ﻣﻦ ﺟﺰﺀ ﻣﻦ ﺍﻟﻨﻈﺎﻡ ﻗﺪ ﻳﺴﺒﺐ ﻋﻄﻞ ﻛﺎﻣﻞ ﰲ ﺍﻟﻨﻈﺎﻡ! ﻟﺘﻔﺎﺩﻱ ﻣﺜﻞ ﻫﺬﻩ ﺍﳌﺸﻜﻠﺔ ﻳﻘﻮﻡ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﲟﺮﺍﻗﺒﺔ ﺍﻟﻨﻈﺎﻡ ﺑﺸﻜﻞ ﻣﺴﺘﻤﺮ ﻻﻛﺘﺸﺎﻑ ﺍﻷﺧﻄﺎﺀ ﺍﻟﱵ ﻗﺪ ﲢﺪﺙ ﻭﻳﻘﻮﻡ ﺑﺎﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﻨﺎﺳﺒﺔ ﻟﺘﺼﺤﻴﺤﻬﺎ ﻋﻨﺪ ﺣﺪﻭﺛﻬﺎ. ﺛﺎﻧﻴﺎ :ﳎﻤﻮﻋﺔ ﺃﺧﺮﻯ ﻣﻦ ﺧﺪﻣﺎﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻣﻮﺟﻮﺩﺓ ﻟﻀﻤﺎﻥ ﻛﻔﺎﺀﺓ ﺗﺸﻐﻴﻞ ﺍﻟﻨﻈﺎﻡ ﻋﱪ ﺗﻘﺎﺳﻢ ﺍﳌﻮﺍﺭﺩ):(resource sharing -1ﲣﺼﻴﺺ ﺍﳌﻮﺍﺭﺩ ): (Resource allocation ﺇﺫﺍ ﻭﺟﺪ ﻟﺪﻳﻨﺎ ﺃﻛﺜﺮ ﻣﻦ ﻣﺴﺘﺨﺪﻡ ،ﺃﻭ ﺃﻛﺜﺮ ﻣﻦ ﻋﻤﻞ ﻳﺘﻢ ﺗﻨﻔﻴﺬﻩ ﺑﻨﻔﺲ ﺍﻟﻮﻗﺖ ،ﳚﺐ ﺃﻥ ﻳﺘﻢ ﲣﺼﻴﺺ ﺍﳌﻮﺍﺭﺩ ﻟﻜ ٍﻞ ﻣﻨﻬﻢ ،ﻭﺗﻮﺟﺪ ﻋﺪﺓ ﺃﻧﻮﺍﻉ ﻣﻦ ﺍﳌﻮﺍﺭﺩ ,ﺑﻌﻀﻬﺎ ﲢﺘﺎﺝ ﺇﱃ ﲣﺼﻴﺺ ﻛﻮﺩ ﺧﺎﺹ ﻣﺜﻞ :ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﺮﺋﻴﺴﻴﺔ ﻭﲣﺰﻳﻦ ﺍﳌﻠﻔﺎﺕ ،ﻭﺃﺧﺮﻯ ﻛﺄﺟﻬﺰﺓ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﺗﺘﻄﻠﺐ ﻛﻮﺩ ﻋﺎﻡ. -2ﺍﶈﺎﺳﺒﺔ ): (Accounting ﺗﺴﺘﺨﺪﻡ ﻫﺬﻩ ﺍﳋﺪﻣﺔ ﻣﻦ ﺃﺟﻞ ﺗﺘﺒﻊ ﺍﳌﺴﺘﺨﺪﻣﲔ ،ﻭﻣﻌﺮﻓﺔ ﺃﻧﻮﺍﻉ ﺍﳌﻮﺍﺭﺩ ﺍﳌﺴﺘﺨﺪﻣﺔ ﻣﻦ ﻗﺒﻞ ﻛﻞ ﻣﺴﺘﺨﺪﻡ . -3ﺍﳊﻤﺎﻳﺔ ﻭﺍﻷﻣﻦ ): (Protection and security ﺍﻷﺷﺨﺎﺹ ﺍﻟﺬﻳﻦ ﳝﺘﻠﻜﻮﻥ ﻣﻌﻠﻮﻣﺎﺕ ﰲ ﺃﺟﻬﺰﺓ ﻣﻮﺻﻮﻟﺔ ﺑﺸﺒﻜﺔ ﺃﻭ ﰲ ﺟﻬﺎﺯ ﻳﺴﺘﺨﺪﻣﻪ ﻋﺪﺩ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻣﲔ ،ﻳﺮﻳﺪﻭﻥ ﺿﻤﺎﻥ ﲪﺎﻳﺔ ﺍﳌﻌﻠﻮﻣﺎﺕ ،ﻭﻋﺪﻡ ﺗﺪﺍﺧﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﱵ ﺗﺘﻢ ﺑﻨﻔﺲ ﺍﻟﻮﻗﺖ ﻣﻊ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ . ﺍﳌﺼﺎﺩﺭ: Operating system Concepts (Seventh Edition): Abraham Silberschatz,Peter Baer Galvin,Greg Gagne http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sysService.htm ﺛﺎﻧﻴﹰﺎ :ﻭﺍﺟﻬﺔ ﻣﺴﺘﺨﺪﻡ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ(User Operating System Interface)3 ﻭﺍﺟﻬﺔ ﻣﺴﺘﺨﺪﻡ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻫﻲ ﺍﻟﻮﺍﺟﻬﺔ ﺍﳌﺮﺋﻴﺔ ﳌﺴﺘﺨﺪﻣﻲ ﺍﻟﻨﻈﺎﻡ.ﻭﻫﻲ ﻋﺒﺎﺭﺓ ﻗﺸﺮﺓ ) (shellﺃﻭ ﻏﻼﻑ ﻟﻨﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ.ﻭﻫﻲ ﺑﺮﻧﺎﻣﺞ ﻳﻌﻤﻞ ﰲ ﺍﻟﻄﺒﻘﺔ ﺍﻟﻌﻠﻴﺎ ﻣﻦ ﺍﻟﻨﻈﺎﻡ ﻭﻳﺘﻴﺢ ﻟﻠﻤﺴﺘﺨﺪﻣﲔ ﺇﺻﺪﺍﺭ ﺍﻷﻭﺍﻣﺮ ﺇﻟﻴﻪ. ﻓﺎﻟﻘﺸﺮﺓ ﻟﻴﺴﺖ ﺳﻮﻯ ﺑﺮﻧﺎﻣﺞ ﺧﺪﻣﺔ ﻹﺩﺧﺎﻝ ﺍﻷﻭﺍﻣﺮ ﻭﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ,ﺃﻱ ﺃﺎ ﰲ ﺃﻏﻠﺐ ﺍﻷﺣﻴﺎﻥ ﻻ ﲤﺜﻞ ﺟﺰﺀﹰﺍ ﻣﻦ ﺟﻮﻫﺮ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. ﻳﻮﺟﺪ ﻟﻨﻈﺎﻡ ﻳﻮﻧﻴﻜﺲ ﻋﺪﺩ ﻣﻦ ﺍﻟﻘﺸﺮﻳﺎﺕ ،ﻣﺜﻞ ،Bourne,Bashﻭ ، Kornﻭ ،Cﻭ Bourne .Againﻭﻣﺴﺘﺨﺪﻣﻮ ﻳﻮﻧﻴﻜﺲ ﻳﻔﻀﻠﻮﻥ ﺍﻟﻘﺸﺮﻳﺔ ﺍﻟﱵ ﳜﺘﺎﺭﻭﺎ ،ﻓﻴﺴﺘﻐﻠﻮﻥ ﺇﻣﻜﺎﻧﻴﺎﺎ ﺍﻟﻜﺎﻣﻨﺔ ،ﻭﻳﻀﺒﻄﻮﺎ ﻟﺘﺼﺒﺢ ﻣﻨﺎﺳﺒﺔ ﻟﺒﻴﺌﺎﺕ ﻋﻤﻠﻬﻢ ،ﻭﻳﻨﺸﺌﻮﻥ ﺍﻷﲰﺎﺀ ﺍﳌﺴﺘﻌﺎﺭﺓ ﻟﻸﻭﺍﻣﺮ ﺍﻟﱵ ﻳﺴﺘﺨﺪﻣﻮﺎ ﺑﻜﺜﺮﺓ ،ﻭﻳﻜﺘﺒﻮﻥ ﺑﺮﺍﻣﺞ ﻟﺘﻨﻔﻴﺬ ﺑﻌﺾ ﺃﻭﺍﻣﺮ ﺍﻟﻨﻈﺎﻡ ﺗﻠﻘﺎﺋﻴﹰﺎ. ﻣﻦ ﻣﻬﺎﻡ ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ: ﺗﺰﻭﺩ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺑﻮﺍﺟﻬﺔ ﻳﺘﻢ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻦ ﺧﻼﳍﺎ. ﲤﻜﻦ ﻣﻦ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺧﺪﻣﺎﺕ ﺍﻟﻨﻮﺍﺓ) .(kernel ﲤﻜﻦ ﻣﻦ ﺗﺸﻐﻴﻞ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺃﻭ ﺍﻟﱪﺍﻣﺞ. .ﺇﻣﻜﺎﻧﻴﺔ ﺍﺳﺘﻌﺮﺍﺽ ﳏﺘﻮﻳﺎﺕ ﺍﻷﺩﻟﺔ ﻣﻦ ﺧﻼﳍﺎ. ﻭﻫﻨﺎﻙ ﻋﺪﺓ ﺃﻧﻮﺍﻉ ﻭﺃﺷﻜﺎﻝ ﻣﻦ ﻭﺍﺟﻬﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ,ﻣﻨﻬﺎ : ﺃﻭ ﹰﻻ :ﻭﺍﺟﻬﺔ ﺍﻷﻭﺍﻣﺮ ﺍﻟﻨﺼﻴﺔ ):(Command Line Interface-CLI ﻭﺍﺟﻬﺔ ﺍﻷﻭﺍﻣﺮ ﺍﻟﻨﺼﻴﺔ ﻫﻲ ﻃﺮﻳﻘﺔ ﻳﺘﻢ ﻓﻴﻬﺎ ﺗﻔﺎﻋﻞ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻊ ﺍﻟﱪﺍﻣﺞ ﺃﻭ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻷﻭﺍﻣﺮ ﺍﳋﻄﻴﺔ ﲝﻴﺚ ﻳﺴﺘﺠﻴﺐ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻊ ﺭﺳﺎﺋﻞ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ ﺍﻟﺘﻮﺟﻴﻬﻴﺔ ﻣﻦ ﺧﻼﻝ ﻃﺒﺎﻋﺔ ﺍﻷﻭﺍﻣﺮ ﻭﻣﻦ ﰒ ﻳﺘﻠﻘﻰ ﺍﳌﺴﺘﺨﺪﻡ ﺇﺟﺎﺑﺔ ﻣﻦ ﺍﻟﻨﻈﺎﻡ.ﻭﻳﺴﺘﺨﺪﻣﻬﺎ ﻋﺎﺩﺓ ﺍﳌﱪﳎﻮﻥ ﻭﻣﺪﺭﺍﺀ ﺍﻷﻧﻈﻤﺔ ﻭﺍﻷﺷﺨﺎﺹ ﺫﻭﻱ ﺍﳋﱪﺓ ﺍﻟﺘﻘﻨﻴﺔ. 3إاد :ﺏ Uh(iا&cZی ،UOأﻥ(fل ا&cdاUOm ،Mnا&)ى $ا&Uﺡ !Xا&o"(X% ﲢﺘﺎﺝ ﻫﺬﻩ ﺍﻟﻮﺍﺟﻬﺔ ﺇﱃ ﻣﺘﺮﺟﻢ ﻳﺴﻤﻰ , command line interpreterﻭﻫﻮ ﺑﺮﻧﺎﻣﺞ ﻳﻘﺮﺃ ﺍﻷﻭﺍﻣﺮ ﺍﳋﻄﻴﺔ ﺍﳌﺪﺧﻠﺔ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻳﺘﺮﲨﻬﺎ ﰲ ﺳﻴﺎﻕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺃﻭ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﺍﳌﺴﺘﺨﺪﻣﺔ. ﻣﻦ ﺃﻣﺜﻠﺔ ﻫﺬﻩ ﺍﻟﻮﺍﺟﻬﺔ: MS-DOS command line interfaceﻭﻫﻲ ﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﻧﻈﺎﻡ ﺍﻟﻮﻳﻨﺪﻭﺯ. ﺛﺎﻧﻴﹰﺎ :ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﺮﺳﻮﻣﻴﺔ ) :( Graphical User Interface- GUI ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﺮﺳﻮﻣﻴﺔ ﺗﺆﻣﻦ ﺍﻟﺘﻔﺎﻋﻞ ﻣﻊ ﺍﳊﺎﺳﺐ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﻏﺮﺍﺽ ﻭ ﺻﻮﺭ ﺭﺳﻮﻣﻴﺔ –ﺃﻳﻘﻮﻧﺎﺕ- ﻭﻫﻲ ﻏﺎﻟﺒﹰﺎ ﺗﺘﻜﻮﻥ ﻣﻦ ﻋﻨﺎﺻﺮ ﲢﻜﻢ.ﺇﺿﺎﻓﺔ ﺇﱃ ﻧﺼﻮﺹ ﺗﻮﺟﻪ ﺍﳌﺴﺘﺨﺪﻡ ﻻﺳﺘﺨﺪﺍﻡ ﺃﺣﺪﺍﺙ ﳐﺼﺼﺔ ﻣﺜﻞ ﻧﻘﺮ ﺍﻟﻔﺄﺭﺓ ,ﺃﻭ ﺗﻮﺟﻬﻪ ﺇﱃ ﺇﺩﺧﺎﻝ ﻧﺼﻮﺹ ﻟﻴﻘﻮﻡ ﺍﳊﺎﺳﺐ ﲟﺎ ﻳﺮﻳﺪﻩ ﺍﳌﺴﺘﺨﺪﻡ .ﲨﻴﻊ ﺍﻷﻓﻌﺎﻝ ﻭ ﺍﳌﻬﺎﻡ ﺍﻟﱵ ﳝﻜﻦ ﻟﻠﺤﺎﺳﺐ ﺗﻨﻔﻴﺬﻫﺎ ﺗﺘﻢ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﺘﻄﺒﻴﻖ ﺍﳌﺒﺎﺷﺮ ﻷﺣﺪﺍﺙ ﻋﻠﻰ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺮﺳﻮﻣﻴﺔ )ﻋﻨﺎﺻﺮ ﺍﻟﺘﺤﻜﻢ(. ﺃﻛﺜﺮ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺍﻟﻴﻮﻡ ﻳﻔﻀﻠﻮﻥ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺮﺳﻮﻣﻴﺔ ﻋﻠﻰ ﻭﺍﺟﻬﺔ ﺍﻷﻭﺍﻣﺮ ﺍﳋﻄﻴﺔ ،ﻛﻤﺎ ﺃﻥ ﺃﻏﻠﺐ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﺍﻟﻴﻮﻡ ﺗﻮﻓﺮ ﻛﻼ ﺍﻟﻮﺍﺟﻬﺘﲔ ﻟﻠﻤﺴﺘﺨﺪﻡ. ﻭﻣﻦ ﺍﻷﻣﺜﻠﺔ ﻋﻠﻰ ﺍﻷﻧﻮﺍﻉ ﺍﻷﺧﺮﻯ ﻟﻮﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ: ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺮﺳﻮﻣﻴﺔ ﺍﻟﻘﺎﺑﻠﺔ ﻟﻠﺘﻜﺒﲑ ) :(ZUI - zoomable user interface ﻫﻲ ﻧﻮﻉ ﻣﻦ ﺃﻧﻮﺍﻉ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺍﻟﺮﺳﻮﻣﻴﺔ ,ﻭﻟﻜﻨﻬﺎ ﲣﺘﻠﻒ ﻋﻦ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﻌﺎﺩﻳﺔ ﰲ ﺃﺎ ﻻ ﺗﺴﺘﺨﺪﻡ ﺍﻟﻨﻮﺍﻓﺬ, ﺣﻴﺚ ﺃﻥ ﺍﻟﻌﻨﺎﺻﺮ ﺗﻈﻬﺮ ﻋﻠﻰ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ,ﻭﺇﺫﺍ ﰎ ﺍﺧﺘﻴﺎﺭ ﺍﻟﻌﻨﺼﺮ ﻓﺈﻧﻪ ﺑﺪ ﹰﻻ ﻣﻦ ﺃﻥ ﻳﻔﺘﺢ ﰲ ﻧﺎﻓﺬﺓ ﻓﺈﻧﻪ ﻳﺘﻢ ﺗﻜﺒﲑﻩ ﺇﱃ ﺍﳌﺴﺘﻮﻯ ﺍﳌﻄﻠﻮﺏ ﻭﺍﻟﻌﻤﻞ ﻋﻠﻴﻪ ,ﻭﻋﻨﺪ ﺍﻻﻧﺘﻬﺎﺀ ﻳﺘﻢ ﺗﺼﻐﲑﻩ ﻋﻠﻰ ﺳﻄﺢ ﺍﳌﻜﺘﺐ .ﻫﻨﺎﻙ ﻋﺪﺓ ﺗﻄﺒﻴﻘﺎﺕ ﺗﺴﺘﺨﺪﻡ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻨﻬﺎiPhone ,Google Maps , Google Earth : ﺍﳌﺼﺎﺩﺭ: Operating system Concepts (Seventh Edition): Abraham Silberschatz,Peter Baer Galvin,Greg Gagne http://ar.wikipedia.org/wiki http://en.wikipedia.org/wiki http://www.opendirectorysite.info ﺍﳌﻮﺳﻮﻋﺔ ﺍﻟﻌﺮﺑﻴﺔ ﻟﻠﻜﻤﺒﻴﻮﺗﺮ ﻭﺍﻻﻧﺘﺮﻧﺖ ﺍﻟﻌﺮﺑﻴﺔ ﻣﻮﺍﻗﻊ ﺍﻟﻜﺘﺐ http://en.wikipedia.org/wiki/ZUI 4 ﺛﺎﻟﺜﹰﺎ :ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ)( System Calls ﺗﻌﺮﻳﻔﻬﺎ: ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ﻫﻲ ﻣﻴﻜﺎﻧﻴﻜﻴﺔ ﺗﺴﺘﺨﺪﻣﻬﺎ ﺑﺮﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺧﺪﻣﺔ ﻳﻘﻮﻡ ﺎ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ.ﺃﻭ ﻫﻲ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻟﱵ ﻳﺴﺘﺨﺪﻣﻬﺎ )ﻋﻤﻠﻴﺔ ﺍﳌﺴﺘﺨﺪﻡ( ﻟﻴﺴﺄﻝ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻟﻔﻌﻞ ﺷﻲﺀ ﻣﻌﲔ. ﻣﱴ ﲢﺪﺙ ؟ ﲢﺪﺙ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ﰲ ﻭﻗﺖ ﻣﻌﺎﳉﺔ ﺑﺮﺍﻣﺞ ﺍﻟﺘﺸﻐﻴﻞ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﺣﻴﺚ ﲢﺘﺎﺝ ﺇﱃ ﺧﺪﻣﺎﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ, ﻣﺜﻞ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻷﺟﻬﺰﺓ ﺍﳌﻠﺤﻘﺔ ﺑﺎﻟﻨﻈﺎﻡ ﻛﺒﻄﺎﻗﺔ ﺍﻟﺸﺒﻜﺔ ﺃﻭ ﺑﻄﺎﻗﺔ ﺍﻟﺼﻮﺕ ﺃﻭ ﺑﻄﺎﻗﺔ ﺍﻟﺮﺳﻮﻣﺎﺕ ﺃﻭ ﰲ ﺍﻻﺗﺼﺎﻻﺕ ﺑﲔ ﺍﻟﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ. ﻋﻨﺪﻣﺎ ﺗﺴﺘﺨﺪﻡ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ,ﻓﺈﻧﻪ ﺑﺒﺴﺎﻃﺔ ﻳﺘﻢ ﲢﺪﻳﺪ ﺍﺳﻢ ﺍﻟﺪﺍﻟﺔ ﺍﳌﻄﻠﻮﺑﺔ ﻭﻣﻨﺎﺩﺍﺎ ,ﻭﻟﻜﻦ ﻣﺎ ﺍﻟﻌﻤﻞ ﻋﻨﺪ ﺍﳊﺎﺟﺔ ﺇﱃ ﻣﻌﻠﻮﻣﺎﺕ ﺇﺿﺎﻓﻴﺔ؟ ﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﻳﺘﻢ ﺇﺭﺳﺎﻝ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻹﺿﺎﻓﻴﺔ ﻋﻦ ﻃﺮﻳﻖ ﻣﻌﺎﻣﻼﺕ).(parametersﻭﻫﻨﺎﻙ ﻋﺪﺓ ﻃﺮﻕ ﺗﺴﺘﺨﺪﻡ ﻹﺭﺳﺎﻝ ﺍﳌﻌﺎﻣﻼﺕ ﻭﻫﻲ: .1ﺇﺭﺳﺎﻝ ﺍﳌﻌﺎﻣﻼﺕ ﺇﱃ ﺍﻟﻨﻈﺎﻡ ﻋﻦ ﻃﺮﻳﻖ ﻭﺿﻌﻬﺎ ﰲ ﺃﺣﺪ ﺍﳌﺴﺠﻼﺕ).(registerﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﺳﺮﻳﻌﺔ ﻭﻟﻜﻨﻬﺎ ﺗﻔﻀﻞ ﻓﻘﻂ ﻋﻨﺪﻣﺎ ﻳﻜﻮﻥ ﻟﺪﻳﻨﺎ ﻋﺪﺩ ﻗﻠﻴﻞ ﻣﻦ ﺍﳌﻌﺎﻣﻼﺕ ﻭﺫﻟﻚ ﻷﻧﻪ ﻫﻨﺎﻙ ﻋﺪﺩ ﳏﺪﻭﺩ ﻣﻦ ﺍﳌﺴﺠﻼﺕ ﺩﺍﺧﻞ ﺍﳌﻌﺎﰿ. .2ﺍﺳﺘﺨﺪﺍﻡ ﺗﺮﻛﻴﺐ ﺑﻴﺎﻧﺎﺕ ﻣﻦ ﻧﻮﻉ , stackﲝﻴﺚ ﻳﻘﻮﻡ ﺍﻟﱪﻧﺎﻣﺞ ﺑﺪﻓﻊ ﺍﳌﻌﺎﻣﻼﺕ ﺩﺍﺧﻠﻬﺎ ﻭﻣﻦ ﰒ ﻳﻘﻮﻡ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺑﺎﺳﺘﺨﺮﺍﺟﻬﺎ.ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﻻ ﲢﺪﺩﻧﺎ ﰲ ﻛﻤﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﳌﺨﺰﻧﺔ. .3ﲣﺰﻳﻦ ﺍﳌﻌﺎﻣﻼﺕ ﰲ ﻣﻜﺎﻥ ﳏﺪﺩ ﰲ ﺍﻟﺬﺍﻛﺮﺓ) (blockﺃﻭ ﺗﻮﺿﻊ ﰲ ﺟﺪﻭﻝ ﰲ ﺍﻟﺬﺍﻛﺮﺓ),(table ﰒ ﺑﻌﺪ ﺫﻟﻚ ﻳﻮﺿﻊ ﻋﻨﻮﺍﻥ ﺍﳌﻜﺎﻥ ﺃﻭ ﺍﳉﺪﻭﻝ ﰲ ﻣﺴﺠﻞ) (registerﻭﳝﺮﺭ ﻫﺬﺍ ﺍﻟﻌﻨﻮﺍﻥ ﺇﱃ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ.ﻧﺴﺘﻄﻴﻊ ﺍﻟﻘﻮﻝ ﺃﻥ ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﺗﻌﺘﱪ ﻣﻦ ﺃﻓﻀﻞ ﺍﻟﻄﺮﻕ ﺍﻟﺜﻼﺙ ﻭﺫﻟﻚ ﻷﺎ ﻻ ﲢﺪﺩﻧﺎ ﰲ ﻛﻤﻴﺔ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﳌﺨﺰﻧﺔ ,ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺃﻥ ﺍﻟﻨﻈﺎﻡ ﻳﺴﺘﻄﻴﻊ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺃﻱ ﻣﻌﻠﻮﻣﺔ ﺑﺴﻬﻮﻟﺔ ﻋﻠﻰ 4إاد s)S :ا&U$ی ،vﺥی [uأﺥ UOm ،M*Uا&)ى $ا&Uﺡ !Xا& ،o"(X%ﻥ s#ا&("Oش ،ﻥcف ا&("f%ﻥM ﻋﻜﺲ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻟﺴﺎﺑﻘﺔ ,ﺣﻴﺚ ﺇﺫﺍ ﺃﺭﺍﺩ ﺍﻟﻨﻈﺎﻡ ﻣﻌﻠﻮﻣﺔ ﰲ ﺃﺳﻔﻞ ﺍﻟـ stackﻓﺴﻮﻑ ﻳﻀﻄﺮ ﻹﺧﺮﺍﺝ ﲨﻴﻊ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻟﱵ ﺗﻘﻊ ﻓﻮﻗﻬﺎ! ﳝﻜﻦ ﺗﺼﻨﻴﻒ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ﺇﱃ ﻫﺬﻩ ﺍﻷﻧﻮﺍﻉ: .1ﺃﻋﻤﺎﻝ ﺍﳌﻠﻔﺎﺕ :ﺧﻠﻖ /ﺣﺬﻑ /ﻓﺘﺢ ﻣﻠﻒ ،ﻗﺮﺍﺀﺓ /ﻛﺘﺎﺑﺔ .2ﺇﺩﺍﺭﺓ ﺍﻷﺟﻬﺰﺓ :ﻃﻠﺐ /ﲢﺮﻳﺮ ،ﻗﺮﺍﺀﺓ /ﻛﺘﺎﺑﺔ .3ﺻﻴﺎﻧﺔ ﺍﳌﻌﻠﻮﻣﺎﺕ :ﻃﻠﺐ /ﺃﺧﺬ ﺍﳌﻌﻠﻮﻣﺎﺕ ،ﻣﻌﺮﻓﺔ ﺍﻟﻮﻗﺖ ﻭ ﺍﻟﺘﺎﺭﻳﺦ ﻭﻋﻤﻠﻴﺔ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺍﳌﻌﻠﻮﻣﺎﺕ .4ﺍﻟﺘﻮﺍﺻﻞ :ﺧﻠﻖ /ﺣﺬﻑ ﺍﻟﺮﻭﺍﺑﻂ ،ﻭﺇﺭﺳﺎﻝ /ﺍﺳﺘﻘﺒﺎﻝ ﺍﻟﺮﺳﺎﺋﻞ .5ﺍﻟﺘﺤﻜﻢ ﰲ ﺍﻟﻌﻤﻠﻴﺎﺕ. ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ ): application program interface(API ﻟﻜﻞ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﳎﻤﻮﻋﺔ ﻣﻦ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ) ,(API'sﺍﻟﱵ ﺗﻘﻮﻡ ﲟﻨﺎﺩﺍﺓ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ) system ﻼ ﻋﻨﺪ ﻋﻤﻞ ﺍﻷﻣﺮ ) (kernel modeﰒ ﺗﻨﺘﻘﻞ ﺇﱃ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ.ﻓﻤﺜ ﹰ (callﰲ ﻗﻠﺐ ﺍﻟﻨﻈﺎﻡ ﺍﻟﱪﳎﻲ –)( -openﻓﺈﻧﻪ ﻳﺴﺘﺪﻋﻲ ﻧﺪﺍﺀ ﺍﻟﻨﻈﺎﻡ ﳍﺬﺍ ﺍﻷﻣﺮ: ) . (open () >>>>>open system call ﻭﻟﻴﺲ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺃﻥ ﻳﻌﺎﺩِﻝ ﺍﻷﻣﺮ ﺍﻟﱪﳎﻲ ﺍﻟﻮﺍﺣﺪ ﻧﺪﺍﺀ ﻭﺍﺣﺪ ﻟﻠﻨﻈﺎﻡ! ﻓﻘﺪ ﻳﺘﻄﻠﺐ ﺍﳌﺌﺎﺕ ﻣﻦ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ. ﺍﻟﺼﻮﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ﺗﻮﺿﺢ ﻟﻨﺎ ﺍﳌﻔﻬﻮﻡ ﺍﻟﻌﺎﻡ ﻟﻌﻼﻗﺔ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ ﻣﻊ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ: ﻣﻦ ﺃﻛﺜﺮ ﺃﻧﻮﺍﻉ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ ﺷﻴﻮﻋﹰﺎ: Win32 API.1ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﰲ ﻧﻈﺎﻡ ﺍﻟﻮﻳﻨﺪﻭﺯ POSIX API.2ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﰲ ﺃﻧﻈﻤﺔ UNIXﻭ Linuxﻭ Mac OS X JAVA API.3ﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﺍﻵﻟﺔ ﺍﻟﻮﳘﻴﺔ ﻟﻠﻐﺔ ﺍﳉﺎﻓﺎ. ﺇﻥ ﻣﻦ ﺍﳉﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﺃﻧﻪ ﻳ ﹶﻔﻀﻞ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ ﺑﺪ ﹰﻻ ﻣﻦ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ,ﻭﺫﻟﻚ ﻟﻸﺳﺒﺎﺏ ﺍﻟﺘﺎﻟﻴﺔ: .1ﻗﺎﺑﻠﻴﺔ ﺍﻟﻨﻘﻞ) (Portabilityﰲ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ. ﻓﻤﺜﻼ :ﻋﻨﺪ ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ ﺍﳉﺎﻓﺎ ﻓﺈﻧﻨﺎ ﻧﺴﺘﻄﻴﻊ ﺗﺸﻐﻴﻠﻪ ﰲ ﺃﻱ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﻣﺜﻞ WindowsﻭLinuxﻭ Macﺑﺪﻭﻥ ﺃﻱ ﺗﻐﻴﲑ ﰲ ﺃﻭﺍﻣﺮ ﻧﺪﺍﺀ ﺍﻟﻨﻈﺎﻡ. ﻼ ﻭﺗﻌﻘﻴﺪﹰﺍ ﻭﻳﺼﻌﺐ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ﻭﲣﺘﻠﻒ ﻣﻦ ﻧﻈﺎﻡ ﻟﻨﻈﺎﻡ ,ﺑﻴﻨﻤﺎ.2ﺃﻭﺍﻣﺮ ﺍﺳﺘﺪﻋﺎﺀ ﺍﻟﻨﻈﺎﻡ ﺃﻛﺜﺮ ﺗﻔﺼﻴ ﹰ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱪﳎﻴﺔ ﺃﺳﻬﻞ ﻭﺃﻗﻞ ﺗﻌﻘﻴﺪﹰﺍ. ﺍﻵﻥ ﻧﻌﻮﺩ ﺇﱃ ﻛﻴﻔﻴﺔ ﺗﻨﻔﻴﺬ ﻧﺪﺍﺀﺍﺕ ﺍﻟﻨﻈﺎﻡ ﺩﺍﺧﻞ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ )system calls :(implementation of ﻳﺘﻢ ﺭﺑﻂ ﺍﻷﻣﺮ ﺍﻟﱪﳎﻲ ) (APIﺑﺮﻗﻢ ) (indexﻭﻫﺬﺍ ﺍﻟﺮﻗﻢ ﻳﺮﺑﻂ ﺑﺄﻣﺮ ﻧﺪﺍﺀ ﺍﻟﻨﻈﺎﻡ ,ﻭﺗﻠﻚ ﺍﻷﺭﻗﺎﻡ ﺗﻜﻮﻥ ﻣﺪﻭﻧﺔ ﰲ ﺟﺪﻭﻝ ﻳﺴﻤﻰ ﺟﺪﻭﻝ ﺍﻟﻨﻈﺎﻡ) , (system tableﻭﻟﻜﻞ ﻧﺪﺍﺀ ﻟﻠﻨﻈﺎﻡ ﺭﻗﻢ ). (index ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﱄ ﻳﻮﺿﺢ ﺟﺪﻭﻝ ﺍﻟﻨﻈﺎﻡ ﺣﻴﺚ ﻧﻼﺣﻆ ﻓﻴﻪ ﻛﻞ ﺃﻣﺮ ﻧﻈﺎﻡ ﻣﺮﺗﺒﻂ ﺑﺮﻗﻢ):(index ﻼ ﻋﻨﺪ ﻋﻤﻞ ﺍﻷﻣﺮ ﺍﻟﱪﳎﻲ –)( , -openﺳﻮﻑ ﻳﺘﻢ ﺍﻻﻧﺘﻘﺎﻝ ﻣﻦ ﺃﺳﻠﻮﺏ ﺍﳌﺴﺘﺨﺪﻡ ﺇﱃ ﺃﺳﻠﻮﺏ ﻟﺐ ﻣﺜ ﹰ ﺍﻟﻨﻈﺎﻡ ,ﻭﺑﺎﻟﺘﺎﱄ ﻻﺑﺪ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻡ ﻧﺪﺍﺀ ﺍﻟﻨﻈﺎﻡ ,ﻭﻳﺘﻢ ﺫﻟﻚ ﺑﻌﻤﻞ ﻣﻨﺎﺩﺍﺓ ﻟﻠﺮﻗﻢ ﺍﳌﺮﺗﺒﻂ ﺑﺎﻟﻨﺪﺍﺀ ﺍﻟﺬﻱ ﻳﺘﻢ ﺇﳚﺎﺩﻩ ﻣﻦ ﺧﻼﻝ ﺟﺪﻭﻝ ﺍﻟﻨﻈﺎﻡ ) (system tableﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﰲ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﱄ: ﺍﳌﺼﺎﺩﺭ: Operating system Concepts (Seventh Edition): Abraham Silberschatz,Peter Baer Galvin,Greg Gagne http://en.wikipedia.org/wiki/System_call http://data.uta.edu/~ramesh/cse3320 http://tiger.la.asu.edu/Quick_Ref/Linux_Syscall_quickref.pdf http://www.slideshare.net/guestd1b5cb/adding-a-system-call ﺭﺍﺑﻌﹰﺎ :ﺑﺮﺍﻣﺞ ﺍﻟﻨﻈﺎﻡ(System Programs)5 ﻫﻲ ﳎﻤﻮﻋﺔ ﺑﺮﺍﻣﺞ ﺗﻮﻓﺮ ﺑﻴﺌﺔ ﲣﺎﻃﺒﻴﺔ ﺑﲔ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻭﺍﻟﱪﺍﻣﺞ ﺍﳌﻄ ﻮﺭﺓ ﻣﻦ ﻗﺒﻞ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻭﻣﻄﻮﺭﻱ ﺍﻟﱪﺍﻣﺞ ,ﻭﺃﻛﺜﺮ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻳﺘﻌﺎﻣﻠﻮﻥ ﻣﻊ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻋﻦ ﻃﺮﻳﻖ ﺑﺮﺍﻣﺞ ﺍﻟﻨﻈﺎﻡ ﻭﻟﻴﺲ ﻋﻦ ﻃﺮﻳﻖ ﺍﻻﺗﺼﺎﻝ ﺍﳌﺒﺎﺷﺮ ﺑﻨﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ. ﺃﻧﻮﺍﻉ ﺑﺮﺍﻣﺞ ﺍﻟﻨﻈﺎﻡ: ﺗﻘﺴﻢ ﺑﺮﺍﻣﺞ ﺍﻟﻨﻈﺎﻡ ﺇﱃ ﻋﺪﺓ ﺃﻗﺴﺎﻡ ﻭﻫﻲ: ﺇﺩﺍﺭﺓ ﺍﳌﻠﻔﺎﺕ :ﻭﻫﻲ ﺍﳌﺴﺌﻮﻟﺔ ﻋﻦ ﺧﻠﻖ ,ﺣﺬﻑ ,ﺇﻋﺎﺩﺓ ﺗﺴﻤﻴﺔ ,ﻧﺴﺦ ﻭﻏﲑﻫﺎ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﳌﻠﻔﺎﺕ ﻭﺍﻷﺩﻟﺔ. ﻣﻌﻠﻮﻣﺎﺕ ﺣﺎﻟﺔ ﺍﻟﻨﻈﺎﻡ :ﻫﻲ ﺑﺮﺍﻣﺞ ﺗﺴﺄﻝ ﺍﻟﻨﻈﺎﻡ ﻋﻦ ﺍﻟﻮﻗﺖ ,ﺍﻟﺘﺎﺭﻳﺦ ,ﺣﺠﻢ ﺍﻟﺬﺍﻛﺮﺓ ,ﻋﺪﺩ ﺍﳌﺴﺘﺨﺪﻣﲔ. ﺗﻌﺪﻳﻞ ﺍﳌﻠﻔﺎﺕ :ﻭﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﳎﻤﻮﻋﺔ ﻣﻦ ﳏﺮﺭﺍﺕ ﺍﻟﻨﺼﻮﺹ ﻟﻌﻤﻞ ﺗﻐﲑﺍﺕ ﰲ ﳏﺘﻮﻳﺎﺕ ﺍﳌﻠﻔﺎﺕ. ﺩﻋﻢ ﻣﻠﻔﺎﺕ ﺍﻟﱪﳎﺔ :ﻭﻫﻲ ﺍﳌﺴﺌﻮﻟﺔ ﻋﻦ ﺍﻟﺘﺠﻤﻴﻊ ﰲ ﺑﺮﺍﻣﺞ ﻟﻐﺎﺕ ﺍﻟﱪﳎﺔ. ﺗﻨﻔﻴﺬ ﻭﲢﻤﻴﻞ ﺍﻟﱪﺍﻣﺞ :ﻭﻫﻲ ﺍﳌﺴﺌﻮﻟﺔ ﻋﻦ ﺗﻨﻔﻴﺬ ﺍﻟﱪﺍﻣﺞ ﺑﻌﺪ ﲢﻤﻴﻠﻬﺎ. ﺍﻻﺗﺼﺎﻻﺕ :ﻭﻫﻲ ﺍﳌﺴﺌﻮﻟﺔ ﻋﻦ ﺍﻟﺘﻮﺍﺻﻞ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺃﻭ ﺑﲔ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺃﻭ ﺑﲔ ﺃﺟﻬﺰﺓ ﺃﺧﺮﻯ ﳐﺘﻠﻔﺔ. ﺍﳌﺼﺪﺭ: Operating system Concepts (Seventh Edition): Abraham Silberschatz,Peter Baer Galvin,Greg Gagne 5إاد :أ oSا&|{"$ 6 ﺧﺎﻣﺴﹰﺎ :ﺗﺮﻛﻴﺐ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ)(Operating Systems Structure ﻫﻨﺎﻙ ﻋﺪﺓ ﻃﺮﻕ ﻟﺒﻨﺎﺀ ﻭﺗﺮﻛﻴﺐ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﻭ ﻫﻲ: .1ﺍﻟﺘﺮﻛﻴﺐ ﺍﻟﺒﺴﻴﻂ ): (Monolithic ﲝﻴﺚ ﻳﻜﻮﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﰲ ﻣﺴﺘﻮﻯ ﻭﺍﺣﺪ ﺃﻭ ﰲ ﻣﺴﺘﻮﻳﲔ. ﺍﳌﻴﺰﺓ ﺍﻟﺮﺋﻴﺴﻴﺔ :ﺗﻜﻠﻔﺔ ﺍﻟﺘﻔﺎﻋﻼﺕ ﺍﻟﺪﺍﺧﻠﻴﺔ ﰲ ﺍﻟﻨﻈﺎﻡ ﺗﻜﻮﻥ ﻣﻨﺨﻔﻀﺔ ﻷﺎ ﲨﻴﻌﺎ ﺗﻘﻊ ﻋﻠﻰ ﻧﻔﺲ ﺍﳌﺴﺘﻮﻯ. ﺍﻟﻌﻴﻮﺏ: ﺻﻌﻮﺑﺔ ﺍﻟﻔﻬﻢ . ﺻﻌﻮﺑﺔ ﺍﻟﺘﻌﺪﻳﻞ . ﺻﻌﻮﺑﺔ ﺍﻟﺼﻴﺎﻧﺔ . ﻏﲑ ﻣﻮﺛﻮﻕ ﻓﻴﻪ . .2ﺗﺮﻛﻴﺐ ﺍﻟﻄﺒﻘﺎﺕ ): (Layered ﺃﻱ ﺃﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻣﻘﺴﻢ ﻟﻄﺒﻘﺎﺕ )ﻣﺴﺘﻮﻳﺎﺕ( ﲝﻴﺚ ﻳﻜﻮﻥ ﻛﻞ ﺟﺰﺀ ﻣﻦ ﺍﻟﻨﻈﺎﻡ ﰲ ﻃﺒﻘﺔ ﻣﺴﺘﻘﻠﺔ ،ﻭ ﲝﻴﺚ ﺃﻥ ﺍﻟﻄﺒﻘﺔ (layer 0) 0ﳐﺼﺼﺔ ﻟﻠﻌﺘﺎﺩ ) ، (Hardwareﻭﺍﻟﻄﺒﻘﺔ ﻥ ) (layer Nﳐﺼﺼﺔ ﻟﻮﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ,ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﰲ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﱄ: 6إاد :ﺱ ["Xا&W")Zان ﺍﳌﻴﺰﺓ ﺍﻟﺮﺋﻴﺴﻴﺔ :ﻭﺟﻮﺩ ﺍﻟﻄﺒﻘﺎﺕ ﺃﺩﻯ ﺇﱃ ﺗﺴﻬﻴﻞ ﻋﻤﻠﻴﺔ ﺍﻟﺼﻴﺎﻧﺔ . ﺍﻟﻌﻴﻮﺏ :ﺍﳌﺸﻜﻠﺔ ﺗﻜﻤﻦ ﰲ ﻋﻤﻠﻴﺔ ﺗﺮﺗﻴﺐ ﺍﻟﻄﺒﻘﺎﺕ ،ﻓﻼ ﺗﻮﺟﺪ ﻟﺪﻳﻨﺎ ﻃﺮﻳﻘﺔ ﻭﺍﺿﺤﺔ ﻟﻠﺘﺮﺗﻴﺐ . .3ﺗﺮﻛﻴﺐ ﺍﻟﻨﻮﺍﺓ ﺍﻟﺼﻐﲑﺓ ) : (Microkernel ﺗﻜﻮﻥ ﻧﻮﺍﺓ ﺍﻟﻨﻈﺎﻡ ﰲ ﻫﺬﺍ ﺍﻟﺘﺮﻛﻴﺐ ﺻﻐﲑﺓ ﺟﺪﹰﺍ ،ﻭﻻ ﻳﻮﺿﻊ ﺑﺪﺍﺧﻠﻬﺎ ﺳﻮﻯ ﺍﻟﻮﻇﺎﺋﻒ ﺍﻷﺳﺎﺳﻴﺔ .ﺃﻣﺎ ﺍﻟﻮﻇﺎﺋﻒ ﺍﻷﺧﺮﻯ ﻓﺘﻮﺿﻊ ﰲ ﻣﺴﺎﺣﺔ ﺍﳌﺴﺘﺨﺪﻡ ،ﻭﻳﻜﻮﻥ ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﻣﺴﺎﺣﺔ ﺍﳌﺴﺘﺨﺪﻡ ﻭﺍﻟـﻨﻮﺍﺓ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟـﺮﺳﺎﺋﻞ ﺍﻟﻌﺎﺑﺮﺓ ).(message passing ﺍﳌﻴﺰﺍﺕ : ﻣﻦ ﺍﻟﺴﻬﻞ ﺗﻮﺳﻴﻊ )ﲤﺪﻳﺪ( ﺍﻟﻨﻈﺎﻡ. ﺍﻟﻨﻈﺎﻡ ﺃﻛﺜﺮ ﺛﻘﺔ ﻭ ﺃﻛﺜﺮ ﺃﻣﻨﹰﺎ. ﺍﻟﻌﻴﻮﺏ : ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﻣﺴﺎﺣﺔ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻧﻮﺍﺓ ﺍﻟﻨﻈﺎﻡ ﻋﻤﻠﻴﺔ ﻣﻜﻠﻔﺔ. .4ﺗﺮﻛﻴﺐ ﺍﻟﻮﺣﺪﺍﺕ ): (Modules-based ﻣﻌﻈﻢ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳊﺪﻳﺜﺔ ﻣﺒﻨﻴﺔ ﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ،ﺣﻴﺚ ﺗﻜﻮﻥ ﺍﻟﻨﻮﺍﺓ ﺍﻷﺳﺎﺳﻴﺔ ﰲ ﺍﳌﺮﻛﺰ ﻭﺑﻘﻴﺔ ﺍﻟﻮﻇﺎﺋﻒ ﺗﺘﻔﺮﻉ ﻣﻨﻬﺎ ،ﻭﻫﻲ ﻣﺸﺎﺔ ﻟﻠﻄﺒﻘﺎﺕ ﻭﻟﻜﻦ ﺃﻛﺜﺮ ﻣﺮﻭﻧﺔ ﻭﺃﻛﺜﺮ ﻛﻔﺎﺀﺓ. : ﺍﳌﺼﺪﺭ Operating system Concepts (Seventh Edition): Abraham Silberschatz, Peter Baer Galvin, Greg Gagne ﺳﺎﺩﺳﹰﺎ :ﺍﻵﻻﺕ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ﺃﻭﺍﻟﺘﺨﻴﻠﻴﺔ)(Virtual Machines7 ﻣﺎ ﻫﻲ ﺍﻵﻟﺔ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ؟ ﺍﻵﻟﺔ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﻳﺴﻤﺢ ﺑﺘﺸﻐﻴﻞ ﺃﻛﺜﺮ ﻣﻦ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﲣﻴﻠﻲ ﺍﻓﺘﺮﺍﺿﻲ ﻋﻠﻰ ﺟﻬﺎﺯ ﺷﺨﺼﻲ ﻭﺍﺣﺪ.ﲝﻴﺚ ﳝﻜﻦ ﺗﺜﺒﻴﺖ ﺃﻛﺜﺮ ﻣﻦ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﻋﻠﻰ ﻧﻔﺲ ﺍﳉﻬﺎﺯ ﻭﺍﻟﺘﻨﻘﻞ ﺑﲔ ﻫﺬﻩ ﺍﻷﻧﻈﻤﺔ ﺩﻭﻥ ﺍﳌﺴﺎﺱ ﺑﺎﻟﻨﻈﺎﻡ ﺍﳊﺎﱄ ﻭﺩﻭﻥ ﺧﺴﺎﺭﺓ ﻛﺒﲑﺓ ﰲ ﺍﻷﺩﺍﺀ.ﻭ ﺗﻌﻤﻞ ﺍﻵﻟﺔ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ﻛﺘﻄﺒﻴﻖ ﻋﻠﻰ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳌﻀﻴﻒ. ﺧﺼﺎﺋﺼﻬﺎ: ﲤﻜﻦ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺃﻧﻈﻤﺔ ﺗﺸﻐﻴﻞ ﻣﺘﻌﺪﺩﺓ ﻋﻠﻰ ﺟﻬﺎﺯ ﻭﺍﺣﺪ ﻭﺍﻟﺘﻨﻘﻞ ﺑﻴﻨﻬﺎ ﺩﻭﻥ ﺍﳊﺎﺟﺔ ﻹﻋﺎﺩﺓ ﺗﺸﻐﻴﻠﻪ . ﲤﻜﻦ ﻣﻦ ﺗﺮﻛﻴﺐ ﺃﻧﻈﻤﺔ ﺗﺸﻐﻴﻞ ﻣﺘﻌﺪﺩﺓ ﺩﻭﻥ ﺗﻘﺴﻴﻢ ﺟﺪﻳﺪ ﻟﻠﻘﺮﺹ ﺍﻟﺼﻠﺐ. ﺗﻮﻓﺮ ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﺃﻧﻈﻤﺔ ﺗﺸﻐﻴﻞ ﻣﺘﻌﺪﺩﺓ ﻋﻠﻰ ﺟﻬﺎﺯ ﺷﺨﺼﻲ ﻭﺍﺣﺪ. ﻓﻮﺍﺋـﺪﻫﺎ: ﺇﻣﻜﺎﻧﻴﺔ ﲡﺮﺑﺔ ﺃﻧﻈﻤﺔ ﺗﺸﻐﻴﻞ ﻣﺘﻌﺪﺩﺓ ﺑﺄﻗﻞ ﺍﻟﺘﻜﺎﻟﻴﻒ. ﺇﻣﻜﺎﻧﻴﺔ ﺇﺟﺮﺍﺀ ﺗﻌﺪﻳﻼﺕ ﻭﲡﺎﺭﺏ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ ﺍﻟﺘﺨﻴﻠﻲ ﲝﺮﻳﺔ ﻭﺫﻟﻚ ﻷﻥ ﺍﳌﻮﺍﺭﺩ ﺍﻟﱵ ﻳﺴﺘﺨﺪﻣﻬﺎ ﻣﻌﺰﻭﻟﺔ ﲤﺎﻣﹰﺎ ﻋﻦ ﻣﻮﺍﺭﺩ ﺍﻟﻨﻈﺎﻡ ﺍﻷﺳﺎﺳﻲ. ﻳﺴﺎﻋﺪ ﻋﻠﻰ ﺗﻮﻓﲑ ﺑﻴﺌﺔ ﺑﺮﳎﻴﺔ ﺟﻴﺪﺓ ,ﳑﺎ ﻳﺘﻴﺢ ﳌﹸﻄﻮﺭﻱ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﺍﻟﻘﻴﺎﻡ ﺑﺎﻟﺘﺠﺎﺭﺏ ﻭﺍﻟﺒﺤﻮﺙ ﻋﻠﻰ ﺍﻵﻟﺔ ﺍﻟﻮﳘﻴﺔ ﺑﺪ ﹰﻻ ﻣﻦ ﺍﻟﻘﻴﺎﻡ ﺎ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ ﺍﻷﺳﺎﺳﻲ ﻭﺑﺎﻟﺘﺎﱄ ﻻ ﻳﺆﺛﺮ ﻋﻠﻰ ﺃﺩﺍﺀ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ. ﻣﺜﺎﻝ ﻋﻠﻰ ﺍﻵﻻﺕ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ: ﺁﻟﺔ ﺟﺎﻓﺎ ﺍﻟﻮﳘﻴﺔ ) ,(JAVA Virtual Machineﺍﻟﱵ ﲤﻜﻦ ﻣﻠﻔﺎﺕ ﺍﳉﺎﻓﺎ ﻣﻦ ﺍﻟﻌﻤﻞ ﻋﻠﻰ ﲨﻴﻊ ﺃﻭ ﻣﻌﻈﻢ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ. 7إاد :ﺡ" [Xﺡ~ ,MXﻥcف ا&("f%ﻥ ,Mﻥcرة ا&&(Zي :ﺍﳌﺼﺎﺩﺭ 1421/3/29 ﺑﺘﺎﺭﻳﺦ122 ﻃﺒﻴﺐ ﺍﻹﻧﺘﺮﻧﺖ ﺍﳊﻠﻘﺔhttp://www.fantookh.com/ www.cis.nctu.edu.tw http://tarksiala.blogspot.com/2007/06/vmware-60.html 8 ﺳﺎﺑﻌﺎً :ﺗﻨﺸﺌﺔ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ)(Operating system generation ﻣﻦ ﺍﳌﻤﻜﻦ ﺗﺼﻤﻴﻢ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﺃﻭ ﺑﺮﳎﺘﻪ ﺃﻭ ﺗﻨﻔﻴﺬﻩ ﺧﺼﻴﺼﹰﺎ ﳉﻬﺎﺯ ﻭﺍﺣﺪ ﰲ ﻣﻜﺎﻥ ﻭﺍﺣﺪ ,ﻟﻜﻦ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﺑﺸﻜﻞ ﻋﺎﻡ ﻣﺼﻤﻤﺔ ﻟﻠﻌﻤﻞ ﻋﻠﻰ ﺃﻱ ﻧﻮﻉ ﻣﻦ ﺃﺟﻬﺰﺓ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ ﰲ ﺃﻱ ﻣﻜﺎﻥ ﻭﻣﺘﺼﻠﺔ ﻣﻊ ﺃﻱ ﻧﻮﻉ ﻣﻦ ﺍﻷﺟﻬﺰﺓ ﺍﻟﻄﺮﻓﻴﺔ.ﻟﺬﻟﻚ ﳚﺐ ﺗﺮﻛﻴﺐ ﺍﻟﻨﻈﺎﻡ ﻟﻜﻞ ﺟﻬﺎﺯ ﻋﻠﻰ ﺣﺪﺓ ,ﻭﻋﻤﻠﻴﺔ ﺍﻟﺘﺮﻛﻴﺐ ﻫﺬﻩ ﻳﻄﻠﻖ ﻋﻠﻴﻬﺎ ) (SYSTEM GENERATIONﺃﻱ "ﺗﻨﺸﺌﺔ ﺍﻟﻨﻈﺎﻡ". ﰲ ﺍﻟﻌﺎﺩﺓ ﺗﻨﺘﺞ ﺍﻟﺸﺮﻛﺎﺕ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ﻋﻠﻰ ﺃﻗﺮﺍﺹ ﻣﺪﳎﺔ ) ,(CDﻭﻟﻜﻲ ﺗﺘﻢ ﻋﻤﻠﻴﺔ ﺗﺮﻛﻴﺐ ﺍﻟﻨﻈﺎﻡ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ﳚﺐ ﺍﺳﺘﺨﺪﺍﻡ ﺑﺮﻧﺎﻣﺞ ﻳﻄﻠﻖ ﻋﻠﻴﻪ ﺍﺳﻢ " "SYSGENﺍﻟﺬﻱ ﻳﻘﻮﻡ ﺑﻘﺮﺍﺀﺓ ﺑﻴﺎﻧﺎﺕ ﺍﻟﺘﺮﻛﻴﺐ ﻣﻦ ﻣﻠﻒ ﻣﻌﲔ ,ﺃﻭ ﻳﻘﻮﻡ ﺑﺘﻮﺟﻴﻪ ﺃﺳﺌﻠﺔ ﺇﱃ ﺍﻟﺸﺨﺺ ﺍﻟﺬﻱ ﻳﻘﻮﻡ ﺑﺘﺮﻛﻴﺐ ﺍﻟﻨﻈﺎﻡ ﺣﻮﻝ ﻣﻌﻠﻮﻣﺎﺕ ﲣﺺ ﺍﻟﻨﻈﺎﻡ ,ﻭﻣﻦ ﻫﺬﻩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ: ﻧﻮﻉ ﺍﳌﻌﺎﰿ ﺍﳌﺴﺘﺨﺪﻡ ,ﻭ ﰲ ﺣﺎﻟﺔ ﺗﻌﺪﺩ ﺍﳌﻌﺎﳉﺎﺕ ﳚﺐ ﻭﺻﻒ ﻛﻞ ﻣﻌﺎﰿ ﻋﻠﻰ ﺣﺪﺓ. ﺣﺠﻢ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺘﻮﻓﺮﺓ. ﺍﻷﺟﻬﺰﺓ ﺍﳌﺘﻮﺍﻓﺮﺓ ,ﺣﻴﺚ ﳚﺐ ﲢﺪﻳﺪ ﺍﻟﻨﻮﻉ ﻭﺍﻟﻄﺮﺍﺯ ﻭﺃﻱ ﻣﻮﺍﺻﻔﺎﺕ ﺧﺎﺻﺔ. ﺧﻴﺎﺭﺍﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳌﺮﻏﻮﺑﺔ,ﻣﺜﻞ ﺍﺧﺘﻴﺎﺭ ﻃﺮﻳﻘﺔ ﺟﺪﻭﻟﺔ ﺍﳌﻌﺎﰿ,ﺃﻭ ﺍﻟﻌﺪﺩ ﺍﻷﻗﺼﻰ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ. ﺣﺎﳌﺎ ﻳﺘﻢ ﲢﺪﻳﺪ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻓﺈﻧﻪ ﳝﻜﻦ ﺣﻔﻈﻬﺎ ﰲ ﺟﺪﺍﻭﻝ ﻭﲣﺰﻳﻨﻬﺎ ,ﲝﻴﺚ ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻋﻨﺪ ﺗﺮﻛﻴﺐ ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﺃﺟﻬﺰﺓ ﺃﺧﺮﻯ ,ﻭﺑﺎﻟﺘﺎﱄ ﺗﻮﻓﺮ ﻋﻠﻰ ﺍﳌﺴﺘﺨﺪﻡ ﻋﻨﺎﺀ ﺗﻜﺮﺍﺭ ﺇﺩﺧﺎﻝ ﲨﻴﻊ ﻫﺬﻩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻋﻠﻰ ﻛﻞ ﺟﻬﺎﺯ ﰲ ﻛﻞ ﻣﺮﺓ. ﺍﳌﺼﺪﺭ: Operating system Concepts (Seventh Edition): Abraham Silberschatz, Peter Baer Galvin, Greg Gagne 8إاد :ﺱ ["Xﺏ(cOة ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻟﺚ: ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ Processes ﻣﻘﺪﻣﺔ ﰲ ﺑﺪﺍﻳﺎﺕ ﺍﳊﺎﺳﺐ ﻛﺎﻥ ﺍﻟﻨﻈﺎﻡ ﻳﺴﻤﺢ ﻟﱪﻧﺎﻣﺞ ﻭﺍﺣﺪ ﺃﻥ ﻳﻨﻔﺬ ﰲ ﻭﻗﺖ ﻣﻌﲔ.ﻭﻛﺎﻥ ﻫﺬﺍ ﺍﻟﱪﻧﺎﻣﺞ ﻳﺴﻴﻄﺮ ﺳﻴﻄﺮﺓ ﺗﺎﻣﺔ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ. ﻭﻟﻜﻦ ﰲ ﺍﳊﺎﺳﺒﺎﺕ ﺍﳊﺎﻟﻴﺔ ﻳﺴﻤﺢ ﺍﻟﻨﻈﺎﻡ ﻷﻛﺜﺮ ﻣﻦ ﺑﺮﻧﺎﻣﺞ ﺃﻥ ﳛﻤﻞ ﺇﱃ ﺍﻟﺬﺍﻛﺮﺓ ﻭﺃﻥ ﻳﻨﻔﺬﻭﻥ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ.ﻭﻫﺬﺍ ﺍﻟﺘﻄﻮﺭ ﻳﺘﻄﻠﺐ ﲢﻜﻢ ﺃﻛﱪ ﻭﺗﻘﺴﻴﻢ ﺍﻟﱪﺍﻣﺞ ﺍﳌﺨﺘﻠﻔﺔ ﺇﱃ ﺃﺟﺰﺍﺀ ﻣﺴﺘﻘﻠﺔ ،ﻭﻫﺬﻩ ﺍﻻﺣﺘﻴﺎﺟﺎﺕ ﺃﻧﺘﺠﺖ ﻟﻨﺎ ﻣﺎ ﻳﺪﻋﻰ ﺑﺎﻟﻌﻤﻠﻴﺔ ،processﻭﻫﻲ ﺍﻟﱪﻧﺎﻣﺞ ﰲ ﻣﺮﺣﻠﺔ ﺍﻟﺘﻨﻔﻴﺬ.ﻭﺍﻟﻌﻤﻠﻴﺔ ﻫﻲ ﻭﺣﺪﺓ ﺍﻟﻌﻤﻞ ﰲ ﺃﻧﻈﻤﺔ ﻣﺸﺎﺭﻛﺔ ﺍﻟﻮﻗﺖ time-sharingﺍﳊﺪﻳﺜﺔ. ﻭﻛﻠﻤﺎ ﻛﺎﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻣﻌﻘﺪﺍﹰ ،ﻛﻠﻤﺎ ﺗﻮﻗﻌﻨﺎ ﻣﻨﻪ ﻋﻤﻞ ﺃﻣﻮﺭﹰﺍ ﺃﻛﺜﺮ ﺑﺎﻟﻨﻴﺎﺑﺔ ﻋﻦ ﻣﺴﺘﺨﺪﻣﻴﻪ.ﻟﺬﺍ ﻳﺘﻜﻮﻥ ﺍﻟﻨﻈﺎﻡ ﻣﻦ ﳎﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ :ﻋﻤﻠﻴﺎﺕ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺗﻨﻔﺬ ﺷﻔﺮﺓ ) (codeﺍﻟﻨﻈﺎﻡ ،ﻭﻋﻤﻠﻴﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ﺗﻨﻔﺬ ﺷﻔﺮﺓ ﺍﳌﺴﺘﺨﺪﻡ.ﻭﻣﻦ ﺍﳌﻤﻜﻦ ﺃﻥ ﺗﻌﻤﻞ ﻛﻞ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ،ﲜﻌﻞ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ) (CPUﺗﻌﻤﻞ ﻋﻠﻴﻬﻢ ﺑﺘﻌﺪﺩ .multiplexedﺑﺘﺒﺪﻳﻞ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ ،ﳝﻜﻦ ﺃﻥ ﳚﻌﻞ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳊﺎﺳﺐ ﺃﻛﺜﺮ ﺇﻧﺘﺎﺟﻴﻪ. ﻫﺬﻩ ﻛﺎﻧﺖ ﺑﺪﺍﻳﺔ ﺗﻌﺮﻳﻔﻴﺔ ﻋﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻛﺎﻥ ﺍﳌﺮﺟﻊ ﻓﻴﻬﺎ ﻛﺘﺎﺏ: Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th editionﻭﻓﻴﻤﺎ ﻳﻠﻲ ﺷﺮﺡ ﻣﻔﺼﻞ ﻋﻦ ﺑﻌﺾ ﺍﳌﻮﺍﺿﻴﻊ ﺍﳌﺘﻌﻠﻘﺔ ﺑﺎﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ ،ﰎ ﲨﻌﻬﺎ ﻣﻦ ﻭﻳﻜﻲ wikiﻣﺎﺩﺓ ﻧﻈﻢ ﺍﻟﺘﺸﻐﻴﻞ: http://os1h.pbwiki.com/ http://os2h.pbwiki.com/ http://os3h.pbwiki.com/ http://os2a.pbwiki.com/ ﻭﺇﻋﺪﺍﺩﻫﺎ ﻭﺗﻨﺴﻴﻘﻬﺎ ﺑﻮﺍﺳﻄﺔ ﻫﻨﺪ ﺧﺎﻟﺪ ﺍﻟﺮﻭﻗﻲ )([email protected] ﺍﳋﺮﻳﻄﺔ ﺍﻟﺬﻫﻨﻴﺔ ﻟﻠﻔﺼﻞ: ﺃﻭ ﹰﻻ :ﻣﻔﻬﻮﻡ ﺍﻟﻌﻤﻠﻴﺔ Process Concept9 ﺍﻟﻌﻤﻠﻴﺔ ﻫﻲ ﺗﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺞ ﻣﺘﺴﻠﺴﻞ ،ﻭﻋﻤﻮﻣﺎ ﳛﺘﺎﺝ ﺗﻨﻔﻴﺬ ﺍﻟﻌﻤﻠﻴﺔ ﺇﱃ ﻋﺪﺓ ﻣﻮﺍﺭﺩ ﻣﻨﻬﺎ :ﻭﻗﺖ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ) ,(CPUﺍﻟﺬﺍﻛﺮﺓ ،ﺍﳌﻠﻔﺎﺕ ﻭﺃﺟﻬﺰﺓ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ.ﻭﻫﺬﻩ ﺍﳌﻮﺍﺭﺩ ﺗﻌﻄﻰ ﻟﻠﻤﻬﻤﺔ ﺇﻣﺎ ﻭﻗﺖ ﺇﻧﺸﺎﺀﻫﺎ ﺃﻭ ﻭﻗﺖ ﺗﻨﻔﻴﺬﻫﺎ. ﻭﺍﻟﻌﻤﻠﻴﺔ ﻋﺎﺩﺓ ﻫﻲ ﻭﺣﺪﺓ ﻋﻤﻞ ﻣﺘﻜﺎﻣﻠﺔ ﰲ ﺃﻏﻠﺐ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ) ،(operating systemsﻭﻫﻲ ﺇﻣﺎ ﻋﻤﻠﻴﺎﺕ ﺧﺎﺻﺔ ﺑﺄﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﻭﺗﻨﻔﺬ ﺑﺮﺍﻣﺞ ﺍﻟﺘﺸﻐﻴﻞ ،ﺃﻭ ﻋﻤﻠﻴﺎﺕ ﺧﺎﺻﺔ ﺑﺎﳌﺴﺘﺨﺪﻣﲔ ﻭﺗﻨﻔﺬ ﺑﺮﺍﻣﺞ ﺍﳌﺴﺘﺨﺪﻣﲔ.ﻭﲨﻴﻊ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺗﻨﻔﺬ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ. ﻭﺍﳌﺴﺆﻭﻝ ﻋﻦ ﺇﺩﺍﺭﺓ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻭﻛﻞ ﻣﺎ ﻳﺘﻌﻠﻖ ﺎ ﻣﻦ ﺇﻧﺸﺎﺀ ﺃﻭ ﺇﻟﻐﺎﺀ ﻭﺟﺪﻭﻟﺔ ﻭﺁﻟﻴﺔ ﺗﺰﺍﻣﻦ ﻭﺍﺗﺼﺎﻻﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻫﻮ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. 10 ﺍﻟﻌﻤﻠﻴﺔ Process ﲢﺘﻮﻱ ﺍﻟﻌﻤﻠﻴﺎﺕ )ﻋﻠﻰ ﺍﻷﻗﻞ( ﻋﻠﻰ: oﻣﺴﺎﺣﻪ ﺍﻟﻌﻨﻮﻧﺔ ) (address spaceﻫﻲ ﻣﺴﺎﺣﻪ ﳏﺠﻮﺯﺓ ﺑﺎﻟﺬﺍﻛﺮﺓ )ﲢﺘﻮﻱ ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻌﻤﻠﻴﺔ( oﺍﻟﻜﻮﺩ ﺍﳌﺴﺘﺨﺪﻡ ﰲ ﺍﻟﱪﻧﺎﻣﺞ ﺍﳌﺮﺍﺩ ﺗﻨﻔﻴﺬﻩ ).(program code oﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﳌﺨﺰﻧﺔ ﻟﻠﱪﻧﺎﻣﺞ ﺍﳌﺮﺍﺩ ﺗﻨﻔﻴﺬﻩ ).(program data oﻭﻣﺆﺷﺮ ﻟﻠﺘﻜﺪﻳﺲ ).(stack pointer oﻋﺪﺍﺩ ﻟﻠﱪﻧﺎﻣﺞ )) (program counterﺣﻴﺚ ﺃﻥ ﺍﻟﱪﻧﺎﻣﺞ ﻳﺘﺄﻟﻒ ﻣﻦ ﻋﺪﺓ ﺳﻄﻮﺭ ﻭﻫﺬﺍ ﺍﻟﻌﺪﺍﺩ ﻳﻌﺪ ﻫﺬﻩ ﺍﻷﺳﻄﺮ(. oﺍﻟﺴﺠﻞ ) (registerﻭﻗﻴﻤﻪ. oﺍﻟﻜﻮﻣﺔ ) (heapﻋﻤﻠﻴﻪ ﺗﻄﻮﻳﻖ ﺃﻭ ﲢﺪﻳﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﱵ ﺍﺳﺘﺨﺪﻣﻨﺎﻫﺎ ﰲ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ. 9ﻥ s#ا&("Oش ا&|Xرhttp://en.wikipedia.org/wiki/Process_%28computing%29 : 10ء ا&($dد ﺛﺎﻧﻴﹰﺎ :ﺣﺎﻻﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ Processes State11 ﻛﻞ ﻋﻤﻠﻴﻪ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻻﺑﺪ ﺃﻥ ﲤﺮ ﺑﺄﻛﺜﺮ ﻣﻦ ﺣﺎﻟﻪ ﻭﻗﺖ ﺗﻨﻔﻴﺬﻫﺎ ,ﻫﺬﻩ ﺍﳊﺎﻻﺕ ﺗﺪﻝ ﻋﻠﻰ ﻧﺸﺎﻃﻬﺎ ﰲ ﻫﺬﻩ ﺍﻟﻠﺤﻈﺔ. ﺍﳊﺎﻻﺕ ﺍﻟﱵ ﲤﺮ ﺎ ﺃﻱ ﻋﻤﻠﻴﻪ ﻫﻲ: ﺍﻟﺘﺠﺪﻳﺪ )) (newﺃﻭ ﺣﺎﻟﺔ ﱂ ﺗﺴﺘﺨﺪﻡ ﻣﻦ ﻗﺒﻞ ﺃﻭ ﺑﺎﻷﺻﺢ ﱂ ﻳﻔﻌﻞ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ(: ﻭﻫﻲ ﻭﻗﺖ ﺗﻌﺮﻳﻒ ﺍﻟﻌﻤﻠﻴﺔ ﻭﻭﻗﺖ ﺍﻟﺴﻤﺎﺡ ﳍﺎ ﺑﺎﻟﺪﺧﻮﻝ ﺇﱃ ﻗﺎﺋﻤﻪ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﺮﺋﻴﺴﻴﺔ RAMﻭﻳﺘﻢ ﺫﻟﻚ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺍﻟﱪﻧﺎﻣﺞ ﺿﻐﻄﺔ ﻣﺰﺩﻭﺟﺔ ﻭﺑﺎﻟﺘﺎﱄ ﺗﻨﺘﻘﻞ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﻣﻦ ﺍﳊﺎﻟﺔ ﺍﳋﺎﻣﻠﺔ ﺇﱃ ﺣﺎﻟﻪ ﺃﺧﺮﻯ ،ﻣﺜﻞ":ﺣﺎﻟﻪ ﺍﻟﺘﻨﺸﻴﻂ". ﺍﻻﺳﺘﻌﺪﺍﺩ ):(ready ﻫﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳉﺎﻫﺰﺓ ﻟﻠﺘﻨﻔﻴﺬ ﻭﺍﻟﺪﺧﻮﻝ ﺇﱃ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ، CPUﻭﻟﻦ ﻳﺴﻤﺢ ﳍﺎ ﺑﺎﻟﺘﻨﻔﻴﺬ ﺑﺴﺒﺐ ﻭﺟﻮﺩ ﻋﻤﻠﻴﻪ ﺃﺧﺮﻯ ﺗﻨﻔﺬ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ. ﺍﻟﺘﺸﻐﻴﻞ ﺃﻭ ﺍﻟﺘﻨﻔﻴﺬ ):(Running ﻫﻲ ﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻭﺍﻷﻭﺍﻣﺮ ﻭﻗﺖ ﺍﻟﺘﻨﻔﻴﺬ ﰲ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ. CPU ﺍﻻﻧﺘﻈﺎﺭ):(waiting ﻫﻲ ﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺔ ﻋﻨﺪ ﺍﻧﺘﻈﺎﺭ ﺣﺪﻭﺙ ﺃﻣﺮ ﻣﻌﲔ ،ﻣﺜﻼ :ﻳﻨﻈﺮ ﺇﺩﺧﺎﻝ ﺑﻴﺎﻧﺎﺕ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻡ ﺃﻭ ﻋﻤﻠﻴﻪ ﻃﺒﺎﻋﺔ. ﺍﻻﻧﺘﻬﺎﺀ):(terminated ("X& 11ء ا&(uﺱU ا&Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :nUX ﻫﻲ ﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺔ ﻋﻨﺪ ﺍﻻﻧﺘﻬﺎﺀ ,ﻭﻫﻲ ﺇﻣﺎ ﺃﻥ ﺗﻜﻮﻥ ﺍﻟﻌﻤﻠﻴﺔ ﻗﺪ ﺍﻧﺘﻬﺖ ﺑﺸﻜﻞ ﺳﻠﻴﻢ ﺃﻭ ﺃﻧﻪ ﻗﺪ ﺣﺼﻞ ﳍﺎ ﺧﻄﺄ ﻣﻌﲔ ﺃﺩﻯ ﺇﱃ ﺇﺎﺀﻫﺎ. ﻭﻣﻦ ﻣﻔﻬﻮﻣﻨﺎ ﻟﻠﺤﺎﻻﺕ ﳝﻜﻦ ﺃﻥ ﻧﺴﺘﻨﺘﺞ ﻛﻢ ﻋﻤﻠﻴﺔ ﳝﻜﻦ ﺃﻥ ﺗﺘﻢ ﰲ ﻛﻞ ﺣﺎﻟﺔ. -ﰲ ﺣﺎﻟﺔ )ﺍﻻﺳﺘﻌﺪﺍﺩ( :ﳝﻜﻦ ﺃﻥ ﺗﻮﺟﺪ ﺃﻛﺜﺮ ﻣﻦ ﻋﻤﻠﻴﺔ ﰲ ﺣﺎﻟﺔ ﺍﺳﺘﻌﺪﺍﺩ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ،ﻭﻛﻞ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻣﺴﺘﻌﺪﺓ ﻟﻠﺘﻨﻔﻴﺬ ﰲ ﺃﻱ ﻭﻗﺖ. -ﰲ ﺣﺎﻟﺔ )ﺍﻟﺘﺸﻐﻴﻞ( :ﻓﺈﻧﻪ ﰲ ﻭﻗﺖ ﻣﻌﲔ ﻳﺘﻢ ﺗﺸﻐﻴﻞ ﻋﻤﻠﻴﺔ ﻭﺍﺣﺪﺓ ﻋﻠﻰ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ )،(CPU ﻭﻻ ﳝﻜﻦ ﺃﻥ ﻳﻜﻮﻥ ﻫﻨﺎﻙ ﺃﻛﺜﺮ ﻣﻦ ﻋﻤﻠﻴﺔ ﺗﻌﻤﻞ ﻋﻠﻰ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ) (CPUﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ )ﺃﻱ ﰲ ﺣﺎﻟﺔ ﺍﻟﺘﺸﻐﻴﻞ( ،ﻓﻘﻂ ﻋﻤﻠﻴﺔ ﻭﺍﺣﺪﺓ ﺗﻨﻔﺬ ﰲ ﻭﻗﺖ ﻭﺍﺣﺪ ﻭﻻ ﳝﻜﻦ ﺃﻥ ﻳﻨﻔﺬ ﺃﻛﺜﺮ ﻣﻦ ﺫﻟﻚ. -ﰲ ﺣﺎﻟﺔ )ﺍﻻﻧﺘﻈﺎﺭ( :ﺗﺸﺒﻪ ﺣﺎﻟﺔ )ﺍﻻﺳﺘﻌﺪﺍﺩ( ﻣﻦ ﺍﳌﻤﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻫﻨﺎﻙ ﺃﻛﺜﺮ ﻣﻦ ﻋﻤﻠﻴﺔ ﰲ ﺣﺎﻟﺔ ﺍﻧﺘﻈﺎﺭ ﳊﺪﺙ ﻣﻌﲔ ﺃﻳﹰﺎ ﻛﺎﻥ ﻫﺬﺍ ﺍﳊﺪﺙ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ. 12 ﺣﺎﻻﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺷﺮﺡ ﻣﺒﺴﻂ ﻟﻠﺮﺳﻢ ﺍﳌﻮﺿﺢ ﺃﻋﻼﻩ: !S 12ﺡcQق &("Xء ا&(uﺱU ﺗﺒﺪﺃ ﺍﻟﻌﻤﻠﻴﺔ ﻣﻦ ﺣﺎﻟﻪ ﺍﻟﺘﺠﺪﻳﺪ ﻭﺫﻟﻚ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻴﻬﺎ ﻣﻦ ﺟﻬﺎﺯ ﺍﳊﺎﺳﺐ ﻟﺪﻳﻚ ﰒ ﺗﻨﺘﻘﻞ ﺑﻌﺪ ﺫﻟﻚ ﺇﱃ ﺣﺎﻟﺔ )ﺍﻻﺳﺘﻌﺪﺍﺩ( ﻭﻫﺬﻩ ﺍﳊﺎﻟﺔ ﻳﺘﻢ ﺇﺿﺎﻓﺘﻬﺎ ﺇﱃ ﺍﳉﺪﻭﻟﺔ ﰲ ) (CPUﻟﻴﺘﻢ ﺗﻨﻔﻴﺬﻫﺎ ﻋﻨﺪﻣﺎ ﳛﲔ ﺍﻟﻮﻗﺖ ﺍﳌﺨﺼﺺ ﳍﺎ ﺗﺒﺪﺃ ﺍﻟﻌﻤﻠﻴﺔ ﺑﺎﻟﺘﻨﻔﻴﺬ ﻭﺗﻨﺘﻘﻞ ﻣﻦ ﺣﺎﻟﺔ ﺇﱃ ﺣﺎﻟﺔ ﰲ ﺣﺎﻻﺕ ﻣﻌﻴﻨﺔ: oﺗﻨﺘﻘﻞ ﺇﱃ ﺣﺎﻟﺔ ﺍﻻﻧﺘﻬﺎﺀ) (terminatedﻋﻨﺪﻣﺎ ﺗﻨﺘﻬﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺑﺴﻼﻡ ﺑﺸﻜﻞ ﻛﺎﻣﻞ ﺃﻭ ﻋﻨﺪ ﺣﺪﻭﺙ ﺧﻄﺄ ﻣﻌﲔ ﺃﺩﻯ ﺇﱃ ﺃﻥ ﻳﻘﺮﺭ ﺍﻟﻨﻈﺎﻡ ﺇﺎﺀ ﺍﻟﻌﻤﻠﻴﺔ oﺗﻨﺘﻘﻞ ﺇﱃ ﺣﺎﻟﺔ ﺍﻻﺳﺘﻌﺪﺍﺩ ) (readyﻋﻨﺪﻣﺎ ﻳﻨﺘﻬﻲ ﺍﻟﻮﻗﺖ ﺍﶈﺪﺩ ﳍﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﻭﻻ ﲢﺘﺎﺝ ﺇﱃ ﺗﻨﻔﻴﺬ ﺣﺪﺙ ﻣﻌﲔ ﺳﻮﺍﺀ ﺇﺩﺧﺎﻝ ﺑﻴﺎﻧﺎﺕ ﺃﻭ ﻏﲑﻩ oﺗﻨﺘﻘﻞ ﺇﱃ ﺣﺎﻟﺔ ﺍﻻﻧﺘﻈﺎﺭ) (waitingﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﺍﻟﻌﻤﻠﻴﺔ ﲤﺖ ﺑﺸﻜﻞ ﺟﺰﺋﻲ ﻭﻟﻜﻦ ﲢﺘﺎﺝ ﺇﱃ ﺣﺪﺙ ﻣﻌﲔ ﻳﻄﻠﺐ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻡ ﺳﻮﺍﺀ ﺇﺩﺧﺎﻝ ﺃﻭ ﻃﺒﺎﻋﺔ ﺃﻭ ﺃﻭﺍﻣﺮ ﺃﺧﺮﻯ oﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﺍﻟﻌﻤﻠﻴﺔ ﰲ ﺣﺎﻟﺔ ﺍﻻﻧﺘﻈﺎﺭ ﻭﺍﻧﺘﻬﻰ ﺍﳊﺪﺙ ﺍﳌﻄﻠﻮﺏ ﺗﻨﺘﻘﻞ ﻣﻦ ﺣﺎﻟﺘﻬﺎ ﺇﱃ ﺣﺎﻟﻪ ﺍﻻﺳﺘﻌﺪﺍﺩ ،ﺇﺫﺍ ﺍﻧﺘﻬﻰ ﺍﳊﺪﺙ ﺑﺸﻜﻞ ﻛﺎﻣﻞ ﻓﻬﻲ ﺍﻵﻥ ﻣﺴﺘﻌﺪﺓ ﻟﻠﺘﻨﻔﻴﺬ. ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ Process Control Block13 ﻛﻞ ﻋﻤﻠﻴﺔ ﲤﺜﻞ ﰲ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺑﻜﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ) (Process Control Blockﻭﻳﺮﻣﺰ ﳍﺎ ﺑﺎﻟﺮﻣﺰ PCBﻭﻫﻲ ﺗﺮﺍﻛﻴﺐ ﺑﻴﺎﻧﺎﺕ ﰲ ﻧﻮﺍﺓ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﲢﺘﻮﻱ ﻋﻠﻰ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻟﻼﺯﻣﺔ ﻹﺩﺍﺭﺓ ﻋﻤﻠﻴﺔ ﻣﻌﻴﻨﺔ ,ﻭﳜﺘﻠﻒ ﺗﻨﻔﻴﺬﻫﺎ ﻣﻦ ﻧﻈﺎﻡ ﻵﺧﺮ ,ﻭﻟﻜﻦ ﺑﺸﻜﻞ ﻋﺎﻡ ﺳﺘﺸﻤﻞ ﻣﺎ ﻳﻠﻲ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﺃﻭ ﻏﲑ ﻣﺒﺎﺷﺮ : oﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺔ ) :(stateﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﺟﺪﻳﺪﺓ ,ﺟﺎﻫﺰﺓ ,ﻗﻴﺪ ﺍﻟﺘﺸﻐﻴﻞ ,ﰲ ﺣﺎﻟﺔ ﺍﻧﺘﻈﺎﺭ ﺃﻭ ﰎ ﺇﻳﻘﺎﻓﻬﺎ. 13ه) ا&U"OXي ا&Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :nUX http://en.wikipedia.org/wiki/Process_control_block oﻋﺪﺍﺩ ﺍﻟﱪﻧﺎﻣﺞ ) :(Program Counterﻳﺸﲑ ﺍﻟﻌﺪﺍﺩ ﺇﱃ ﻋﻨﻮﺍﻥ ﺍﻷﻣﺮ ﺍﻟﻘﺎﺩﻡ ﺍﻟﺬﻱ ﺳﻴﻨﻔﺬ ﰲ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ. oﺳﺠﻼﺕ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ) :(Registersﺗﺘﻔﺎﻭﺕ ﺍﻟﺴﺠﻼﺕ ﰲ ﺍﻟﻌﺪﺩ ﻭﺍﻟﻨﻮﻉ ﺍﻋﺘﻤﺎﺩﺍ ﻋﻠﻰ ﻫﻨﺪﺳﺔ ﺍﳊﺎﺳﻮﺏ ,ﻭﲢﺘﻮﻱ ﻋﻠﻰ ﻣﺆﺷﺮﺍﺕ ﻟﻠﻜﻮﻣﺔ )ﻟﻠﻤﻜﺪﺱ( (stack ) ,pointerﺳﺠﻼﺕ ﺍﻟﻔﻬﺮﺳﺔ ) ،(index registersﺳﺠﻼﺕ ﻣﺘﻌﺪﺩﺓ ﺍﻷﻏﺮﺍﺽ ) (general-purpose registersﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺃﻱ ﻣﻌﻠﻮﻣﺎﺕ ﺷﺮﻃﻴﺔ ﰲ ﺍﻟﻜﻮﺩ ) ، (condition-code informationﻗﻴﻢ ﺍﻟﺴﺠﻼﺕ ﳚﺐ ﺃﻥ ﲢﻔﻆ ﻋﻨﺪ ﺣﺪﻭﺙ ﻣﻘﺎﻃﻌﺔ ﻟﻠﻌﻤﻠﻴﺔ ,ﻛﻲ ﺗﺴﻤﺢ ﻟﻠﻌﻤﻠﻴﺔ ﺃﻥ ﺗﺴﺘﻤﺮ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺗﺸﻐﻴﻠﻬﺎ ﻻﺣﻘﹰﺎ. oﻣﻌﻠﻮﻣﺎﺕ ﺟﺪﻭﻟﺔ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ):(CPU-scheduling information ﺗﺘﻀﻤﻦ ﺃﻭﻟﻮﻳﺔ ﺍﻟﻌﻤﻠﻴﺔ ,ﻣﺆﺷﺮﺍﺕ ﻋﻠﻰ ﺻﻔﻮﻑ ﺍﳉﺪﻭﻟﺔ ﻭﺃﻱ ﻋﻮﺍﻣﻞ ﺧﺎﺻﺔ ﺑﺎﳉﺪﻭﻟﺔ. oﻣﻌﻠﻮﻣﺎﺕ ﺇﺩﺍﺭﺓ ﺍﻟﺬﺍﻛﺮﺓ ) :(memory-management informationﻭﻫﻲ ﲢﺘﻮﻱ ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﻋﻦ ﻗﻴﻢ ﺳﺠﻼﺕ ﺍﻟﺒﺪﺍﻳﺔ ) (baseﻭﺍﻟﻨﻬﺎﻳﺔ ) ,(limitﻭﺟﺪﺍﻭﻝ ﺍﻷﻗﺴﺎﻡ ) (segment tableﻭﺟﺪﺍﻭﻝ ﺍﻟﺼﻔﺤﺎﺕ ) (page tableﻭﺫﻟﻚ ﺍﻋﺘﻤﺎﺩﹰﺍ ﻋﻠﻰ ﻧﻈﺎﻡ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻦ ﻗﺒﻞ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ. oﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﳊﺴﺎﺑﻴﺔ ﻟﻠﻌﻤﻠﻴﺔ ) :(Accounting informationﺗﺘﻀﻤﻦ ﻛﻤﻴﺔ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ﻭﺍﻟﻮﻗﺖ ﺍﳊﻘﻴﻘﻲ ﺍﻟﻠﺬﺍﻥ ﰎ ﺍﺳﺘﺨﺪﺍﻣﻬﻤﺎ ﻣﻦ ﻗﺒﻞ ﺍﻟﻌﻤﻠﻴﺔ. oﻣﻌﻠﻮﻣﺎﺕ ﻋﻦ ﺣﺎﻟﺔ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ) :(I/O state informationﺗﺘﻀﻤﻦ ﻗﺎﺋﻤﺔ ﺃﺟﻬﺰﺓ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﺍﻟﱵ ﺧﺼﺼﺖ ﻟﻠﻌﻤﻠﻴﺔ ,ﻗﺎﺋﻤﺔ ﺍﳌﻠﻔﺎﺕ ﺍﳌﻔﺘﻮﺣﺔ ﻭﺇﱃ ﺁﺧﺮﻩ. oﻣﺆﺷﺮ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺘﺎﻟﻴﺔ ﺍﻟﱵ ﳚﺐ ﺗﻨﻔﻴﺬﻫﺎ ،ﺃﻱ ﻣﺆﺷﺮ ﻋﻠﻰ PCBﻟﻠﻌﻤﻠﻴﺔ ﺍﻟﺘﺎﻟﻴﺔ. ﺃﺛﻨﺎﺀ ﺍﻟﺘﺒﺪﻳﻞ ﺇﱃ ﻋﻤﻠﻴﺔ ﺃﺧﺮﻯ ,ﻳﺘﻢ ﺇﻳﻘﺎﻑ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳊﺎﻟﻴﺔ ﺃﻱ ﺍﻟﱵ ﺗﻜﻮﻥ ﻗﻴﺪ ﺍﻟﺘﺸﻐﻴﻞ ﻭﺗﺸﻐﻴﻞ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻷﺧﺮﻯ.ﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﳚﺐ ﺃﻥ ﺗﻌﻤﻞ ﺍﻟﻨﻮﺍﺓ ﻋﻠﻰ ﺇﻳﻘﺎﻑ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳊﺎﻟﻴﺔ ﻭﺗﻌﻄﻲ ﻧﺴﺨﺔ ﻣﻦ ﻗﻴﻢ ﺍﻟﺴﺠﻼﺕ ﻟﻜﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ) (PCBﺍﳋﺎﺻﺔ ﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ,ﰒ ﲡﺪﺩ ﻗﻴﻢ ﺍﻟﺴﺠﻼﺕ ﺑﻘﻴﻢ ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ) (PCBﻟﻠﻌﻤﻠﻴﺔ ﺍﳉﺪﻳﺪﺓ. 14 ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ﻣﻮﻗﻊ ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ):(PCB ﲟﺎ ﺃﻥ ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ﲢﻮﻱ ﻣﻌﻠﻮﻣﺎﺕ ﺣﺴﺎﺳﺔ ﻭﻣﻬﻤﺔ ﻓﺈﺎ ﳚﺐ ﺃﻥ ﺗﻮﺿﻊ ﰲ ﻣﻨﻄﻘﺔ ﺍﻟﺬﺍﻛﺮﺓ ﺍﶈﻤﻴﺔ ﻣﻦ ﻭﺻﻮﻝ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﻌﺎﺩﻱ. ﰲ ﺑﻌﺾ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﻳﺘﻢ ﻭﺿﻌﻬﺎ ﰲ ﺑﺪﺍﻳﺔ ﻛﻮﻣﺔ ﺍﻟﻨﻮﺍﺓ ) (kernel stackﻟﻠﻌﻤﻠﻴﺔ ﻷﻧﻪ ﻣﻮﻗﻊ ﳏﻤﻲ ﻭﻣﻨﺎﺳﺐ. 15 ﺛﺎﻟﺜﹰﺎ :ﺟﺪﻭﻟﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ Process Scheduling www.ice.ntnu.edu.tw/~swanky/os/chap4.htm 14 15ﻥcر ا& !%"PXا&UXاOperating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :n http://en.wikipedia.org/wiki/Scheduling ﻣﻦ ﺍﳌﻨﻄﻘﻲ ﺟﺪﺍ ﺃﻥ ﻳﻜﻮﻥ ﻫﻨﺎﻙ ﻃﺮﻳﻘﺔ ﳉﻤﻊ ﺍﳌﻬﺎﻡ ﰲ ﻣﻜﺎﻥ ﻭﺍﺣﺪ ﺑﺸﻜﻞ ﻣﻨﻈﻢ ﻭﻣﺮﺗﺐ ﻫﺬﺍ ﺍﳌﻜﺎﻥ ﻳﺴﻤﻰ ﺑﺎﻟﻄﺎﺑﻮﺭ )(queue ﻃﻮﺍﺑﲑ ﺍﳉﺪﻭﻟﺔ :Scheduling Queues .1ﻃﺎﺑﻮﺭ ﺍﳌﻬﺎﻡ ) :(job queueﻳﻮﺟﺪ ﻓﻴﻪ ﲨﻴﻊ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺍﻟﻨﻈﺎﻡ .2ﺍﻟﻄﺎﺑﻮﺭ ﺍﳉﺎﻫﺰ ) :(ready queueﺑﻪ ﲨﻴﻊ ﺍﳌﻬﺎﻡ ﺍﻟﱵ ﺗﻨﺘﻈﺮ ﺍﻟﺘﻨﻔﻴﺬ 16 .3ﻃﺎﺑﻮﺭ ﺍﳉﻬﺎﺯ ) :(device queueﲨﻴﻊ ﺍﳌﻬﺎﻡ ﺍﻟﱵ ﺗﻨﺘﻈﺮ ﻣﺪﺧﻼﺕ ﺃﻭ ﳐﺮﺟﺎﺕ. ﺟﺪﻭﻟﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ: ﻫﻲ ﻭﺿﻊ ﺧﻄﺔ ﻟﺘﺮﺗﻴﺐ ﺩﺧﻮﻝ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﳌﻌﺎﰿ ﲝﻴﺚ ﺗﺪﺧﻞ ﻋﻤﻠﻴﺔ ﻭﺍﺣﺪﻩ ﻛﻞ ﻣﺮﺓ ﻭﻧﺴﺘﻐﻞ ﻣﻌﻈﻢ ﻭﻗﺖ ﺍﳌﻌﺎﰿ ﻭ ﻳﻘﻮﻡ ) ﳎﺪﻭﻝ ﺍﻟﻌﻤﻠﻴﺎﺕ ( ﺑﺘﺮﺗﻴﺐ ﺩﺧﻮﻝ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﳌﻌﺎﰿ http://en.wikipedia.org/wiki/Scheduling_%28computing%29 http://en.wikipedia.org/wiki/Ready_queue (* 16یWة ا&U"OXي ا&Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :nUX 17 )(Scheduler ﺍﺪﻭﻝ ﺟﺪﻭﻟﺔ ﺍﻟﻄﻮﺍﺑﲑ:queue scheduling ﻋﻨﺪﻣﺎ ﺗﺪﺧﻞ ﻋﻤﻠﻴﺔ ﺇﱃ ﺍﻟﻨﻈﺎﻡ ﻓﺈﺎ ﺗﺪﺧﻞ ﰲ ﻃﺎﺑﻮﺭ ﺍﳌﻬﺎﻡ ) ( job queueﺍﻟﺬﻱ ﳛﺘﻮﻱ ﲨﻴﻊ ﻋﻤﻠﻴﺎﺕ ﺍﻟﻨﻈﺎﻡ ﻭﻋﻨﺪﻣﺎ ﺗﺼﺒﺢ ﺍﻟﻌﻤﻠﻴﺔ ﺟﺎﻫﺰﺓ ﻭ ﺗﻨﺘﻈﺮ ﺍﻟﺘﻨﻔﻴﺬ ﻓﺈﺎ ﺗﻨﺘﻘﻞ ﺇﱃ ﺍﻟﻄﺎﺑﻮﺭ ﺍﳉﺎﻫﺰ)( ready queue ﺃﻣﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻌﻤﻠﻴﺔ ﺗﻨﺘﻈﺮ ﻋﻤﻠﻴﺔ ﺇﺩﺧﺎﻝ ﺃﻭ ﺇﺧﺮﺍﺝ ﻣﺜﻞ ﺍﻟﺘﺤﻤﻴﻞ ﻣﻦ ﺍﻟﻘﺮﺹ ﺍﻟﺼﻠﺐ ﺃﻭ ﻛﺎﻧﺖ ﲣﺪﻡ ﺍﺗﺼﺎﻝ ﺍﻧﺘﺮﻧﺖ ﻓﺈﺎ ﺗﻨﺘﻘﻞ ﺇﱃ ﻃﺎﺑﻮﺭ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ )(I/O queue 17 http://arstechnica.com/articles/paedia/cpu/hyperthreading.ars/4 18 ﺭﺳﻢ ﺗﻮﺿﻴﺤﻲ ﻟﻠﻄﻮﺍﺑﲑ ﻳﻮﺿﺢ ﺟﺪﻭﻟﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺃﻧﻮﺍﻉ ﺍﳉﺪﻭﻟﺔ :scheduler ﺍﳉﺪﻭﻟﺔ ﻃﻮﻳﻠﺔ ﺍﳌﺪﻯ :long-term scheduler ﻭ ﻫﻲ ﺍﻟﱵ ﺗﻘﺮﺭ ﺃﻱ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺳﺘﺪﺧﻞ ﺇﱃ ﺍﻟﻄﺎﺑﻮﺭ ﺍﳉﺎﻫﺰ ﻭ ﺃﻳﻬﺎ ﲣﺮﺝ ﺃﻭ ﺗﺘﺄﺧﺮ ،ﻭﻫﺬﻩ ﺍﳉﺪﻭﻟﺔ ﻟﻴﺴﺖ ﻣﻮﺟﻮﺩﺓ ﰲ ﺍﳊﺎﺳﺒﺎﺕ ﺍﳌﻜﺘﺒﻴﺔ ﻓﺎﻟﻌﻤﻠﻴﺎﺕ ﺗﺪﺧﻞ ﺇﱃ ﺍﳌﻌﺎﰿ ﺁﻟﻴﹰﺎ ﻭﻟﻜﻨﻬﺎ ﻣﻬﻤﺔ ﻟﻨﻈﺎﻡ ﺍﻟﻮﻗﺖ ﺍﳊﻘﻴﻘﻲ ) real (time systemﻭﺍﻻﻟﺘﺰﺍﻡ ﲟﻮﺍﻋﻴﺪ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻨﻬﺎﺋﻴﺔ. ﺍﳉﺪﻭﻟﺔ ﻣﺘﻮﺳﻄﺔ ﺍﳌﺪﻯ :medium term scheduler ﻫﺬﻩ ﺍﳉﺪﻭﻟﺔ ﻣﻮﺟﻮﺩﺓ ﰲ ﻛﻞ ﺍﻷﻧﻈﻤﺔ ﺫﺍﺕ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ) ،(virtual memoryﻓﻬﻮ ﻳﻘﻮﻡ ﺑﻌﻤﻠﻴﺔ ﺍﻟﺘﺒﺪﻳﻞ ﺃﻱ ﺃﻧﻪ ﻳﺰﻳﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺑﺸﻜﻞ ﻣﺆﻗﺖ ﻣﻦ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﺮﺋﻴﺴﻴﺔ ﺇﱃ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﺜﺎﻧﻮﻳﺔ ) ،(secondary storageﻭﺫﻟﻚ ﺣﺴﺐ ﺃﻭﻟﻮﻳﺔ ﺍﻟﻌﻤﻠﻴﺔ ﻭﻣﺎ ﲢﺘﺎﺟﻪ ﻣﻦ ﻣﺴﺎﺣﺔ ﻋﻠﻰ ﺍﻟﺬﺍﻛﺮﺓ.ﰲ ﻫﺬﻩ ﺍﻷﻳﺎﻡ ﻣﻌﻈﻢ ﺍﻷﻧﻈﻤﺔ ﺍﻟﱵ ﺗﺪﻋﻢ ﺍﻻﻧﺘﻘﺎﻝ ﻣﻦ ﺍﻟﻌﻨﻮﺍﻥ ﺍﻻﻓﺘﺮﺍﺿﻲ ﺇﱃ ﺍﻟﻌﻨﻮﺍﻥ ﺍﻟﺜﺎﻧﻮﻱ ﺑﺪﻝ ﺍﻟﺘﺒﺪﻳﻞ ﺑﲔ ﺍﳌﻠﻔﺎﺕ ﺗﻜﻮﻥ ﺍﳉﺪﻭﻟﺔ ﻣﺘﻮﺳﻄﺔ ﺍﳌﺪﻯ ﻓﻴﻬﺎ ﺗﺆﺩﻱ ﺩﻭﺭ ﺍﳉﺪﻭﻟﺔ ﻃﻮﻳﻠﺔ ﺍﳌﺪﻯ. ﺍﳉﺪﻭﻟﺔ ﻗﺼﲑﺓ ﺍﳌﺪﻯ :short-term scheduler 18 www.cs.wayne.edu/~tom/guide/os.html ﺗﻘﺮﺭ ﺃﻱ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳉﺎﻫﺰﺓ ﺳﻴﺘﻢ ﻣﻌﺎﳉﺘﻬﺎ ﺑﻌﺪ ﺇﺷﺎﺭﺓ ﺍﳌﻘﺎﻃﻌﺔ ﺃﻭ ﺑﻌﺪ ﺍﺳﺘﺪﻋﺎﺀ ﺍﻟﻨﻈﺎﻡ.ﻭﻫﻲ ﺃﺳﺮﻉ ﻣﻦ ﺍﳉﺪﻭﻟﺔ ﺍﻟﻄﻮﻳﻠﺔ ﺃﻭ ﺍﳌﺘﻮﺳﻄﺔ ﺣﻴﺚ ﺗﺄﺧﺬ ﺍﻟﻘﺮﺍﺭﺍﺕ ﰲ ﻭﻗﺖ ﻗﺼﲑ ﺟﺪﹰﺍ ،ﻭﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻗﺎﺩﺭﺓ ﻋﻠﻰ ﺇﺟﺒﺎﺭ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﳋﺮﻭﺝ ﻣﻦ ﺍﳌﻌﺎﰿ ﻭ ﺇﺩﺧﺎﻝ ﻋﻤﻠﻴﺎﺕ ﺃﺧﺮﻯ ﺃﻭ ﺗﺴﻤﺢ ﺑﺒﻘﺎﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﺍﳌﻌﺎﰿ ﺣﱴ ﺗﻨﺘﻬﻲ. ﺃﻧﻮﺍﻉ ﺍﻟﻌﻤﻠﻴﺎﺕ :19Types Of Processes .1ﰲ ﻧﻄﺎﻕ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ )(CPU bound process ﺗﻘﻀﻲ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﻣﻌﻈﻢ ﻭﻗﺘﻬﺎ ﰲ ﺍﻟﻮﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ) ،(CPUﻭﺗﻜﻮﻥ ﻓﺘﺮﺍﺕ ﻋﻤﻠﻬﺎ ﻋﻠﻰ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺮﻛﺰﻳﺔ ﻃﻮﻳﻠﺔ ).(CPU burst .2ﰲ ﻧﻄﺎﻕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ )( I/O bound process ﺗﻘﻀﻲ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﻣﻌﻈﻢ ﻭﻗﺘﻬﺎ ﰲ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ) ،(I/Oﻭﺗﻜﻮﻥ ﻓﺘﺮﺍﺕ ﻋﻤﻠﻬﺎ ﰲ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﻃﻮﻳﻠﺔ ).(I/O burst ﻣﻦ ﺍﳌﻬﻢ ﺟﺪﹰﺍ ﻟﻠﺠﺪﻭﻟﺔ ﻃﻮﻳﻠﺔ ﺍﳌﺪﺓ ﺃﻥ ﲣﺘﺎﺭ ﺧﻠﻴﻂ ﺟﻴﺪ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ﻭﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ،ﻷﻧﻪ ﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﻛﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﻓﺈﻥ ﺍﻟﻄﺎﺑﻮﺭ ﺍﳉﺎﻫﺰ) (ready queueﺳﻴﻜﻮﻥ ﺧﺎﻟﻴﹰﺎ ﺗﻘﺮﻳﺒﹰﺎ ﻣﻦ ﺃﻱ ﻋﻤﻠﻴﺔ ،ﻭﻋﻨﺪﻫﺎ ﻟﻦ ﻳﻜﻮﻥ ﻟﺪﻯ ﺍﳉﺪﻭﻟﺔ ﻗﺼﲑﺓ ﺍﳌﺪﺓ ﻣﺎ ﺗﻔﻌﻠﻪ.ﻭﺑﺎﻟﻌﻜﺲ ،ﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﻛﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ،ﻓﺴﻮﻑ ﻳﺼﺒﺢ ﻃﺎﺑﻮﺭ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﻓﺎﺭﻍ ﺩﺍﺋﻤﹰﺎ ﺗﻘﺮﻳﺒﹰﺎ ،20ﻭﺳﻮﻑ ﺗﻜﻮﻥ ﺍﻷﺟﻬﺰﺓ ﻏﲑ ﻣﺴﺘﺨﺪﻣﺔ ﺑﺎﻟﺸﻜﻞ ﺍﳌﻄﻠﻮﺏ ﻭﻳﺼﺒﺢ ﺍﻟﻨﻈﺎﻡ ﻏﲑ ﻣﺘﻮﺍﺯﻥ.ﻟﺬﺍ ﻟﻜﻲ ﻳﻜﻮﻥ ﺍﻟﻨﻈﺎﻡ ﺫﻭ ﺃﺩﺍﺀ ﺃﻓﻀﻞ ﳚﺐ ﺃﻥ ﳝﺘﻠﻚ ﺧﻠﻴﻂ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻹﺧﺮﺍﺝ ﻭﺍﻟﻌﻤﻠﻴﺎﺕ ﰲ ﻧﻄﺎﻕ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ّ S 19 Mا&M$"d ا&Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :nUX 20ﺕUQی :(ً$ن ا& (S) ["Xdﺕ~cن * Mﻥ(Oق وﺡة ا&ً S [u&(dX *ن ذ& ی M)dم اﺡcا s (#hأي أ USإدﺥ(ل أو إﺥUاجM&(&($* ، ی ())~Xأن ﻥcQل أن (ﺏcر ادﺥ(ل واﺥUاج ﺱ"|(* {$ر ً( ﺕ ،ً(S(Xو&~! &! ی cﺏ(& o~iا&cOXب. 21 ﺗﺒﺪﻳﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ )(context switching ﺗﺒﺪﻳﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ :ﻋﺒﺎﺭﺓ ﻋﻦ ﺗﺒﺪﻳﻞ ﺍﳌﻌﺎﰿ ﻣﻦ ﻋﻤﻠﻴﺔ ﺇﱃ ﺃﺧﺮﻯ ﺃﻭ ﻣﻦ ﺗﺸﻌﺐ ) (threadﺇﱃ ﺁﺧﺮ. ﳎﺪﻭﻝ ﻭﺣﺪﺓ ﺍﳌﻌﺎﳉﺔ ) (CPU schedulerﻫﻮ ﻣﻦ ﳛﺪﺩ ﻣﱴ ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﻋﻤﻠﻴﻪ ﺍﻟﺘﺒﺪﻳﻞ ﺑﲔ ﻋﻤﻠﻴﺘﲔ. ﺍﻟﺒﻴﺌﺔ ) (contextﻳﺘﻢ ﺍﻟﺘﻌﺒﲑ ﻋﻨﻬﺎ ﰲ ﻛﺘﻠﺔ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ PCBﻟﻜﻞ ﻋﻤﻠﻴﺔ ،ﻭ ﻳﺘﻀﻤﻦ ﺍﻟﻘﻴﻢ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺳﺠﻼﺕ ﺍﳌﻌﺎﰿ ) ،(CPU registersﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺔ ،ﻭﻣﻌﻠﻮﻣﺎﺕ ﺇﺩﺍﺭﺓ ﺍﻟﺬﺍﻛﺮﺓ. ﺗﺘﻢ ﺁﻟﻴﺔ ﺗﺒﺪﻳﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻣﻦ ﺧﻼﻝ ﻫﺬﻩ ﺍﳌﺮﺍﺣﻞ: .1ﺗﺄﺟﻴﻞ ﺇﻛﻤﺎﻝ ﻋﻤﻠﻴﺔ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻭﺣﻔﻆ ﺣﺎﻟﺔ ﺍﳌﻌﺎﰿ ﳍﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﰲ ﻣﻜﺎﻥ ﻣﺎ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﻭﺫﻟﻚ ﻋﻦ ﻼ. ﺣﺪﻭﺙ ﻗﻄﻊ ) (interruptﻣﺜ ﹰ .2ﺇﺭﺟﺎﻉ ﺃﻭ ﻭﺿﻊ ﺑﻴﺌﺔ ) (contextﻟﻠﻌﻤﻠﻴﺔ ﺍﻟﻼﺣﻘﺔ ﻣﻦ ﺍﻟﺬﺍﻛﺮﺓ ﻭﺣﻔﻈﻬﺎ ﰲ ﺳﺠﻼﺕ ﺍﳌﻌﺎﰿ. .3ﺍﻟﺮﺟﻮﻉ ﺇﱃ ﺍﳌﻜﺎﻥ ﺍﻟﺬﻱ ﻳﺆﺷﺮ ﻋﻠﻴﻪ ﻋﺪﺍﺩ ﺍﻟﱪﻧﺎﻣﺞ)ﻭﻫﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﱵ ﺣﺼﻞ ﻋﻨﺪﻫﺎ ﺍﻟﻘﻄﻊ ) (interruptﻭﺫﻟﻚ ﻹﻛﻤﺎﻝ ﺍﻟﻌﻤﻠﻴﺔ. 22 ﺧﻄﻮﺍﺕ ﺗﻨﻔﻴﺬ ﻋﻤﻠﻴﻪ ﺍﻟﺘﺒﺪﻳﻞ ﺑﲔ ﻋﻤﻠﻴﺘﲔ: .1ﻳﻨﺘﻘﻞ ﺍﳌﻌﺎﰿ ﺇﱃ ﺍﻟﻨﻤﻂ ﺍﳌﻤﻴﺰ )(privileged mode .2ﻧﺴﺦ ﳏﺘﻮﻯ ﺍﻟﺴﺠﻼﺕ ) (registerﻣﻦ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﻘﺪﳝﺔ ﻭ ﲣﺰﻳﻨﻬﺎ ﰲ ﺟﺪﻭﻝ ﺍﻟﻌﻤﻠﻴﺔ .3ﲢﻤﻴﻞ ﻗﻴﻢ ﺍﻟﺴﺠﻼﺕ ) (registerﻣﻦ ﺟﺪﻭﻝ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳉﺪﻳﺪﺓ .4ﻳﻌﻮﺩ ﺍﳌﻌﺎﰿ ﺇﱃ ﳕﻂ ﺍﳌﺴﺘﺨﺪﻡ )(user mode 21 إی(Xن ا&M&$ ا&http://www.linfo.org/context_switch.html :nUX 22دی vXا&(ﺏ ا&http://www2.cs.uregina.ca/~hamilton/courses/330/notes/processes/processes.html :nUX 23 ﺗﺒﺪﻳﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺎﺕ Operations on Processes ﺇﻧﺸﺎﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ Process Creations24 ﻧﻈﺎﻡ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻳﺴﻤﺢ ﺑﺈﻧﺸﺎﺀ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳉﺪﻳﺪﺓ ﺑﻮﺍﺳﻄﺔ ﺍﺳﺘﺪﻋﺎﺀ ﺍﻟﻨﻈﺎﻡ )System Call ( ﻃﻴﻠﺔ ﻓﺘﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﳍﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ،ﻭﳚﺐ ﺃﻥ ﻧﻌﻠﻢ ﺇﻧﺸﺎﺀ ﺍﻟﻌﻤﻠﻴﺔ ﻳﻄﻠﻖ ﻋﻠﻴﻬﺎ )( Parent Process ﻭﻫﺬﺍ ﻣﺎ ﻳﻘﺼﺪ ﺑﻪ ﺍﻷﺏ ﻟﻠﻌﻤﻠﻴﺔ ،ﻭﺍﻟﻌﻤﻠﻴﺔ ﺍﳉﺪﻳﺪﺓ ﻳﻄﻠﻖ ﻋﻠﻴﻬﺎ ) ،(Child Processﻭﻫﻮ ﺍﻻﺑﻦ ﺍﳌﻨﺸﺄ ﻣﻦ ﻗﺒﻞ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻷﺏ. http://www.ice.ntnu.edu.tw/~swanky/os/chap4/CPU_Switch_From_Process_to_Process.png 23 ()S 24ر ا&(OPQﻥM ا&Operating System Concepts: Silbreschatz, Galvin and Gagne, 7th edition :nUX ﻭﻛﻞ ﺗﻠﻚ ﺍﻟﻌﻠﻤﻴﺎﺕ ﺍﳉﺪﻳﺪﺓ )ﺍﻷﺑﻨﺎﺀ( ﻗﺪ ﺗﺴﺘﻄﻴﻊ ﺇﻧﺸﺎﺀ ﻋﻤﻠﻴﺎﺕ ﺟﺪﻳﺪﺓ ﺃﺧﺮﻯ ﻭﺑﺎﻹﻣﻜﺎﻥ ﲡﻤﻴﻌﻬﺎ ﺑﺎﻟﺸﻜﻞ ﺍﻟﺸﺠﺮﻱ ﻟﻠﻌﻤﻠﻴﺎﺕ ،ﻗﺪ ﺗﻜﻮﻥ ﻫﻨﺎﻙ ﺃﺷﻴﺎﺀ ﻣﺸﺘﺮﻛﺔ ﺑﲔ ﺍﻷﺏ ﻭﺍﻻﺑﻦ ﺣﻴﺚ ﺃﻥ ﺍﻻﺑﻦ ﻗﺪ ﻳﻜﻮﻥ ﻧﺴﺨﻪ ﻃﺒﻖ ﺍﻷﺻﻞ ﻋﻦ ﺍﻷﺏ ،ﺃﻭ ﻳﺸﺘﺮﻛﺎﻥ ﰲ ﺑﻌﺾ ﺍﳌﻮﺍﺭﺩ ،ﺃﻭ ﺃﻥ ﻻ ﻳﻜﻮﻥ ﺑﻴﻨﻬﻤﺎ ﺃﻱ ﻣﻮﺍﺭﺩ ﻣﺸﺘﺮﻛﺔ. ﻭﰲ ﻭﻗﺖ ﺍﻟﺘﻨﻔﻴﺬ ﺇﻣﺎ ﺃﻥ ﻳﻨﻔﺬﺍ ﰲ ﻭﻗﺖ ﻣﺘﺰﺍﻣﻦ ﺃﻭ ﺃﻥ ﻳﻨﺘﻈﺮ ﺍﻷﺏ ﺣﱴ ﺗﻨﺘﻬﻲ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﺍﳋﺎﺻﺔ ﺑﺎﻷﺑﻨﺎﺀ. ﻭﻳﻮﺟﺪ ﺃﻳﻀﺎ ﺍﺣﺘﻤﺎﻻﺕ ﳌﻜﺎﻥ ﻭﺟﻮﺩ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳉﺪﻳﺪﺓ )ﺍﻻﺑﻦ( -ﺍﻻﺑﻦ ﻋﻤﻠﻴﺔ ﻣﺰﺩﻭﺟﺔ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻷﻡ- ﺍﻻﺑﻦ ﻟﻪ ﺑﺮﻧﺎﳎﻪ ﺍﳋﺎﺹ ﻭﻣﻜﺎﻥ ﺟﺪﻳﺪ ﻳﻮﺟﺪ ﺑﻪ ﻭﺍﻟﻜﺜﲑ ﻣﻦ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﲟﺎ ﰲ ﺫﻟﻚ ﺍﻟﻠﻴﻨﻜﺲ ﻭﺍﻟﻮﻳﻨﺪﻭﺯ ﺗﻘﻮﻡ ﺑﺘﻌﺮﻳﻒ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺗﺒﻌﺎ ﳌﻌﺮﻑ ﺍﻟﻌﻤﻠﻴﺔ ) (Process Identifierﺍﳋﺎﺹ ﺍﻟﺬﻱ ﻳﻈﻬﺮ ﻋﺎﺩﺓ ﻛﺮﻗﻢ ﺻﺤﻴﺢ. ﰲ ﻧﻈﺎﻡ ﺍﻟﻴﻨﻜﺲ ،ﻗﺎﺋﻤﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺗﺴﺘﻄﻴﻊ ﺃﻥ ﺗﻈﻬﺮ ﺑﻮﺍﺳﻄﺔ ﺍﻷﻣﺮ: Ps command ﺣﻴﺚ ﺃﺎ ﺗﻘﻮﻡ ﺑﻌﺮﺽ ﻛﺎﻓﺔ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻟﻜﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳌﻄﺒﻘﺔ ﰲ ﺍﻟﻨﻈﺎﻡ. ﻭﰲ ﻧﻈﺎﻡ ﺍﻟﻠﻴﻨﻜﺲ ﺃﻳﻀﺎ ﺩﺍﻟﺘﲔ ) (functionﰲ ﺍﺳﺘﺪﻋﺎﺀ ﺍﻟﻨﻈﺎﻡ ﺍﻷﻭﱃ ﻫﻲ ﻣﺎ ﻳﻄﻠﻖ ﻋﻠﻴﻬﺎ )( forkﺍﻟﱵ ﺗﻌﲏ ﺍﻧﻘﺴﺎﻡ ﻟﻠﻌﻤﻠﻴﺔ ﻭﺗﻜﻮﻳﻦ ﻋﻤﻠﻴﺔ ﺟﺪﻳﺪﺓ ﺣﻴﺚ ﺃﺎ ﺗﻘﻮﻡ ﲝﺠﺰ ﻣﻜﺎﻥ ﻭﺫﺍﻛﺮﺓ ﺟﺪﻳﺪﺓ ﻭﻋﻤﻞ ﻧﺴﺨﺔ ﻣﻦ ﺫﺍﻛﺮﺓ ﺍﻷﺏ.ﻋﻤﻠﻴﺔ ﺍﻻﻧﻘﺴﺎﻡ ﻫﺬﻩ ﺗﻨﻔﺬ ﻣﺮﺗﲔ ﰲ ﺍﻟﻨﻈﺎﻡ ﺃﺣﺪﺍﳘﺎ ﻟﻸﺏ ﻭﺍﻟﺜﺎﻧﻴﺔ ﻟﻼﺑﻦ ،ﻭﺗﻘﻮﻡ ﺑﺈﺭﺟﺎﻉ ﺍﻟﺮﻗﻢ ﺍﳋﺎﺹ ) (PIDﺑﺎﻻﺑﻦ ﻭﺗﻌﻄﻴﻪ ﻟﻸﺏ ﻭﺗﻘﻮﻡ ﺑﺈﺭﺟﺎﻉ ﺍﻟﺮﻗﻢ 0ﻟﻼﺑﻦ ﻭﺍﻟﺪﺍﻟﺔ ﺍﻟﺜﺎﻧﻴﺔ ﻫﻲ ﺩﺍﻟﺔ ﺍﻟﺘﻄﺒﻴﻖ )( execﻭﻫﻲ ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﺑﻌﺪ ﺩﺍﻟﺔ ﺍﻻﻧﻘﺴﺎﻡ ﺍﻟﺴﺎﺑﻘﺔ ﻻﺳﺘﺒﺪﺍﻝ ﺫﺍﻛﺮﺓ ﺍﻟﻌﻤﻠﻴﺔ ﺑﱪﻧﺎﻣﺞ ﺟﺪﻳﺪ ﺗﺘﺨﻠﺺ ﻣﻦ ﺍﳌﻜﺎﻥ ﺍﳊﺎﱄ ﻟﻠﻌﻤﻠﻴﺔ ﲢﻤﻴﻞ ﺑﺮﻧﺎﻣﺞ ﺟﺪﻳﺪ ﻟﻠﻌﻤﻠﻴﺔ ﺍﳉﺪﻳﺪﺓ 25 ﺇﻧﺸﺎﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻭﺍﳉﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﺃﻥ ﺩﺍﻟﺔ ﺍﻟﺘﻄﺒﻴﻖ ﻻ ﺗﻘﻮﻡ ﲞﻠﻖ ﻋﻤﻠﻴﺔ ﺟﺪﻳﺪﺓ ﺣﻴﺚ ﺃﺎ ﺗﻌﻤﻞ ﻓﻘﻂ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳊﺎﻟﻴﺔ ﺍﳌﻮﺟﻮﺩﺓ. 26 ﺇﺎﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ Process Termination ﺃﺳﺒﺎﺏ ﺇﺎﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ: .1ﺍﳋﺮﻭﺝ ﺍﻟﻄﺒﻴﻌﻲ ) :( Normal Existﻭﺗﻜﻮﻥ ﺍﻟﻌﻤﻠﻴﺔ ﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﻗﺪ ﺃﺖ ﻋﻤﻠﻬﺎ ﻭﰎ ﺇﺎﺀﻫﺎ. .2ﺍﳋﺮﻭﺝ ﺑﺴﺒﺐ ﺧﻄﺄ ) :( Error Existﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﺗﻜﺘﺸﻒ ﺍﻟﻌﻤﻠﻴﺔ ﺧﻄﺄ ﻓﺎﺩﺡ ) Fatal .(Errorﻣﺜﺎﻝ ﻋﻠﻰ ﺫﻟﻚ ﳏﺎﻭﻟﺔ ﺗﺄﻟﻴﻒ ) (compileﻟﱪﻧﺎﻣﺞ ﻏﲑ ﻣﻮﺟﻮﺩ. .3ﺧﻄﺄ ﻓﺎﺩﺡ ) :(Fatal Errorﻭﻫﻨﺎ ﻳﻜﻮﻥ ﺇﺎﺀﻫﺎ ﻧﺎﺗﺞ ﻋﻦ ﺧﻄﺄ ﻗﺎﻣﺖ ﺑﻪ ﺍﻟﻌﻤﻠﻴﺔ ،ﻣﺜﻞ :ﺗﻨﻔﻴﺬﻫﺎ ﻷﻣﺮ ﻏﲑ ﻣﺴﻤﻮﺡ ﺑﻪ ﻛﺎﻟﻘﺴﻤﺔ ﻋﻠﻰ ﺻﻔﺮ ﺃﻭ ﺍﻹﺣﺎﻟﺔ ﺇﱃ ﻣﻜﺎﻥ ﻏﲑ ﻣﻮﺟﻮﺩ ﰲ ﺍﻟﺬﺍﻛﺮﺓ. .4ﻗﺘﻠﻬﺎ ) (killﺑﻮﺍﺳﻄﺔ ﻋﻤﻠﻴﺔ ﺃﺧﺮﻯ. ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ Interprocess communication (IPC)27 ﻫﻨﺎﻙ ﺃﻧﻮﺍﻉ ﻟﻠﻌﻤﻠﻴـــﺎﺕ ﰲ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺧﻼﻝ ﺗﻨﻔﻴﺬ ﺍﻟﻌﻤﻠﻴﺔ: http://www.freebsd.org/doc/en_US.ISO8859-1/books/design-44bsd/book.html 25 " 26اءا&(fیW ا&http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/processOperate.htm:nUX 27 *( [Xا&Ufج ,ﺱ (uا&رع ,ری ¢ا&Uﺵ"ي Operating System Concepts: Silbreschatz, Galvin ا&and Gagne, 7th edition :nUX ﻋﻤﻠﻴﺔ ﻣﺴﺘﻘﻠﺔ ):(Independent ﻭﻫﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳌﺴﺘﻘﻠﺔ ﺍﻟﱵ ﻻ ﺗﺘﺄﺛﺮ ﺃﻭ ﺗﺄﺛﺮ ﰲ ﺗﻨﻔﻴﺬ ﻋﻤﻠﻴﺔ ﺃﺧﺮﻯ ﰲ ﺍﻟﻨﻈﺎﻡ ﻭﺇﳕﺎ ﺗﻌﻤﻞ ﻣﺴﺘﻘﻠﺔ ﺑﺬﺍﺎ. ﻋﻤﻠﻴﺔ ﻣﺘﻌﺎﻭﻧﺔ ):(Cooperating ﻭﻫﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳌﺘﻌﺎﻭﻧﺔ ﻭﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﺗﺄﺛﺮ ﺃﻭ ﺗﺘﺄﺛﺮ ﺑﺘﻨﻔﻴﺬ ﻋﻤﻠﻴﺔ ﺃﺧﺮﻯ ﰲ ﺍﻟﻨﻈﺎﻡ ﻭﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﺗﺴﺘﺨﺪﻡ ﻧﻮﻋﲔ ﻣﻦ ﺍﻻﺗﺼﺎﻝ :IPC .1ﺗﺒﺎﺩﻝ ﺍﻟﺮﺳﺎﺋﻞ ):(Message passing ﺣﻴﺚ ﻳﺘﻢ ﺗﺒﺎﺩﻝ ﺍﻟﺮﺳﺎﺋﻞ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻦ ﻃﺮﻳﻖ ﺍﻻﺗﺼﺎﻝ ﻣﻊ ﺑﻌﻀﻬﺎ ﺩﻭﻥ ﻭﺟﻮﺩ ﻣﻜﺎﻥ ﻣﺸﺘﺮﻙ ﻟﺘﺨﺰﻳﻦ ﺐ ﺍﻟﻨﻈﺎﻡ )(Kernel ﺍﻟﺮﺳﺎﺋﻞ ﻭﻳﻜﻮﻥ ﺣﺠﻢ ﻫﺬﻩ ﺍﻟﺮﺳﺎﺋﻞ ﺛﺎﺑﺖ ﺃﻭ ﻣﺘﻐﲑ ﻭ ﲤﺮ ﻫﺬﻩ ﺍﻟﺮﺳﺎﺋﻞ ﻋﻠﻰ ﻟ ﻭﲢﺘﺎﺝ ﺇﱃ ﺍﺗﺼﺎﻝ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ. .2ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ):(Shared memory ﺣﻴﺚ ﻳﻮﺟﺪ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻣﻜﺎﻥ ﺫﺍﻛﺮﻩ ﻣﺸﺘﺮﻛﺔ ﻟﻜﻞ ﻣﻨﻬﻢ ﻭﻳﺘﻢ ﻭﺿﻊ ﺍﳌﻠﻔﺎﺕ ﺍﳌﺸﺘﺮﻛﺔ ﺑﺪﺍﺧﻠﻬﺎ. ﻼ :ﺍﻟﻌﻤﻠﻴﺔ ﺃ ﺗﻨﺘﺞ ﺑﻴﺎﻧﺎﺕ ﻭﺍﻟﻌﻤﻠﻴﺔ ﺏ ﺗﺮﻳﺪ ﺃﻥ ﺗﻘﺮﺃ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺔ ﺃ ﻓﺈﻥ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ﻣﺜ ﹰ ﺗﻘﻮﻡ ﺬﻩ ﺍﳌﻬﻤﺔ ﻟﺘﺴﻬﻞ ﻋﻠﻰ ﺍﻟﻌﻤﻠﻴﺔ ﺏ ﺍﻟﻮﺻﻮﻝ ﻟﻠﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﱵ ﺗﺮﻳﺪﻫﺎ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺔ ﺃ ﻓﻬﺬﻩ ﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻛﺔ ﳝﻜﻦ ﳉﻤﻴﻊ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻨﻬﺎ ﻋﻨﺪ ﻭﺿﻌﻬﺎ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ. ﳑﻴﺰﺍﺕ ﺍﻟﻌﻤﻠﻴﺔ ﺍﳌﺘﻌﺎﻭﻧﺔ: ﺗﻘﺴﻴﻢ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺃﻭ ﻣﺸﺎﺭﻛﺔ ﺍﳌﻠﻔﺎﺕ. ﺗﺴﺮﻳﻊ ﺍﳒﺎﺯ ﺍﻟﻌﻤﻠﻴﺎﺕ. ﺗﻘﺴﻴﻢ ﻧﻈﺎﻡ ﺍﳌﻬﺎﻡ ﺇﱃ ﻋﻤﻠﻴﺎﺕ ﻣﻨﻔﺼﻠﺔ. ﲤﻜﻦ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻦ ﺍﻟﻌﻤﻞ ﻋﻠﻰ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳌﻬﺎﻡ ﰲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ. ﻧﻈﻢ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ :Shared-Memory Systems )ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﻋﻤﻠﻴﺔ ﻣﺸﺎﺭﻛﺔ ﻟﻠﺬﺍﻛﺮﺓ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ﺑﲔ ﻋﻤﻠﻴﺘﲔ ﺃﻭ ﺃﻛﺜﺮ ,ﺣﱴ ﻳﺘﻢ ﻧﻘﻞ ﻭﺗﺒﺎﺩﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ 28 ﻭﺍﻻﺗﺼﺎﻝ ﺑﲔ ﻛﺎﻓﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ(. ﺍﳌﺸﺎﻛﻞ ﺍﻟﱵ ﺗﻮﺍﺟﻪ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻭﺍﳌﻨﺘﺠﲔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ: ﺍﳌﺨﺰﻥ ﺍﳌﺆﻗﺖ ﻏﲑ ﺍﶈﺪﻭﺩ ):(unbounded-buffer ﳝﻜﻦ ﻟﻠﻤﺴﺘﺨﺪﻡ ﺃﻥ ﻳﻘﻮﻡ ﺑﻌﻤﻠﻴﺎﺕ ﻏﲑ ﳏﺪﻭﺩﺓ ﻓﻬﻲ ﻏﲑ ﳏﺪﻭﺩﺓ ﺍﳊﺠﻢ ﺍﳌﺨﺰﻥ ﺍﳌﺆﻗﺖ ﺍﶈﺪﻭﺩ ):(bounded-buffer ﻳﻜﻮﻥ ﻫﻨﺎﻙ ﻣﺴﺎﺣﺔ ﻣﻌﻴﻨﺔ ﻟﻠﻌﻤﻠﻴﺎﺕ ﺑﻘﺪﺭ ﻣﺎ ﺗﻨﺘﺞ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻷﻭﱃ ﻣﻦ ﻣﻌﻠﻮﻣﺎﺕ ﺑﻘﺪﺭ ﻣﺎ ﺗﺴﺘﻬﻠﻚ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺜﺎﻧﻴﺔ ﻣﻦ ﻫﺬﻩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻓﻬﻲ ﳏﺪﻭﺩﺓ ﺍﳊﺠﻢ 29 ﺛﺎﻧﻴﺎ :ﺍﻟﺮﺳﺎﺋﻞ ﺍﻟﻌﺎﺑﺮﺓ )(massage- passing ﻭﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﺭﺳﺎﺋﻞ ﺗﺘﻢ ﺑﲔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻟﺘﺒﺎﺩﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﻜﻦ ﻗﺒﻞ ﺃﻥ ﻳﺘﻢ ﺍﻹﺭﺳﺎﻝ ﳚﺐ ﺃﻥ ﻳﺘﻢ ﲢﺪﻳﺪ ﺍﳌﺮﺳﻞ ﻭﺍﳌﺴﺘﻘﺒﻞ ﻭﺃﻳﻀﺎ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﺑﲔ ﺍﳉﻬﺘﲔ ﺣﻠﻘﺔ ﺍﺗﺼﺎﻝ ﺣﱴ ﻳﺘﻢ ﺍﻟﺘﺒﺎﺩﻝ. ﻭﻫﻨﺎ ﺛﻼﺙ ﻃﺮﻕ ﻟﺘﻨﻔﻴﺬ ﻭﺻﻠﺔ ﺍﺗﺼﺎﻝ ﻣﻨﻄﻘﻴﺔ ﻭﻋﻤﻠﻴﺎﺕ ﺍﺭﺳﻞ)(/ﺍﺳﺘﻘﺒﻞ)(: .1ﺍﻻﺗﺼﺎﻝ ﺍﳌﺒﺎﺷﺮ ﺃﻭ ﻏﲑ ﺍﳌﺒﺎﺷﺮ. 28اﺏ(#ل ا&M$"d ا&UXاwww.comms.scitech.susx.ac.uk/fft/computer/ipc.pdf :n www.1006.org/os2006/labtext07_en.doc http://www.alhasebat.com/vb/showthread.php?t=1878 http://www.cs.unc.edu/~dewan/242/f97/notes/ipc/node9.html deneb.cs.kent.edu/~mikhail/classes/os.s00/L05ipcs.PDF 29اﺏ(#ل ا&M$"d ا&UXاwww.comms.scitech.susx.ac.uk/fft/computer/ipc.pdf :n www.1006.org/os2006/labtext07_en.doc http://www.alhasebat.com/vb/showthread.php?t=1878 http://www.cs.unc.edu/~dewan/242/f97/notes/ipc/node9.html deneb.cs.kent.edu/~mikhail/classes/os.s00/L05ipcs.PDF .2ﺍﻻﺗﺼﺎﻝ ﺍﳌﺘﺰﺍﻣﻦ ﺃﻭ ﻏﲑ ﺍﳌﺘﺰﺍﻣﻦ. .3ﺍﳌﺨﺰﻥ ﺍﳌﺆﻗﺖ )(buffer .1ﺍﻻﺗﺼﺎﻝ ﺍﳌﺒﺎﺷﺮ ﻭﻏﲑ ﺍﳌﺒﺎﺷﺮ: ﺍﳌﺒﺎﺷﺮ :ﰲ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﺍﻻﺗﺼﺎﻝ ﳓﺘﺎﺝ ﺇﱃ ﻣﻌﺮﻓﺔ ﺍﳌﺮﺳﻞ ﻭﻣﻌﺮﻓﺔ ﺍﳌﺴﺘﻘﺒﻞ ﺃﻱ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺗﺴﻤﻴﺔ ﺍﳉﻬﺎﺕ ﺣﱴ ﻳﺘﻢ ﺍﻻﺗﺼﺎﻝ ﺑﻴﻨﻬﻢ ﻭﰲ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻻ ﳓﺘﺎﺝ ﺇﱃ ﳐﺰﻥ ﻣﺆﻗﺖ ) ?