System Call
الخميس-01-2008
حسننا ماهو system call
من قرأ المقال السابق بعنوان الكرنل سوف يعرف ما هو الكرنل
ولنكمل لنقول ان النظام ينقسم عموما الى حزئين kernelSpace & userSpace
KernelSpace هو الجزء الذى يمكننا ان نقول انه هو من يتعامل مع الهاردوير مباشرة اما userSpace فيشمل البرامج التى تعمل عليها وباختصار اى شئ اخر
لنقل ان هناك برنامج يريد ان يصل الى جزء ما من الهاردوير مثل قراءة ملف
طبعا هذا البرنامج موجود فى userSPace ولذلك لا يستطيع ان يصل الى الهارد ديسك مباشرة بل عليه ان يقوم بعمل SystemCall او TRAP حيث يخبر نظام التشغل انه يريد وكذا ويقوم البرنامج بتسليم الدفة لنظام التشغيل الذى بدوره يقوم بالتحول الى KernelSpace لإحضار المطلوب ثم العوده مره اخرى الى البرنامج
الموضوع له تفاصيل كثيره جدا قد اذكرها لاحقا
بعض انظمة التشغيل تقوم على تقسم الصلاحيات – صلاحيات الوصول وتنفيذ الاوامر – الى حلقات كلما دخل اكثر زادت الصلاحيات فمثلا : KernelSpace هى الحلقة الداخلية التى لها كل الصلاحيات لعمل كل شئ وأول من قام بهذا كان نظام MULTICES وهو ابو انظة التشغيل الموجوده كلها بلا استثناء
![]()
ونظام اخر يقوم بتقسمها الى طبقات واحدة فوق الاخرى بحث كل طبقة تخدم الطبقة التى تليها
ومن الجدير بالذكر ان نظام التشغيل يندوز يعمل بالكامل فى userSpace وهذا له مزايا وعيوب
ومن الجدير بالذكر ايضا ان نظام التشغيل ويتندوز يحتوى على العديد والعديد من SystemCall ولكن اغلبها من اجل GUI
—
كنت سمعت مصطلح التوازى parallel فمثلا يقول لك تشغيل البرامج بالتوازى مثل init-ng والبرمجة بالتوازى
فالحقيقة العلمليات فى الحاسوب لا تتم بالتوازى وانما تتم – كما يحدث فى احد انظة الاتصالات فى ما يسمى TimeDivisionMultipilxing – ان يتم تقسيم الوقت الى اجزاء وكل برنامج يحتل جزء من الوقت ويمكنه فى ذلك الوقت فعل ما يشاء وهذا الى ان تكتمل دورة البرامج ثم يبدأ دوره جديدة من الوقت يحتل فيها كل برنامج جزء من الوقت
–
صدرت كيدى 4 : لا تعليق
—–
الروابط
http://en.wikipedia.org/wiki/CPU_modes