منقول
- نبذه عن نظام التشغيل
لسنا بصدد طرح نبذه تاريخيه عن نظم التشغيل بامكانك بسهولة الحصول عليها
لكن ندخل في تفاصيل نظم التشغيل وسأقوم بالتركيز على عده امور منها:
1.المقاطعات .interrupt
2.ماذا يفعل نظام التشغيل عندما تبدأ بفتح جهازك
1.المقاطعات: interrupt
ملاحظات مهمه:
كل جهاز كمبيوتر يحتوي على نظام تشغيل على الاغلب يوجد في اول كيلو بايت من الذاكره memory ما نسميه interrupt vector table
ماهي interrupt vector tabel
هي عبارة عن مصفوفه ان جاز القول تحتوي على numbers تحدد كل منها ما هو الجهاز
على سبيل المثال
int 0 المقاطعة رقم صفر: تدل على الوقت في الكمبيوتر اي انها تخدم الوقت
int 1 المقاطعة رقم 1 : تدل على لوحة المفاتيح
وهكذا....................حتى تكتمل جميع الاجهزة(ماوس وسكانر وكرت شاشه الخ)
لماذا نظام المقاطعات:
قديما لم يوجد هذا النظام بل كان cpu يقو بسؤال الاجهزة واحد تلو الاخر اذا اراد خدمه ان ينفذها له على سبيل المثال:
يقوم cpu بسؤال لوحة المفاتيح اذا اردت شيء (مثلا كتابة حرف على الشاشة)
ثم يذهب مباشرة للطباعة اذا اردت شيء....ثم يذهب فرضا الى الماوس وهكذا
فان cpu كل الوقت يذهب للسؤال الاجهزة اذا اردت خدمة وهذا يضيع عمل cpu
الاصلي القائم على تنفيذ البرامج.....تصور انك تريد تحميل برنامج بهذه الطريقة ستحتاج الى وقت كبير جدا لترى النتائج وهذه مشكلة كبيرة جدا......
علاوة فرضا قمت بتنفيذ برنامج معين وهذا البرامج يطلب من المستخدم ادخال قيم معينه )i\o) فان cpu سينتظر المستخدم حتى يدخل القيم وهذه مشلة لان وقت cpu سيضيع من جراء الانتظار...................... لذلك جاء مفهوم المقاطعة :
وهي ان cpu يقوم بتنفيذ البرامج واذا اراد اي جهاز ان خدمة service من cpu فانه يقوم باعلامه ومن ثم يقوم cpu بخدمته.....
وبالتالي اذا طلب برنامج اي قيم لادخالها فان cpu لا ينتظر بل يذهب لتنفيذ برامج اخرى وهذه فائده كبرى ....اذاادخل المستخدم القيم يعود cpu ويكمل عمل البرامج.............
كيف تعمل المقاطعة:
اولا سوف ابسط الامر على الرغم من تعقيده سأناقشه بطريقة سطحية ولكن كافيه
اولا قطعة تسمى pic المقاطعات المبرمجة وهذه تكون كل اجهزة الكمبيوتر موصولة بها(ماوس لوحة مفاتيح.......) وتكون موصوله بها عن طريق ما يسمى irq
اذا على سبيل المثال لوحة المفاتيح موصولة مع pic على irq 1
الماوس موصولة مع pic على irq 2
وهكذا.......باقي الاجهزة والمكونات طبعا cpu غير موصول فهو رئيسي بالكمبيوتر ولا يحتاج الى خدمات بل هو من ينفذ الخدمات.....
كيفية العمل:
لنفترض نريد كتابة حرف A على الشاشة
عند الضغط على الحرف ماذا يحصل.......
اولا تقوم لوحة المفاتيح بمقاطعة pic عن طريق irq بحيث تزيد في فولتية القطعة ومن هنا تعرف pic ان لوحة المفاتيح تريد خدمة تقوم ال pic (المقاطعات المبرمجة) بارسال مقاطعة ل cpu والذي بدوره يسئل من احدث هذه المقاطعة ما هو رقم المقاطعة بطريقة او باخرى فتقوم قطعة pic باعطائة الرقم
يقوم cpu بزيارة interrupt vector table ويضع الرقم الذي اراد المقاطعة فيجد انه لوحة المفاتيح.......
بعد ذلك يقوم cpu بخلق مقاطعة تسمى مقاطعة رقم 19 وهذه المقاطعة مسؤولة لمعرفة ماذا تريد لوحة المفاتيح ......
مقاطعة رقم 19 تعمل التالي : تذهب الى bios segment وتذهب بلاخص الى محل تخزين لوحة المفاتيح(اذ ان حرف A الذي كتبته يخزن هنالك) keyboard buffer
اذا كان المضغوط في لوحة المفاتيح هو crtl + alt +del حتى يعمل عملية restart اعادة التشغيل يجد انه لا ليس هو المضغوط
يذهب الى function key مثل مفتاح الشفت shift crtl alt capslock وهكذا (لكتابة حرف A اما نقوم بضغط shift a او بضغط مفتاح capslock) لنفترض
ان مفتاح shift هو المضغوط بالتالي
لكل حرف في الكمبيوتر يمثل بسبعة BIT(BIT اصغر وحده مساحة بالكمبيوتر
اذا كان اخر بت رقم سبعه مضاء يعني موضوع 1 هذا يعني انه هناك FUNCTION KEY مضغوط بالتالي يفحص ويجد انه SHIFT بالتالي يذهب مباشرة الى المكان الذي تخزن فيه احرف لوحة المفاتيح ويجد حرف a
فيجعله A .................
اما عملية الطباعة على الشاشة فانه عبر اوامر وهي مقاطعات تنفذ هذه الاوامر على كل الاحوال يوضع حرف A على موقع كرت الشاشة مباشرة في الذاكره
فيعرض بصورة سريعة.............
هذا ما يدور اذا اردت كتابة حرف A الف من العمليات من اجل حرف ولكن كل هذه العمليات لا تتعدى اجزاء من الثانية...........
2.ماذا يفعل نظام التشغيل اذا شغلت الجهاز:::!!!!
والذي بدوره يعمل على تعريف جميع الاجهزة المتوفرة ثم يقوم بتحميل command .com
ثم في خدمة المستخدم