الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]ما هو system call في الويندوز

مغلق
بدأه برق في 5 أغسطس 2006 · 11 رد · 11,388 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤال للويندوزيين

ما هي system call في الويندوز؟

أريد أن أعرف الدوال نفسها

هل تعتبرونها api

لأننا في اللينوكس يوجد لدينا نوعين من الدوال

library function وهي الدوال التي تعتمد على system call

و

system call

وهي الدوال الرئيسية للنظام

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#2

ألا يعرف أحدكم؟

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#3

الصراحه موضوع يستحق المناقشه .. ما هو ال system calls في الويندوز ..

أنا كنت أعتقد أن دوال ال API تمثل ال system calls في بيئة الويندوز .. و لكن ربما هناك رأي ثاني للأخوه .. أتمنى أن نجد مشاركه طيبه لهذا السؤال ..

#4

السلام عليكم ورحمة الله وبركاته

طال عمرك عرفلنا الـــSystem Calls

ونعرفلك Win32 API

ونشوف هل فيه تقارب

ببدا انا بالتعريف

API :Application Programming Interface

واجهات برمجة التظبيقات

عندما بدات مايكروسوفت بتطوير نظامها Windows كان من المفترض ان تتيح للمطورين الاستفادة من وظائف نظام التشغيل(طبعا بدون فتح المصدر)

ولاهمية الامر (لان Windows مجرد نظام تشغيل لا يوجد به اي انظمة تجارية) قررت ان تقوم بفكرة ذكية في رأيي انها هي العامل الرئيسي في انتشار نظامها

الا وهي Win32 API التي تتيح لك التعامل مع النظام والاستفادة من وظائفة كالعمليات (Process) ومسارات التنفيذ(Threading) والنوافذ والازرار و...

و... (اي شي يستطيع النظام ان يقوم به تقريبا)

ِماهي الــAPI

API

هي عبارة عن دوال تكون في ملفات (DLL) تستطيع عدة برامج استدعائها في نفس الوقت مثل (Shared Object) عندكم

على ما اعتقد

ايضا الدوال هذه مقسمة على ملفات الــ(DLL) كل على حسب وظيفته

مثلا : دوال Process ,Threading تجدها في Kernel32.dll

دوال النوافذ والازرار User32.dll

دوال الرسم GDI32.dll

والكثير الكثير غيرها

ملاحظة: اسدتعائها بالملفات التنفيذية (ُEXE)

انتظر ان تخبرنا التفاصيل عن System Calls

#5

السلام عليكم

بارك الله فيكم

أخalawashiz

ال system call هي الدوال الأساسية التي يعتمد عليها النظام ،والتي تكون نواة لبناء library function .

وعند استخدام ال library function فأنت تكون في user mode

أما عند استخدام system call فأنت تكون في kernnel mode ،أي أنك تتعامل مع الكرنل مباشرة

ولكن التعامل مع system call يحتاج لكفاءة عالية

فمثلا

توجد دالة في system call اسمها write ،هذه لها نفس عمل putc أو puts ،ولكن putc ستسهل عليك الكثير من العمل خصوصا تنظيم ال buffer حتى لا تكون هناك فراغات كثيرة غير مستفاد منها ،بالإضافة ،لكي لا يعمل المبرمج المبتدئ كوارث عند إنشاء برنامج

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#6

السلام عليكم

في ويندوزNT based يتم اسدتعاد النظام system call باستخدام المقاطعة int 2e

ولا تعتبر من دوال API لانها ليست لإستهلاك الشعب

انت تعلم نظام ويندوز ليس مفتوح مثل linux والمعلومات في هذا المجال شحيحة...

d4baa0.gif
#7

كما قال الأخ محمد..

إن كنت تريد معلومات في الموضوع حاول تبحث في google أكثر فالموضوع يدخل ضمن تفاصيل معقدة لذا فالمعلومات شحيحة ..

كبداية :

How Do Windows NT System Calls REALLY Work? by John Gulbrandsen

أيضاً أنصحك بقراءة

Inside Microsoft Windows 2000 by David Solomon & Mark Russinovich

الباب الثاني و الثالث ..(يفضل قراءة المرجع من بدايته )..

البعض يعتبر Native API هي المقابل لـ System calls في Unix .. البعض يطلق عليها system services .

أي function تستدعي "int 2e" مباشرة تعتبر System call مثلا الكثير من الدوال في ntdll.dll , gdi32.dll, user32.dll ...

لمعلومات أكثر عن الدوال في ntdll.dll راجع مقال الأخ أحمد غريب ...

ولمعلومات أكثر عن الدوال في gdi32.dll يمكنك مراجعة كتاب Feng Yuan ..

إن كنت فعلاً تريد التعمق في هذا الشئ فعليك قراءة الكثير من المراجع والمقالات فلن تجد المعلومة مباشرة ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#8

السلام عليكم

بارك الله فيكم

طيب ممكن تعطوني أسماء لمراجع ممكن تفيد في هذا الأمر

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#9

السلام عليكم

لم أفهم جيدا من المقال

لم يقل جديدا عما قاله chiper ،حيث أن int 2e تستخدم للتعامل مع kernel mode .

طيب وما هي الدوال نفسها للتعامل مع الكرنل

وأيضا توضيح للأخ محمد عبد العزيز ،

ال system call أمر معروف في بيئة اليونكس ،رغم أنه مغلق المصدر

أعني أن الأمر متاح

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#12

السلام عليكم ورحمة الله وبركاته

ال System calls تختلف عن ال API

ال API زي ما قال الأخ alawashiz عبارة عن دوال صممتها Microsoft عشان يقدر المبرمج يستخدم أدوات النظام

أما ال System calls فمفهومها أوسع شوية

ازاي؟؟

ندي مثال :

لو أنا عايز اطبع ورقة Printing .... ده عملية Output ... ايه اللي بيحصل ؟؟؟

بدي أمر الطباعة >> يتم استدعاء الدوال الجاهزة المغمورة في ال OS والمخصصة لعملية الطباعة >> يتم اعطائها ال Parameters الخاصة بها >> تحدث عملية الطباعة

وهكذا في كل عمليات ال Input وال Output مثلا

عملية استدعاء هذه الدوال هي عملية ال System call أي المناداة علي النظام عشان يعمل وظيفة محددة ال User programms العادية مينفعش تعملها إلا عن طريق النظام ...

طب ايه اهميتها ؟؟؟ إنها تحدد ال User وتعمل فرق واضح بين ال User mode وال Monitor mode

ال User mode مش مصرح له بكل حاجة ... لو احتاج أي عملية لازم يطلبها من ال System وال System يتحول لل Monitor mode وينفذ العملية وبعدين يرجع لل User mode تاني ...

Protection يعني

طب كده ايه الفرق بين ال API وال System calls ؟؟؟؟

الفرق هو إن ال API اقدر استدعيها واستخدمها كمبرمج في برنامجي إنما ال System calls اللي يستدعيه هو ال Monitor mode بتاع ال System بس

ارجو إن الشرح يكون واضح

ولو فيه أي تعليقات أو غلطات يا ريت توضحوا

Have fun ;) ;)

1

هذا الموضوع مغلق.

مواضيع مشابهة