اكثر المحتويات زيارة
الدوال في الاكسل (4,654 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (3,226 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,414 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,853 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,699 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,664 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,659 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,570 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,377 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,317 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,315 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,151 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,135 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,096 مشاهده)
درس تعريب المجلة (1,080 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,067 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,060 مشاهده)
التعرف على مكونات الكمبيوتر (1,031 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (981 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (909 مشاهده)
مقدمة عن لغة البيسك (898 مشاهده)
ما هو المات لاب MATLAB؟ (890 مشاهده)
الفيجوال بيسك - مقدمة (867 مشاهده)
دروس في الأوفيس الأكسس - Access0- (831 مشاهده)
نبذه عن الفيجوال بيسك (795 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (492 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (284 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (303 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (431 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (384 مشاهده)
دمج المراسلات0-- (199 مشاهده)
وضع صورة كخلفية للنص0-- (288 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (223 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (342 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (260 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (736 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (440 مشاهده)
أساسيات في Access0--0 (283 مشاهده)
تصميم تقرير لطباعة البيانات0---- (343 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (319 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (340 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (289 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (234 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (240 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (281 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (249 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (144 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (174 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (206 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (258 مشاهده)
البحث

من هنا وهناك
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
كلمات البحث
التطبيقات , العاملة , Processes , ومسارات , التنفيذ , Threading ,  ابحث ايضا عن تعلم التطبيقات العاملة Processes ومسارات التنفيذ Threading دروس التطبيقات العاملة Processes ومسارات التنفيذ Threading تعليم التطبيقات العاملة Processes ومسارات التنفيذ Threading درس التطبيقات العاملة Processes ومسارات التنفيذ Threading لتعليم التطبيقات العاملة Processes ومسارات التنفيذ Threading شروح التطبيقات العاملة Processes ومسارات التنفيذ Threading تدريس التطبيقات العاملة Processes ومسارات التنفيذ Threading تعلمي التطبيقات العاملة Processes ومسارات التنفيذ Threading شرح التطبيقات العاملة Processes ومسارات التنفيذ Threading تعليمي التطبيقات العاملة Processes ومسارات التنفيذ Threading معلم التطبيقات العاملة Processes ومسارات التنفيذ Threading كيفية التطبيقات العاملة Processes ومسارات التنفيذ Threading الدرس التطبيقات العاملة Processes ومسارات التنفيذ Threading الشرح التطبيقات العاملة Processes ومسارات التنفيذ Threading الدروس التطبيقات العاملة Processes ومسارات التنفيذ Threading تعلمي التطبيقات العاملة Processes ومسارات التنفيذ Threading علم التطبيقات العاملة Processes ومسارات التنفيذ Threading لشرح التطبيقات العاملة Processes ومسارات التنفيذ Threading فهم التطبيقات العاملة Processes ومسارات التنفيذ Threading
التطبيقات العاملة Processes ومسارات التنفيذ Threading

مستوى الدرس :مبتدئ


) التطبيقات العاملة Processes ومسارات التنفيذ Threading





* تعريف البروسس



عندما تقوم بتشغيل او تنفيذ برنامج، فان البرنامج سيكون بالذاكرة طيلة فترة عمله. في هذه الاثناء، نطلق عليه الاسم برنامج عامل Process. باختصار، أي برنامج يتم تنفيذه بالذاكرة يسمى بروسس Process. واذا كنت من مستخدمي Win 2000 او NT فتستطيع معرفة جميع البرامج العاملة Processes عن طريق خانة التبويب Processes الموجودة في النافذة Windows Task Manager والتي تستطيع فتحها بالضغط على المفاتيح Ctrl + Shift + Esc









* مسارات التنفيذ



اما مسارات التنفيذ Threading فهو موضوع متقدم قليلا واود ان اعطيك فكرة مبسطة عنه الان. كل Process يحتوي على ثريد Thread واحد (على الاقل). لان البروسس قد يحتوي على اكثر من ثريد Thread ولكن الثريد الواحد لا يكون تابع الا لبروسس واحد فقط.



العادة جرت عند الكتاب بتوضيح معنى المصطلح قبل التوغل في تفاصيله ولا اعلم لماذا نسيت تعريف الثريد قبل التحدث عنه! على العموم، الثريد Thread عبارة عن مسار تنفيذي. فاي عملية تنفيذية يقوم الـ Process بانجازها تتم في ثريد Thread. مثلا، لو كان البروسس يقوم باجراء عملية حسابية فان عملية التنفيذ تتم في مسار خاص لها. تسمى عملية التنفيذ هذه بالثريد.



ذكرت قبل قليل ان الـ Process الواحد قد يحتوي على اكثر من ثريد، أي ان البروسس الواحد يقوم بعملية تنفيذ اكثر من اجراء في وقت واحد. مثلا، قد يقوم برنامج معين بالقيام بعملية طباعة المستندات، والتدقيق الاملائي لها، واجراء عملية الحفظ في وقت واحد. لاحظ انني ذكرت ثلاثة عمليات 1) طباعة 2) تدقيق 3) تخزين . يعني ان هذا البرنامج يحتوي على ثلاثة مسارات تنفيذية (ثريدز) Threads هي: ثريد خاص لعملية الطباعة وثريد خاص للتدقيق الاملائي وثريد خاص للتخزين. بما ان هذه العمليات الثلاث تتم في وقت واحد، لذلك نطلق عليها 3 ثريدات تابعة لبروسس (برنامج) واحد. اما لو كانت هذه العمليات الثلاث لا تتم في وقت واحد (أي الطباعة ثم التدقيق ثم الحفظ) فان جميع هذه العمليات الثلاث تتم في ثريد واحد. اتمنى من صميم قلبي ان تكون فكرة الثريد قد اتضحت لك، لانني سأعود اليها لاحقا.





* نظرات متقدمة الى مبدأ الـ Multitasking



يطلق على نظام Windows بنظام متعدد المهام Multitasking. مبدأ تعدد المهام Multitasking بسيط وسهل الاستيعاب، وهو امكانية تشغيل اكثر من تطبيق في وقت واحد. فمن الواضح لمبرمجي –وحتى مستخدمي- Windows قابلية هذا النظام لتشغيل اكثر من برنامج او تطبيق في وقت واحد. وبما ان هذه المقالة موجهة للمبرمجين فسأوضح برمجيا كيف يستطيع نظام التشغيل Windows بعملية تشغيل اكثر من تطبيق في واحد رغم وجود ذاكرة Memory واحدة ومعالج Processor واحد (باستثناء المعالجات المتعددة لبعض الاجهزة).



حسنا، بعد تعريف مبدأ تعدد المهام ما رأيك لو اخبرتك ان نظام التشغيل Windows لا يستطيع تشغيل اكثر من تطبيق في وقت واحد!! أي ان مبدأ تعدد المهام MultiTasking عبارة عن شئ غير حقيقي! والذي يعمل دائما تطبيق واحد فقط! كيف ستكون ردت فعلك يا ترى؟؟



يبدو ان كلامي متعارض وقد يجعلك تسهر في التفكير اكثر من العاشقين! لذلك، سنعود الى الوراء وعدد ليس ببعيد من السنين الى ايام نظم 16 bit كاصدارات Windows 3.x حتى تفهم كيف تتم عملية تنفيذ اكثر من بروسس في وقت واحد.





* نظم 16 bit



في الاصدارات القديمة لنظم Windows كان بامكانك تشغيل اكثر من تطبيق في وقت واحد، لكن عملية التنفيذ تكون موجهة لبرنامج واحد فقط وهو البرنامج النشط Active Process. فلو كان لديك برنامجان مفتوحان على سطح المكتب، فالبرنامج النشط هو الذي يعمل حاليا، اما الاخر فهو متوقف تماما ولا يقوم باي شئ، فكل ما تراه عبارة عن واجهة ثابتة تمثل الواجهة الاخيرة التي كان عليها البرنامج قبل ان يفقد التركيز او التنشيط.

فعندما تقوم بتنشيط البرنامج الثاني، يقوم نظام التشغيل باجراء جميع العمليات الازمة لاعادة انعاش واستمرار عملية تنفيذ البرنامج من النقطة التي وقف عندها. طبعا معظم هذه العمليات منخفضة المستوى low level وهي خاصة بنقل المسجلات Registers وساعة التنفيذ CPU Time واشياء خاصة بالمعالج وهي خارج عن موضوعنا الان.



اذن حتى لو وجد عشرات التطبيقات المفتوحة امامك، فتذكر ان واحد منها يعمل فقط وهو التطبيق النشط. وكل ما تراه عبارة عن ديكور لا يعمل الا اذا اصبح التطبيق هو التطبيق النشط. تذكر دائما ان المظاهر خداعة، وقد خدعنا نظام التشغيل Windows منذ زمن بعيد بانه يستطيع تنفيذ اكثر من تطبيق في وقت واحد!



والان سأثبت لك هذه الحقيقة بهذا المثال البسيط، قم بانشاء برنامج بسيط لطباعة ارقام في حلقة تكرارية كهذا البرنامج بلغة C او ما يشابهه باي لغة برمجة اخرى:






==================================

#include



void main ()

{

int iCounter = 0;



while (true)

printf ("r%d", iCounter++);

}

==================================




والان اريد منك تشغيل نسختين من هذا البرنامج، ووضع النافذتين متجانبتين على الشاشة. تلاحظ ان نسخة واحدة من النسختين يتم تنفيذها (النسخة النشطة) اما الاخرى فهي ساكنة وواقفة لا تتحرك. ولو تجعل النسخة الثانية هي النشطة ستتم عملية الايقاف المؤقت للاولى وستستمر الثانية بالعمل. وهذه طريقة تنفيذ اكثر من تطبيق –على قولتهم في وقت واحد!.





* نظم 32 bit



في نظم 32 بت والتي بدأت منذ اصدار Win 95 وما بعده اصبح عملية تنفيذ اكثر من تطبيق اكثر واقعية من نظم 16 بت. وقد تطورت ميكانيتها تطور كبير. فلو تقوم بعملية تشغيل نسختين من البرنامج السابق في وقت واحد، لن يكون هنالك وقف مؤقت! بل ستلاحظ ان كلا البرنامجين يعملان بشكل طبيعي. مع ذلك اريد ان اذكرك ان المظاهر خداعة! فالبرنامجان لا يعملان في وقت واحد، وانما تتم عملية التناوب بينهما بشكل استمراري.



لتوضيح فكرة عملية التناوب، راقب في الخطوات التالية كيف يقوم نظام التشغيل بتنفيذ تعليمات كلا البرنامجين Processes:



1) سيتحول نظام التشغيل الى النسخة الاولى ويبدأ بطباعة قيمة العداد iCounter وهي صفر

2) سينتقل نظام التشغيل الى النسخة الثانية ويبدأ بطباعة قيمة العداد iCounter وهي صفر

3) يعود نظام التشغيل الى النسخة الاولى ويطبع قيمة العداد iCounter وهي واحد

4) يعود نظام التشغيل الى النسخة الثانية ويطبع قيمة العداد iCounter وهي واحد

5) يعود نظام التشغيل مجددا الى النسخة الاولى ويطبع قيمة العداد iCounter وهي 2

وهكذا ... حتى تتم عملية انتهاء البرنامجين.





* نظم NT وفلسفة الأسبقية Priority



يبدوا ان نظم 32 بت جعلت مبدأ تعدد المهام اكثر واقعية من ذي قبل. لكن يعيب الطريقة السابقة انها لو وجدت عشر برامج Process تعمل في نفس الوقت ، فسيضطر نظام التشغيل الى تنفيذ تعليمة من كل بروسس مما يسبب بطئ المعالجة كلما وجدت بروسس جديد، ذكرت انها عيب لانك في احيان كثيرة تود ان يقوم نظام التشغيل بالتركيز على البرنامج النشط الحالي الذي تعمل به اكثر من البرامج الاخرى لزيادة سرعة المعالجة.

والحل الذي طوروه مصمموا نواة التشغيل Windows يعرف بالاسبقية Priority. وهي ببساطة شديدة اعطاء البرنامج النشط وقت اكثر وفرصة اكثر للمعالجة من البرامج الاخرى.



ساوضح مدى تأثير الاسبقية على المثال السابق، الخطوات التالية تعرض لك كيف تقوم نظم NT و 2000 بتنفيذ البرنامجين:



اذا كان النسخة الاولى هي النشطة:

1) سيتحول نظام التشغيل الى النسخة الاولى ويبدأ بطباعة قيمة العداد iCounter وهي صفر

2) سيزيد من قيمة العداد ويطبع قيمة iCounter وهي واحد

3) سيزيد من قيمة العداد ويطبع قيمة iCounter وهي 2

4) سيتحول نظام التشغيل الى النسخة الثانية ويطبع قيمة iCounter وهي صفر

5) يعود نظام التشغيل الى النسخة الاولى ويطبع قيمة iCounter وهي 3

6) سيزيد من قيمة العداد ويطبع قيمة iCounter وهي 4

7) سيزيد من قيمة العداد ويطبع قيمة iCounter وهي 5

8) سيتحول نظام التشغيل الى النسخة الثانية ويطبع قيمة iCounter وهي 1

9) يعود نظام التشغيل الى النسخة الاولى ويطبع قيمة iCounter وهي 6



وهكذا..



تلاحظ ان نظام التشغيل يقوم بتنفيذ تعليمات اكثر للنسخة الاولى للبرنامج من النسخة الثانية والسبب ان النسخة الاولى هي النشطة، لذلك يعطيها نظام التشغيل اسبقية اعلى ووقت معالجة اكثر من النسخة الثانية.



وكي اثبت لك كلامي، قم بتشغيل النسختين، وضعهما متجانبتين. ستلاحظ ان كلا النسختين تعلمان وتطبعان الارقام بسرعة. لكن لو كنت قوي الملاحظة، سنلاحظ ان النسخة النشطة هي اسرع في التنفيذ من النسخة غير النشطة.



وهذه هي فلسفة الاسبقية التي ظهرت منذ اصدار NT وحتى اصدارات 2000. تستطيع التحكم بالاسبقية عن طريق الضغظ بالزر الفأرة الايمن على البروسس في خانة التبويب Processes في النافذة Windows Task Manager .

ايضا، تستطيع زيادة الاسبقية لبرنامجك اذا اردت عن طريق اجراءات متقدمة من اجراءات API والتي بصراحة شديدة لا اود اللعب معها كثيرا، في تتطلب مبرمجين شجعان! وحتى لو كنت من المستخدمين، تستطيع الغاء تقنية الاسبقية التي يوفرها نظام Win 2000 وتجعل عملية تنفيذ البرامج كما تعمل في اصدارات Win 9x وذلك عن طريق الخطوات التالية:

1) من ايقونة My Computer اضغط الزر الايمن ثم اختر Properties

2) حدد خانة التبويب Advanced ثم اضغط على الزر Performance Options

3) حدد BackGround Services ذا اردت الغاء تطبيق مبدأ الاسبقية. او Applications اذا رغبت غير ذلك.



اخيرا، اتمنى ان يكون التوضيح غير معقد! فان مثل هذه المسائل المتقدمة قد قضى المبرمج شهور طويلة –ان لم تكن اعوام- لتعلمها واستعيباها فارجوا ان تضع ذلك في ذهنك ومعرفة مدى الصعوبة التي اواجهها في توصيل مثل هذه المواضيع لك في مقالات او دروس مبسطة!

التطبيقات العاملة Processes ومسارات التنفيذ Threading

أضف هذه المادة في موقعك:
مواد مشابهة:
استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز
استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز
(مرات المشاهدة: 460 مرات)
درس : كيفية استخدام وظائف API . درس : كيفية استخدام وظائف API .
درس : كيفية استخدام وظائف API .
(مرات المشاهدة: 208 مرات)
اجراءات API و مقدمة عن الرسائل اجراءات API و مقدمة عن الرسائل
اجراءات API و مقدمة عن الرسائل
(مرات المشاهدة: 304 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الأول ) برمجة الويندوز باستخدام Win32 API function ( الدرس الأول )
برمجة الويندوز باستخدام Win32 API function ( الدرس الأول )
(مرات المشاهدة: 114 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني ) برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني )
برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني )
(مرات المشاهدة: 120 مرات)
الاختلافات بين برامج الـ DOS وبرامج الـ Windows الاختلافات بين برامج الـ DOS وبرامج الـ Windows
الاختلافات بين برامج الـ DOS وبرامج الـ Windows
(مرات المشاهدة: 293 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع ) برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع )
برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع )
(مرات المشاهدة: 112 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث ) برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
(مرات المشاهدة: 102 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس ) برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس )
برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس )
(مرات المشاهدة: 122 مرات)
برمجة الويندوز باستخدام Win32 API function ( مقدمة ) برمجة الويندوز باستخدام Win32 API function ( مقدمة )
برمجة الويندوز باستخدام Win32 API function ( مقدمة )
(مرات المشاهدة: 207 مرات)
تعارف اهداءات ترحيب تبريك الحوار العام الفسحة العامة الطلاب و الاختبارات و الاسئله الجريمه حوادث كوارث جرائم معجم لهجات الفاظ مصطلحات عبارات حكم المنتدى الاسلامى تفسير الاحلام dreams صوتيات اسلاميه اناشيد محاضرات خطب وعظ الخينة الرمضانية اللغة الانجليزيه English الطرائف والمرح والفكاهه والتسليه العاب اكس بوكس بلاستيشن XBOX360 & PS3 playstation بلاي استيشن دريم كاست نتندو Anime انمي افلام كرتون السياحة و السفر والرحلات الافلام المنوعه افلام عربيه افلام اجنبيه الصور المضحكه والتعليق مسابقات الغاز حكاوي تطوير المواقع و السكربتات Ajax XML CSS JavaScript PHP Perl CGI seo Search Engine web2 تطوير و صيانة المنتديات vBulletin مشاكل و حلول للمنتديات و المواقع المشكله و الحل و الصيانة الهاكات برودكت بلقن Product - Plugins استايلات قوالب واجهاتstyle - template حراج انترنت مستعمل + جديد اشهار مواقع تبادل اعلانات بيع و شراء منتديات ستلايت فضائيات قنوات ترددات كامات شفرات مفاتيح شيرنج Sharing كروت ساتلايت و الرسيفرات الشعر العام البوح بالخافي فصحى نبطي الخاطرة الأدبية خواطر منوعه قصص روايات الكمبيوتر الحاسب والاجهزة العام البرامج الكاملة وشروحها وتعريب البرامج البرامج العربية والمعربة البرامج المشروحة و شروحات البرامج فوتوشوب photoshop رسم تصميم فلاتر فرش تدرجات خطوط باترن اشكال جوال بلوتوث جميع اجهزة الجوال mobile bluetooth بوكيت بي سي Pocket PC اجهزة كفية بلوتوث bluetooth فلاش سويتش سويش ماكس FLASH _ SWiSH الهكرز و الاختراق حماية فيروسات اختراق كراك hacker crack virus حواء للبنات نسائي للحريم فقط والبنوتات المطبخ للطبخ والاكل وكل امور المطابخ تطوير الذات و البرمجة اللغوية العصبية عيادة طبية للفلوق وغيرها صحه وعلاج health طقها والحقها الرياضي رياضه عربيه منوعه رياضه اجنبيه دوري اسباني وايطالي وغيره قنص صيد رحلات برية بحرية سيارات دراجات نارية تفحيط ترهيم
جميع الحقوق محفوظة مدرسة المشاغبين منتديات مدرسة المشاغبين  Copyright © All rights reserved sitemap