مبادئ أجزاء انظمة التشغيل

الأحد-10-2008

هذا الموضوع طرحته فى محتوع لينكس العربي

للنقاش من هنا :http://www.linuxac.org/forum/showthread.php?p=145432


هل فكرت يوما فى تكوينات نظام التشغيل الذى تعمل عليه ؟

كيف يعمل ؟ كيف يستطيع ان يقوم بتشغيل اكتر من برنامج فى نفس الوقت ؟ كيف يقوم بعرض الصور على الشاشة؟ كيف يدير الذاكره ؟

سوف احاول ان اجيب عن بعض من تلك الاسئلة , زلكنى لا اعد بإكمالها ولكنى أعد بالمحاولة فلنبدا بإسم الله

1- تركيب المعالج الداخلى :

سوف نبدأ يه اولا لانه أهم شئ فى الحاسوب , حاسوبك قد يعمل بدون هارد ديسك  وبدون شبكة وبدون اشياء كثره ولكنه مستحيل ان يعمل بدون معالج

قد ترى شخص ابتلاه الله بفقد بصره او بفقد احد اعضائه ولكنك من المستحيل ان ترى شخص وبين كتفيه فارغ !

شيئان :

— مجموعه من registers تسمى بالعربية “المسجلات”

— وحدة الحساب والمنطق  Arithmatic and Logic Unit واختصار تسمى ALU

المسجلات ( register ) :

هى عباره عن اماكن يستخدمها المعالج لتسجيل بيانات عليها وهذة البيانات تكون فى صورة low level اى بمعنى انها تحتوى صفر و واحد وغالبا ماتحتوى على اماكن حساسة

عددها وسعة كل منها يختلف على حسب نوع المعالج وعندما اقول سعة كل منها اقصد السعة بالبتBit

* الجميع يعرف ان الحاسوب يقوم بتمثيل كل شئ – الصور , الملفات النصية , ملفات الصوت , ….. – على شكل صفر و واحد

البت اما يكون صفر او واحد لا اكثر ولا أقل

وهناك بعض المسجلات والتى تكون محجوزة لأغراض معينه بعينها :

أ- PC Resgiter : وهى اختصار لـ Program Counter Register او مسجل عداد البرنامج

اى برنامج يتم تشغيله يكون على شكل لغة الحاسب اى BInary او بمعنى اخر اصفار وواحد 010100111110100010110  ولكن هذا ليس كل شئ

البرنامج تكون فيه الاوامر عباره عن جمل او تعليمات يتم تمريرها الى الحاسوب اولا باول ولنأخذ المثال التالى

001001110

011010111

01111011

هكذا عباره عن مجموعه من الاوامر المتتابعة وتكون معتمده على نوع المعالج لديك هل هو مثلا x86 او x86_64 او >>

ولكن كيف يستطيع الحاسوب معرفه مثلا انه الان على وشك تنفيذ التعليمه الثالثه مثلا , لابد من وجود مخزن ما يحتوى على رقم التعليمة التى سوف يتم تنفيذها

هذه هى وظيفة pc او program counter يتم فى داخله تخزين رقم التعليمة التى سوف يتم تنفيذها المره التالية (وليست التعليمة التى يتم تنفيذها حاليا )

بالمناسبة : اى برنامج يتم تحميله فى الذاكره اى ان البرنامج قبل تنفيذة يتم تحميله الى الذاكره اولا, اى انك لا تستخدم البرنامج وهو موجود على الهارد ديسك !

2- Address Register (مسجل العناوين) : الحاسوب يعمل بطريقة معينه بمعنى انك اذا اردت منه ان يحضر لك بيانات معينه موجوده فى عنوان معين – اى بيانات فى الذاكره يكون لها عنوان – تقوم اولا بوضع عنوان تلك البيانات فى مسجل معين – وهو مسجل العناوين – ثم تطلب احضار البيانات ويقوم الحاسوب بعد ذلك بالذهاب الى مسجل العناوين لإحضار عنوان البيانات التى تريد الحصول عليها من الذاكره ويقوم بإحضارها لك

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

3- accumulator Register : ولا اعرف ترجه لهذة الكلمة سوى ان نطلق عليها “مسجل المجمع” !!

وهو يحتوى على ناتج اى شئ فى وحدة الحساب والمنطق ALU

بمعنى اذا كان لديك عملية جع تتم فى وحدة الحساب والمنطق فسوف تجد الناتج بكل تاكيد فى accumulator

4- Stack Pointer : مؤشر المكدس !!! , سوف نتعرف عليها لاحقا

* اى برنامج يتم تنفيذه يكون له مايسمى بالـ Process Table او جدول البرنامج وهو يحتوى على كافة معلومات البرنامج

هناك registers اخرى لما اذكرها واعتقد اننا لن نحتاج اليها مثل Index Register و Source Register واشياء أخرى غير مهمه بالنسبة لنا حاليا

لقد حاولت البحث عن مصادر للزياده ولكنى فشلت حاليا 😦 ولكنى سوف اتابع

طبعا لاتتوقع ان تصل الى process و threads مره واحده 😀

اكل العنب بيكون حبه حبه

ملحوظه : هناك بعضا الامور التى قد لا تكون واضحة كليا هناك بعض منها سوف يتضح لاحقا ولكن اذا رأيت انك تود السؤال عن اى شئ لاتفهمه حيث انى لن اشير اليه لاحقا سوى بإسمه فقط

واذا كان هناك من يود المساعده فأرجوك تفضل 😀

Advertisements

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: