20أكتوبر

المحاضرات الالكترونية الدلالية

قبلت لي ورقة عمل في النـدوة الدوليـة السادسة للغات “التقويم والقياس في تدريس اللغات الأجنبية” التي عقدت في المعهد العالي للغات – حلب- في الفترة 19-20 تشرين الأول 2009.  عنوان ورقة العمل “الامتحانات الالكترونية الدلالية”. جدير بالذكر ان الورقة بالتعاون مع الدكتور أحمد بدر الدين الخضر، وقد ألقاها ضمن الندوة.

ملخص ورقة العمل:

تعتبر الامتحانات الالكترونية التقليدية المعتمدة على أسئلة الخيارات المتعددة بشكل عام، أحد أهم العقبات التي تواجه انتشار الامتحانات الالكترونية بسبب عدم قدرتها على سبر معلومات الطالب بشكل واضح، وخاصة أن اختيار الأسئلة يكون من خلال اختيار أسئلةٍ  عشوائيةٍ من بنك الأسئلة، دون مراعاة لترابط الأسئلة ومستوى الطالب.

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

تتحدث المقالة عن مفهوم الدلالية بشكل عام، ومن ثم تقترح مشروعاً لنظام امتحاناتٍ دلاليٍ يراعي مستوى الطالب، وترابط الأسئلة معاً، وتدرُج العلامات، وإمكانية وجود أسئلة ذات طبيعة إنشائية، وعدم الاعتماد على الأسئلة ذات الخيارات المتعددة فقط.

يمكنكم تحميل العرض التقديمي من هنا 

يمكنكم متابعة العرض أيضاً مباشرة في الأسفل عبر slideshare

12يوليو

نظم اتخاذ القرار بالاعتماد على تقنيات الاستدلال اعتماداً على الحالات

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

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

اتخاذ القرار اعتمادا على تقنية CBR

إشارة لما سبق فإن اتخاذ القرار الأمثل بشراء برمجية ما ليس بالأمر السهل، نقترح في هذه المقالة طريقة جديدة في نظم اتخاذ القرار  لإيجاد البرمجية الأفضل لمتطلبات شركة ما، ويكون ذلك  من خلال اقتراح نظام تقييمي يعتمد على تقنية الاستنتاج اعتمادا على الحالات الواقعية السابقة Cased Based، وذلك ببناء قاعدة المعرفة، التي تتضمن سجل من الأسئلة التي يتم طرحها على المنتجين للحصول على الميزات العامة لبرمجياتهم، بالإضافة للميزات التفصيلية لها، ومن ثم جمعها معاً ضمن قاعدة معرفة تضم جميع ميزات البرمجيات، ويتم تحديث هذه القاعدة كلما تم إضافة برمجية جديد.

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

تقنية الاستدلال اعتماداً على الحالات CBR    :

تعتبر CBR إحدى تقنيات الذكاء الصنعي لبناء نظام خبير، حيث تستخدم قاعدة المعرفة المستنتجة من تجارب، وخبرات سابقة تسمى الحالات(Cases) ، ويتم حل أي مشكلة جديدة بإيجاد الحالة الأكثر تشابها للحالة الجديدة، ومن ثم إعادة استخدامها لتكون حل للمشكلة الجديدة، وتخزن الحالة الجديدة في قاعدة المعرفة لحل مشاكل أخرى في المستقبل، ويبين الشكل التالي الآلية العامة لعمل خوارزمياتCBR .

الشكل (1): آلية عمل خوارزميات CBR

يتم استخدام تقنية CBR في حل هذه المسألة، حيث تعتمد هذه التقنية على فلسفة أن المسائل المتشابهة لها حلول متشابهة، وأن حل مشكلة جديدة يتم باستدعاء حل قديم لمشكلة مشابهة، ومن ثم تكييفه مع المسألة الجديدة [2]. يتم استنتاج الحل بتطبيق خطوات CBR من خلال عملية استعادة الحالات المخزنة، وحساب التشابه بينها ويبن الحالة الجديدة، واختيار الحالة الأكثر تشابهاً.

نظام اتخاذ القرار المقترح:

يمر بناء النظام بعدة مراحل، يجب أن يتضمن بدايةً بناء قاعدة المعرفة التي تتضمن جميع البرمجيات التي سيتم التنقيب عن المعطيات ضمنها، بحثاً عن الحل الأفضل، حيث تتم عملية البحث والمطابقة باستخدام تقنية CBR، ولبناء هذه القاعدة يجب البحث عن الأسئلة التي تتطلب الإجابة عليها، وتخزين الإجابات الخاصة بكل برمجية، بعد ذلك تبدأ عملية اتخاذ القرار بقيام الزبون بالإجابة على نفس الأسئلة مع وضع أهمية لكل سؤال، بحيث يتم تقييم المنتجات بناء على أهمية السؤال بالنسبة للمستخدم، ومدى توفرها في المنتج، ويستمر ذلك وصولا للمرحلة الأخيرة، حيث يقوم المستخدم بتحديد المتطلبات الوظيفية التفصيلية.

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

خاتمة:

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

* نشرت هذه المقالة في مجلة الحاسبات عدد تموز 2009

 

5يوليو

رسالة الماجستير في الهندسة المعلوماتية

ناقشت رسالة الماجستير في الهندسة المعلوماتية – هندسة الحاسبات- في جامعة حلب في حزيران عام 2009، و كانت الرسالة بعنوان “إستخدام تقانات الذكاء الصنعي لاختيار أمثل نظام ادارة علاقات للزبائن CRM ملائم لاحتياجات شركة ما”، وقد نالت الرسالة درجة 91% ، ليصبح المعدل النهائي للماجستير هو 85.72 % . تم الإشراف على الرسالة من الدكتور الغالي أحمد بدر الدين الخضر وشارك الدكتور طلال يوسف من  جامعة  University of Southern Queensland في إستراليا بالإشراف على البحث.

أكمل القراءة »

19يوليو

نظام إدارة العلاقات مع الزبائن

يتضمن هذا المشروع جميع المفاهيم النظرية والتطبيقية لتصميم وتنفيذ نظام Web-Based لإدارة العلاقات مع الزبائن CRM، تتضمن الأطروحة المفاهيم النظرية لإدارة العلاقات مع الزبائن أو العملاء كما يشيع، وأسس تنفيذ تطبيق برمجي بلغة PHP لإدارة ذلك.

أكمل القراءة »

21يناير

سقوط

عندما سقط اكتشفه الجميع فجأة.

نجاح:

أخبره الجميع بحتمية فشله لكنه كان واثقاُ من نجاحه لأبعد الحدود، لاحقاً اندهش الجميع من نجاحاته الباهرة، بينما كان ينام حزينا لفشله.

حلم:

اعتاد مساء كل يوم أن يحلم بحبيبته، لكنه من الآن لن يحلم بها بعد الآن فقد أضحت زوجته .

وثبة:

لطالما رددوا على مسامعه بيت الشعر ، شرف الوثبة أن ترضي العلاـ غلب الواثب أم لم يغلب ، لكن أخفوا عنه  أن الوثب عالياً قد يكسر قدميك ..

هروب:

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

 

من مجموعة دبابيس 2007

 

 

11ديسمبر

قرار مصيري

فجأة ودون سابق إنذارٍ، وجد نفسه مجبراً على اتخاذ قراره، لقد حاول وبشتى الوسائل تأخير هذا القرار وتأجيله لوقت لاحق، كان يعرف في قرارة نفسه أن عليه إتخاذه عاجلاً أم آجلاَ، ولكن من يدري لعل اتخاذه في وقت مبكر أفضل من تأخيره.

جاءه صوت من داخله يناديه:

–  هيا حان الوقت  لا تتردد،  احسم الأمور الآن.

— إنها مغامرة و لا أستطيع تحمل نتائج المغامرات، سأدعه لجولة أخرى ..
–   جولة أخرى  .. جولة أخرى و أخرى،  سئمت منك ومن جولاتك،  لقد أضعت فرصة تلو الاخرى بسبب هروبك من هذه اللحظة المناسبة.
—  لا تقل هروب إنه تريث، إنني أتريث  فحسب لاختيار اللحظة المناسبة.
– لكن تذكر أنك كلما تأخرت كلما قلت الاحتمالات، وكلما أصبحت مجبراُ على اتخاذ قرار ما عوضاً عن الاختيار من عدة خيارات، من واجبي أن أذكرك ، أليس كذلك ؟
— نعم نعم أعرف،  ولكنك تتكلم كأنه قراري لوحدي ، ألا تعرف أن لي شريكاُ علي أن أفكر به، و أحسب حسابه؟
– فكر وهل أمنعك ؟  على أي حال ألا تنتبه إلى تلميحاته؟  إلى نظراته ؟ ألم تفهم بعد ماذا يريد وبم يفكر ؟؟؟..
— كلا .. لو أنني عرفت لقررت حالاً،  ولكنه يفاجئني كل مرة بحركة ما ، صراحة إنني لا أفهم عليه ، وجل ما أخشاه أنني إن قررت  الآن أن يكون قراري ليس صائباً كما حدث في المرة السابقة ، آه لو كان بإمكانه الافصاح ..
– وماذا حدث المرة السابقة ؟
— لقد لمح لي عدة تلميحات متعارضة ، ولم أفهمها و اتخذت قراري الذي جعلنا نندم  سوية، وهجرني بعدها عدة أشهر كردة فعل.
– إذاً !!!
— لا أعرف أنا محتار بين أن أقرر الآن وبين الانتظار ..

 و فجأة قاطعه صوت زميله …
هيا ماذا تنتظر إنه دورك في اللعب .. هل سننتظر جنابك ساعة .. !!!
نظر إلى شريكه في لعبة الشدة  بثقة، و رمى ورقة “الختيار¨ بحزم:
لقد اتخذت قراري وسأرمي هذه الورقة اللعينة فإما النصر أو الهزيمة.
انتفض شريكه غاضباً .. يالك من أحمق ..ألم تفهم تلميحاتي ،  لقد خسرنا مرة أخرى بسببك،  كان عليك تأجيل هذه الورقة للجولة التالية ..
كلم نفسه تارة أخرى ..

ألم أخبرك كان علي أن أتريث  أكثر .. باغتته مسرعة ، ولكن ماذا لو ربحت ، هل كنت لتكلمني  نفس الكلام .

من مجموعة دبابيس عام 2007

1يوليو

إصدار كتاب أسس ومبادئ البرمجة

أصدرت لي  دار شعاع للنشر والعلوم كتاب “أسس ومبادئ البرمجة”، الذي قمت باعداده بالاشتراك مع أسماء الحسين وليلى حاج موسى. يتناول الكتاب تعليم لغة البرمجة للمبتدئين وخاصة طلاب الجامعات باستخدام لغة ++C  حيث يركز على تعليم مفاهيم البرمجة، وبناء الفكر البرمجي الخوارزمي، علاوة على تنفيذ ذلك باستخدام لغة السي بلس. أكمل القراءة »

12أغسطس

تقنيات وحلول في جافا جزء 2

صدر لدار شعاع للنشر والعلوم كتاب تقنيات وحلول في جافا جزء 2، وساهمت فيه بمقالة بناء غرفة دردشة باستخدام تقنية RMI.

وصف الكتاب حسب دار شعاع: “هذه السلسلة دورية تصدر تباعاً وهذا مايساعد على تطور وحداثة المعلومات الواردة في أجزائها. وقد قام بجمع وإعداد أجزاء هذه السلسلة كتاب مبرمجون لهم تجربة عملية إن على صعيد البرمجة أو على صعيد الترجمة والإعداد والتأليف”. أكمل القراءة »

1أغسطس

مقدمة أطروحة التخرج

ظهرت أنظمة التشغيل مع بدايات ظهور الحاسب عندما برزت الحاجة لوجود نظام برمجي يقوم بدور الوسيط بين الآلة والمستخدم. و مع تزايد الحاجة لتطوير برمجيات معقدة أصبح من المهم أن يقوم نظام التشغيل بتقديم نموذج بسيط و عالي المستوى للآلة كي يستطيع المبرمجون كتابة برامجهم بسرعة، مما أعطى نظام التشغيل دورا هاما في التمييز بين أنظمة الحاسب المختلفة. ونظراً لأهمية هذا العلم وتأثيره على الكثير على علوم و تقنيات الحاسب الأخرى، قررنا الدخول في هذا المجال الجديد في مشروع يعتبر الأول من نوعه على صعيد مشاريع التخرج، و لعل الهدف الأول هو إزالة الرهبة من كلمة كتابة نظام تشغيل والشروع ببناء نظام تشغيل عربي يعبد الطريق نحو الدفعات القادمة لتطويره لبناء نظام تشغيل متكامل . أكمل القراءة »

31يوليو

لمحة عامة عن نظام التشغيل

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

لمحة تاريخية عن أنظمة التشغيل

شهدت أنظمة التشغيل تطورا كبيرا منذ ظهورها حتى الآن و سنلقي الضوء في المقاطع التالية على أهم المراحل التي مرت بها أنظمة التشغيل و لما كانت أنظمة التشغيل تاريخيا وثيقة الصلة بالأجهزة التي تعمل عليها فإننا سنطلع على الأجيال المتعاقبة من الحواسب لنرى كيف كانت أنظمة تشغيلها تبدو.
الجيل الأول 1945-1955 الصمامات المفرغة و لوحات التوصيل: بدأت الحواسب بالظهور في أواسط الأربعينات و كانت بدائية جدا و تستخدم الصمامات و كانت تتألف من آلاف الصمامات التي تملأ عدة غرف و لم يكن آنذاك لغات برمجة (حتى لغة التجميع ) و لم يكن هناك أنظمة تشغيل أيضا.
الجيل الثاني 1955-1965 الترانزستور و الأنظمة الدفعية: تغيرت الصورة جذريا مع ظهور الترانزستورات حيث أصبحت الحواسب أصغر حجما بكثير و أكثر موثوقية و أقل أعطالاَ و أصبح هناك تمييز بين المصممين و المنفذين و المشغلين و المبرمجين و عمال الصيانة و بسبب غلاء التجهيزات آنذاك فقد ظهرت فكرة البرمجة الدفعية حيث يتم تجميع مجموعة من الأعمال ثم تحويلها إلى أشرطة مغناطيسية بواسطة حاسب رخيص ثم نقلها إلى الحاسب الرئيسي ليتم معالجتها دفعة واحدة.
الجيل الثالث 1965-1980 الدارات المتكاملة و البرمجة المتعددة:  كانت الشركات في نهاية الستينات تنتج نوعين من أجهزة الحاسب الحواسبSystem/360 وهوة و الحواسب التجارية الصغيرة نسبيا و كان استخدام و برمجة نوعين مختلفين من الأجهزة مهمة صعبة، خاصة أن معظم الشركات كانت تبدأ بحاسب صغير ثم تتوسع إلى حاسب كبير.قدمت IBM حلا لهذه المشكلة من خلال تطوير جيل جديد من الحواسب يسمى System/360 وهو عبارة عن سلسلة من الحواسب المتوافقة مع بعضها من الناحية البرمجية و تتدرج بالحجم من الكبيرة القوية إلى الصغيرة التجارية و بما أن جميع هذه الأجهزة لها نفس مجموعة التعليمات فإن البرامج المكتوبة لأحدها يمكن أن تعمل عليها كلها نظريا كما أنها مصممة لمعالجة العمليات العلمية بالإضافة إلى العمليات التجارية.و بعد سنوات قدمت IBM سلسلة متوافقة مع 360.
كان 360 الجهاز الأول المعروف الذي استخدم الدارات المتكاملة و كان هذا تطورا كبيرا عن الجيل الثاني الذي استخدمت حواسبه الترانزستورات المنفردة و مازالت هذه الأجهزة مستخدمة حتى الآن لكن بنسخ أحدث و فيما يلي بعض مميزات هذا الجيل:

  • البرمجة المتعددة حيث في الجيل السابق كان المعالج يبقى خاملا عند القيام بعملية دخل / خرج حتى ينهي هذه العملية و تم حل هذا الأمر في البرمجة المتعددة.
  • الأرتال أي عملية ترتيل عمليات الطرفيات و وضعها في أرتال و هو ما يدعى ب Spooling.
  • المشاركة الزمنية أي تقسيم الزمن لخدمة مجموعة لا بأس منها من المستخدمين بنفس الوقت و بشكل تفاعلي.

الجيل الرابع 1980- الوقت الحاضر الحواسب الشخصية: بدأ عصر الحواسب الشخصية مع ظهور الدارات ذات التكامل الواسع LSI و أصبحت بعد ذلك الحواسب الشخصية رخيصة و بمقدار أي شخص شراءها. صممت IBM جهازها الشخصي IBM PC في أوائل الثمانينات و طرحته في الأسواق مرفقا مع نظام التشغيل MS DOS ومفسر لغة BASIC من شركة MicroUNIX.لناشئة و قد كان أحد أهم القرارات الحكيمة ل بيل غيتس أنه قرر توزيع نظام تشغيله مع الأجهزة من خلال الاتفاق مع شركات تصنيع العداد مثل IBM و غيرها على عكس ما كانت تفعله منافسته شركة Digital Research التي كانت تسوق نظام التشغيل CP/M مباشرة للمستخدم النهائي.أصبح بعد ذلك نظام MS DOS نظام التشغيل الأشهر و قد أضيفت له الكثير من المميزات في الإصدارات اللاحقة و كانت كلها مستوحاة من نظام UNIX.
حتى هذا الوقت كانت جميع أنظمة التشغيل تعتمد على كتابة الأوامر على لوحة المفاتيح و لكن الأمور تغيرت مع ظهور ما يسمى بواجهة المستخدم الرسومية GUI التي صممت في البداية في شركة Xerox على أجهزة Xerox parc المتطورة و لكن Xerox لم تهتم كثيرا بهذه التقنية التي استوحت منها شركة Apple فكرة نظام Lisa الذي لم ينجح بسبب غلاء سعره و لكنها اتبعته مباشرة بنظام Macintosh الذي تميز بسهولة استخدامه فنجح نجاحا باهرا. تأثرت Microsoft بهذا النظام و بدأت بتطوير نظام وندوز الذي لم يكن نظام تشغيل حقيقي بل كان عبارة عن طبقة رسومية فوق نظام MS DOSو استمر ذلك حتى عام 1995 حيث أطلقت عندئذ نظام وندوز مستقلا أسمته Windows 95 و الذي استخدم نظام DOS في داخله من أجل الإقلاع و برامج التشغيل القديمة و هكذا بدأت سلسلة الإصدارات من وندوز.
نذكر من المنافسين الآخرين في عالم الحواسب الشخصية نظام التشغيل Unix الذي لاقى نجاحا اكبر على أجهزة محطات العمل و الحواسب القوية مثل مخدمات الشبكات و على الرغم من أن UNIX كان نظام أوامر سطري منذ البداية فإن MIT طورت واجهة رسومية خاصة سمتها X Windows من أجل أنظمة UNIX.
سنكتفي بهذا القدر من السرد التاريخي و دعونا نتحدث قليلا عن أنواع و أشكال أنظمة التشغيل.

أنواع أنظمة التشغيل

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

أنظمة تشغيل الأجهزة الكبيرة Mainframe: تحتل أنظمة التشغيل الكبيرة المرتبة الأولى من حيث الحجم و تتميز عن الحواسب الشخصية بسعة منافذ الدخل و الخرج فمن الطبيعي أن يحتوي جهاز منها حوالي 1000 قرص صلب و تستخدم ه/360.اسب كملقمات ويب متطورة و ملقمات مواقع التجارة الالكترونية المتطورة.تهتم أنظمة تشغيل هذه الأجهزة بالدرجة الأولى بتشغيل عدة مهام في وقت واحد و تحتوي على كمية هائلة من معالجات الدخل و الخرج من الأمثلة على هذه الأنظمة OS/390 المشتق من OS /360.

أنظمة تشغيل المخدمات: تعمل هذه الأنظمة على المخدمات التي تكون إما أجهزة شخصية كبيرة جدا أو محطات عمل أو حتى أجهزة كبيرة و تخدم هذه الأنظمة عدة مستخدمين بوقت واحد على شبكة و يسمح للمستخدمين بمشاركة الموارد العتادية و البرمجية و من الأمثلة على هذه الأنظمة UNIX و Windows 2000 و ظهر مؤخرا على الساحة نظام LINUX.

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

أنظمة تشغيل الزمن الحقيقي: تعتمد هذه الأنظمة على الزمن بشكل رئيسي مثل أنظمة التحكم بالعمليات الصناعية و تحتوي هذه الأنظمة على نقاط حرجة يجب احترامها و نظم الزمن الحقيقي نوعان Hard و Soft و من الأمثلة على هذه الأنظمة vxworks و QNX.

أنظمة التشغيل المضمنة: ننتقل الآن الحواسب المحمولة باليد و الأنظمة المضمنة و تتسم غالبا هذه الأنظمة بنفس مزايا أنظمة الزمن الحقيقي لكن لها قيود بالنسبة للحجم و متطلبات الذاكرة و القوة الحسابية و من الأمثلة عليها Palm Os و Windows CE.

أنظمة تشغيل البطاقات الذكية:تعمل هذه الأنظمة على البطاقات الذكية ة تحوي على معالج و لها قيود قاسية بالنسبة للقوة الحسابية و حجم الذاكرة و بعض هذه البطاقات يعتمد على لغة الجافا و هذا يعني أن الذاكرة ROM تحتوي على مفسر لآلة جافا الظاهرية JVM.
بنية أنظمة التشغيل

الأنظمة الأحادية:يمكن وصف هذا الأسلوب الذي يعتبر الأكثر شيوعا حتى الآن بأنه فوضى كبيرة “Big Mess” و تعتمد هذه البنية على عدم وجود بنية و يكتب نظام التشغيل على شكل مجموعة من الإجراءات يستطيع كل منها استدعاء أي إجراء آخر عندما يحتاج إليه و لإنشاء البرنامج التنفيذي الفعلي لنظام التشغيل عند إتباع هذا الأسلوب يجب أولا ترجمة جميع الإجراءات أو الملفات التي تحتوي هذه الإجراءات أو الملفات التي تحتوي هذه الإجراءات و من ثم ربطها معا ضمن ملف هدف واحد باستخدام رابط النظام و يكون إخفاء المعلومات مفقودا تماما حيث يستطيع كل إجراء رؤية جميع الإجراءات الأخرى يقترح هذا التنظيم بنية بسيطة لنظام التشغيل:

  • برنامج رئيسي ينفذ إجراء الخدمة المطلوبة.
  • مجموعة من إجراءات الخدمة التي تنفذ إستدعاءات النظام.
  • مجموعة من الإجراءات المساعدة التي تساعد إجراءات الخدمة.

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

الآلات الظاهرية: كما ذكرنا سابقا يتألف النظام عادة من طبقات و العتاديات هي المستوى الأدنى في جميع النظم و النواة هي التي تعمل في المستوى التالي، تستخدم تعليمات العتاديات لإنشاء مجموعة إستدعاءات النظام كي تستخدمها الطبقات الخارجية فبرامج النظام عندئذIBM. قادرة على استخدام إستدعاءات النظام أو التعليمات العتادية و هذه البرامج عادة لا تفرق بين الاثنين.جاءت الأنظمة الظاهرية بحيث تؤمن وجود آلة افتراضية للمستخدم يستطيع خلالها تنفيذ برامجه و هكذا يعطى المستخدمون آلات افتراضية خاصة بهم و من ثم يستطيعون تنفيذ أي نظام تشغيل أو حزمة برمجية متاحة في الآلة الأساسية و كمثال نذكر نظام VM من IBM .

أنماط عمل معالجات INTEL:

معالجات 8086: يعمل المعالج في النمط الحقيقي و يسمح بعنونة ذاكرة بحجم 16 خانة, و يعمل في عنونة الذاكرة على أساس تقنية التقطيع. و تحتوي مسجلات المعالج التي هي بحجم 16 خانة أيضا على عناوين المقاطع الذاكرية المباشرة و الإزاحات ضمن هذه المقاطع أي يقوم بالوصول إلى الذاكرة مباشرة. و هذا ما يحققه نظام العمل في النمط الحقيقي إلا أن نمط العمل هذا له بعض السلبيات و لا يؤمن لنا إمكانية الحماية للقطع الذاكرية كما أنه لا يدعم تقنيات تعدد المهام.

معالجات 80386: تعمل هذه المعالجات أيضا في النمط الحقيقي و بنفس طريقة عمل المعالج 8086 و لكن بشكل أسرع منه، وكما أنها تعمل في نمط جديد لم يكن موجود في معالجات 8086 وأول ما تم إيجاده في المعالج 80286 و تم تحسينه نمط العمل هذا في الإصدار 80386 لكي يعمل على عنونة ذاكرة بحجم عنونة 32 خط عنونة. و يتم العنونة في نمط العنونة هذا على أساس جداول تخطط بنية الذاكرة،و سنقتصر في نظامنا على المعالجات على 80386 فقط لأنها هي المعتمدة في نظام التشغيل المصمم أو لنقل بشكل أدق أن بنية هذه المعالجات هي البنية القياسية المعتمدة.

المسجلات في 80386

كما ذكرنا سنركز في دراستنا هذه على المعالج 80386 و ذلك لأن هذا النوع من المعالجات يعتبر معيارا للمعالجات التي تعمل في النمط المحمي و كل ما أتى بعدها من معالجات من شركة Intel جاء متوافقا و مبنيا على أساس هذه المعالجات و لدينل نوعان من المسجلات في المعالج 80386:
مسجلات يمكن للمبرمج الوصول إليها و التعامل معها قراءة أو كتابة:

  • أربع مسجلات أغراض عامة
  • مسجل أعلام
  • ست مسجلات مقطعية
  • مسجلي فهرسة
  • مسجل تكديس
  • مسجل قاعدي و مسجل التعليمة
  • مسجلات الجداول
  • GDTR مسجل جدول الموصفات العامة.
  • LDTR مسجل جدول الموصفات المحلية.
  • IDTR مسجل جدول الموصفات المقاطعات.
  • TR مسجل تخزين المهمة.
  • CR0 – CR3 مسجلات التحكم,
  • DR0 – DR7 مسجلات نمط التنقيح.

الشكل التالي يبين معظم ما تم ذكره من مسجلات في الأعلى هنالك بعض الأنواع من المسجلات خاصة في النمط المحمي و لا فائدة لها إلا بهذا النمط و سنأتي على ذكرها في حينه.

 

المسجلات

  • مسجلات مخفية لا يمكن الوصول إليها من قبل المبرمج و تستخدم من قبل المعالج و ذلك لأغراض العنونة الذاكرية و التخزين المؤقت لبعض العناوين.
  • مسجلات تخزين واصفة مقطع الشفرة الحالي : Code Segment Descriptor Cach Reg .
  • مسجلات تخزين واصفة مقطع المعط يات الحالي: Data Segment Descriptor Cach Reg.
  • مسجلات تخزين واصفة مقطع التكديس الحالي: Stack Segment Descriptor Cach Reg.
  • مسجلات تخزين عنوان جدول وصفات المقاطع العامة الـ GDT الحالي.
  • مسجل تخزين عنوان جدول واصفات المقاطعات الـ IDT الحالي.
  • مسجل تخزين عنوان جدول الواصفات المحلية LDT الحالي.
  • سجل تخزين جدول واصفات الحالة TSS.
يمكن الإقتباس شرط الإشارة للمصدر.