السلام عليكم
سؤال للويندوزيين
ما هي system call في الويندوز؟
أريد أن أعرف الدوال نفسها
هل تعتبرونها api
لأننا في اللينوكس يوجد لدينا نوعين من الدوال
library function وهي الدوال التي تعتمد على system call
و
system call
وهي الدوال الرئيسية للنظام
السلام عليكم
سؤال للويندوزيين
ما هي system call في الويندوز؟
أريد أن أعرف الدوال نفسها
هل تعتبرونها api
لأننا في اللينوكس يوجد لدينا نوعين من الدوال
library function وهي الدوال التي تعتمد على system call
و
system call
وهي الدوال الرئيسية للنظام
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
ألا يعرف أحدكم؟
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
الصراحه موضوع يستحق المناقشه .. ما هو ال system calls في الويندوز ..
أنا كنت أعتقد أن دوال ال API تمثل ال system calls في بيئة الويندوز .. و لكن ربما هناك رأي ثاني للأخوه .. أتمنى أن نجد مشاركه طيبه لهذا السؤال ..
السلام عليكم ورحمة الله وبركاته
طال عمرك عرفلنا الـــ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
السلام عليكم
بارك الله فيكم
أخ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
السلام عليكم
في ويندوزNT based يتم اسدتعاد النظام system call باستخدام المقاطعة int 2e
ولا تعتبر من دوال API لانها ليست لإستهلاك الشعب
انت تعلم نظام ويندوز ليس مفتوح مثل linux والمعلومات في هذا المجال شحيحة...
كما قال الأخ محمد..
إن كنت تريد معلومات في الموضوع حاول تبحث في 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
===
اقتباسعبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــمو تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم
ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم
أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟
ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا
البردوني "نحن و الحاكمون "
السلام عليكم
بارك الله فيكم
طيب ممكن تعطوني أسماء لمراجع ممكن تفيد في هذا الأمر
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
السلام عليكم
لم أفهم جيدا من المقال
لم يقل جديدا عما قاله chiper ،حيث أن int 2e تستخدم للتعامل مع kernel mode .
طيب وما هي الدوال نفسها للتعامل مع الكرنل
وأيضا توضيح للأخ محمد عبد العزيز ،
ال system call أمر معروف في بيئة اليونكس ،رغم أنه مغلق المصدر
أعني أن الأمر متاح
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
السلام عليكم ورحمة الله وبركاته
ال 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 ;) ;)
هذا الموضوع مغلق.