اذهب إلى المحتوى

السؤال

نشر

السلام عليكم،

من فضلكم لا أريد ردود ذكاء إصطناعي,

أنا كمبرمج أكتب الأوامر البرمجية لمن لنظام التغشيل ثم هو يوصل الأوامر إلى الهاردوير أو أن المفسر يوصل الأوامر البرمجية إلى الهاردوير مباشرة 

ماهي أهمية نظام التشغيل في عملية برمجة و تطوير التطبيقات ثم لماذا هناك تطبيقات لا تعمل على أنظمة تشغيل و تعمل على أنظمة أخرى أعني أن جميع المعالجات تفهم لغة الألة . أريد الإجابة باستفاضة في هذه النقطة بالذات

Recommended Posts

  • 0
نشر

تخيل نظام التشغيل كمدير منزل ذكي، وأنّ المبرمجون هم السكّان ويُحددون المهام التي يريدون تنفيذها في المنزل (كتابة التطبيقات).

ونظام التشغيل هو مدير المنزل يُنظّم عمل السكّان ويُتيح لهم أدواتهم ويُدير الموارد بكفاءة (إدارة الموارد وتوفير الخدمات الأساسية).

الأجهزة هي أجزاء المنزل، مثل الأبواب والنوافذ والأضواء (المكونات المادية).

لغة الآلة هي لغة التواصل الأساسية التي يفهمها جميع السكّان والأجهزة (لغة الآلة).

لكن كل منزل فريد تصميم مختلف، وتختلف بعض أنظمة التشغيل في بنيتها الأساسية، وبالتالي تختلف واجهات برمجة التطبيقات API في كل نظام، ولا تكون كل المكتبات متوفرة على جميع أنظمة التشغيل.

لذلك، لا تناسب تعليمات السكّان جميع المنازل.

فالتطبيق المُصمم لمنزل معين لا يعمل في منزل آخر، مثل تطبيق مُصمم لنظام أندرويد لا يعمل على نظام iOS.

ويجب على السكّان تعديل تعليماتهم ليناسب كل منزل، مثل إعادة كتابة التطبيق ليعمل على نظام مختلف.

والفكرة هي في معمارية المعالج نفسه، وطريقة ترجمة الأوامر للغة الآلة في كل نظام.

  • 0
نشر

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

الامر بسيط ان شاء الله . ان نظام التشغيل هو المتحكم الرئيسى لديك فى الجهاز وهو ما يقوم بربط الهاردوير بالسوفتوير وينظم طريقة عملهم و التاكد من عدم حدوث اخطاء منهم او اى تداخل بينهم . وهو يوفر لك واجهات برمجية API للتحكم فى الاوامر و تنفيذ المعلومات .

وبالفعل كما تقول فان جيمع المعالجات تفهم لغة الاله ولكن المشكلة ليست هنا .

لنفرض مثلا ان لدينا شركة معينه . وهناك اكثر من مدير  لهذه الشركة وجميعم يتحدثون لغه واحده والموظفين ايضا يتحدثون نفس اللغه .

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

ونظام التشغيل فى المثال السابق هو المدير فكل نظام تشغيل يتميز عن الاخر فى شئ او يتعامل مع اشياء واخرى لا او اسرع من الاخر وهكذا .

وبما ان كل نظام تشغيل (مدير) لديه طريقة عمل خاصة اذا يجب على من يعمل معه ان يتفهم هذا النظام ويسير عليه . وهكذا فان البرامج والسوفتوير يجب ان تستعمل ال API (النظام) الخاص الذى يوفره نظام التشغيل (المدير) . ولهذا فاذا جئنا ببرنامج مثلا يعمل على نظام Mac اذا فان هذا البرنامج يسير على النظم التى يطلبها المدير Mac واذا حاولنا تشغيل هذا البرنامج على windows مثلا فلن يعمل لان النظام الذى يسير عليه لا يتناسب مع النظام الخاص ب windows .

  • 0
نشر

وعليكم السلام،

عندما نقول أنّ هناك لغة آلة يتم ترجمة البرامج إليها ثم يتم تشغيل البرامج مباشرة من طرف الحاسوب، فهذه الفكرة المبسطة جدا والمختصرة اختصارا مخلّا فادحا، لكن الأمر لا يتم بهذه البساطة في الحقيقة.

في الواقع، عند اختراع الحواسيب الأولى، في سنوات الأربعينات والخمسينات من القرن الماضي، والتي كان حجمها يملأ غرفة كاملة و وزنها بالقناطير، كانت بالفعل لا تملك أنظمة تشغيل! ولكن مشكلة هذه الحواسيب هي أنّها كانت بسيطة جدّا: يعمل عليها برنامج واحد فقط، ويظهر نتائجه عبر شاشة بسيطة لا تتمكن سوى من إظهار قدر قليل من النص. يمكنك أن تتخيّل أن هذه الحواسيب كانت مثل آلة حاسبة، لكنّها كانت قابلة للبرمجة!

كما ترى، حواسيب مثل هذه لا تصلح لشيء في وقتنا. ماذا نفعل بحاسوب يستطيع تشغيل برنامج واحد فقط، ولا يستطيع عرض سوى نص قليل مثل آلة حاسبة؟ لذلك تمّ تطوير الحواسيب حتى تستطيع تشغيل عدّة برامج، توفّر دخولا لعدّة مستخدمين، تعطي إدارة للذاكرة الحية، للقرص الصلب، للشبكة، للبطارية .... ولكثير من الأمور الأخرى. لكن انتظر، كيف يستطيع الحاسوب فعل كلّ هذا؟ هل ستكتب له برنامجا يعلّمه كيف يقوم بذلك؟ لا أعتقد أنّك تريد فعل هذا من برنامجك، وحتى لو أردت فلن تستطيع، فهذا يتطلّب سنوات من العمل وفريق عمل ضخم حتّى تستطيع إنشاء برنامج يمكنه إدارة موارد الحاسوب بطريقة فعّالة هكذا. لحسن الحظ، ليس عليك كتابة برنامج كهذا، لأنّ هذا النوع من البرامج موجود بالفعل، وهو يسمى: نظام التشغيل!

إذن نظام التشغيل ما هو إلّا برنامج كبير يقوم بتنظيم عمل البرامج الأخرى. في الواقع، الآلة لا تستطيع التعامل إلّا مع برنامج واحد، وهذا البرنامج في الحواسيب الحديثة هو نظام التشغيل الذي يقوم بدوره بتشغيل بقية البرامج.

لذلك، فعندما نقول أنّ البرنامج تمّت ترجمته إلى لغة الآلة، فهذا يكافئ أن نقول أنّ هذا النص مكتوب بالحروف العربية، لكن هل كلّ نصّ مكتوب بالحروف العربيّة تستطيع فهمه إذا كنت تتحدّث باللغة العربية؟ بالطبع لا! فربّما هو باللغة الفارسية أو الأوردو أو بالعثمانية أو أيّة لغة أخرى تستخدم الحروف العربيّة. لذلك، فلغة الآلة تعني الحروف المستخدمة، بينما تفسير الحروف إلى معاني هو وظيفة نظام التشغيل.

هذا بالنسبة للغات المترجمة، أمّا اللغات المفسّرة فلا يتم أصلا ترجمتها إلى لغة الآلة، بل يتم تشغيلها مباشرة من طرف المفسّر، والمفسّر هنا أيضا يعتمد على نظام التشغيل لكي يستطيع العمل وتشغيل برنامجك الذي تكتبه من خلاله.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...