نظام تشغيل: الفرق بين النسختين

[مراجعة غير مفحوصة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
تشغل فوري
وسوم: تعديلات طويلة تحرير من المحمول تعديل ويب محمول
صالح (نقاش | مساهمات)
ط استرجاع تعديلات 188.209.245.201 (نقاش) حتى آخر نسخة بواسطة Abu aamir
وسم: استرجاع
سطر 1:
{{أنظمة تشغيل}}
https://ar.m.wikipedia.org/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%AD%D8%AC%D9%85_%D8%A7%D9%84%D9%85%D9%82%D8%A7%D9%84%D8%A9#%D9%82%D8%B6%D8%A7%D9%8A%D8%A7_%D8%AA%D9%82%D9%86%D9%8A%D8%A9 {{أنظمة تشغيل}}
'''نظام التشغيل''' {{إنج|Operating System}}، اختصار ًااختصارًا {{إنج|OS}} هو مجموعة من البرمجيات المسؤولة عن إدارة الموارد ([[عتاد الحاسوب]])، و[[برمجية|برمجيات]] [[حاسوب|الحاسوب]]، ويمثل وسيط بين [[المستخدم]]، و[[عتاد الحاسوب]]، وبتعريف آخر يمثل نظام التشغيل جسر لتشغيل برامج المستخدم، ويقوم بالمهام الأساسية مثل: إدارة وتخصيص مصادر [[الحاسوب]] ([[الذاكرة]]، القرص الصلب، الوصول للأجهزة الملحقة إلخ...)، وترتيب أولوية التعامل مع الأوامر، والتحكم في أجهزة الإدخال، والإخراج مثل: [[لوحة المفاتيح]]، وكذلك لتسهيل التعامل مع الشبكات، وإدارة الملفات.<ref name=":0">{{مرجع ويب|المسار=http://news.netcraft.com/SSL-Survey/CMatch/osdv_all|العنوان=Operating System Share by Groups for Sites in All Locations January 2009|وصلة مكسورة=no|مسار الأرشيف=https://web.archive.org/web/20090706135203/http://news.netcraft.com/SSL-Survey/CMatch/osdv_all|تاريخ الأرشيف=6 July 2009|df=dmy-all}}</ref><ref>[http://www.islandnet.com/~kpolsson/compsoft/soft1998.htm "Chronology of Personal Computer Software"]{{webarchive|url=https://web.archive.org/web/20080514022217/http://www.islandnet.com/~kpolsson/compsoft/soft1998.htm |date=14 May 2008 }}. Retrieved on 2008-05-07. Last checked on 2009-03-30.</ref><ref>{{مرجع كتاب | الأخير = Stallings | العنوان = Operating Systems, Internals and Design Principles | الناشر = Prentice Hall | السنة = 2005 | المكان = Pearson |الصفحة=6}}</ref>
 
== مقدمة ==
سطر 25:
 
=== المتعدد المستخدمين المنفرد المهمة ===
يسمح هذا النظام لعدد من الأشخاص بتنفيذ كل منهم برنامجابرنامجاً ً واحدا ّواحداّ في الوقت نفسه. و يزود كل مستخدم بمحطة إدخال و إخراج تتصل مع الحاسوب المركزي و يسمى هذا التنظيم بنظام المشاركة الزمنية (Timesharing) وذلك لأن نظام التشغيل يأمر الحاسوب بالانتقال بسرعة كبيرة بين المستخدمين بعد إعطائهم فترات زمنية ثابته لاستخدام CPU وتسمى هذه الفترات بالشرائح الزمنية (Time Slices) وهي قصيرة جدا ًجداً (حوالي ألوف جزئية من الثانية) بحيث يتوهم كل مستخدم أنه يمتلك انتباه الحاسوب كلية ومن امثلته Windows NT.
 
=== المتعددة المستخدمين المتعددة المهام ===
هو عباره عن نظم التشغيل الحديثة حيث تتيح للمستخدم تشغيل عدة برامج حتى إن كان تعدد المعالجات (CPU) غير كافية لذلك. تقوم نظم التشغيل بتوزيع وقت المعالج بين هذه البرامج بحيث يأخذ كل برنامج وقت محدد من المعالج من ثم يقوم بإيقاف مؤقت للبرنامج وإعطاء برنامج اخر هذا الوقت. هذا يعني ان خلال اللحظة الواحدة برنامج واحد يعمل على المعالج ونظام التشغيل يقوم بالتغيير بسرعة كبيرة جدا ًجداً كأجزاء من الثانية. عملية توزيع وقت المعالج تسمى بالجدولة (scheduling) حيث يحتفظ نظام التشغيل بقائمة من البرامج التي قام المـُستخدمالمُستخدم بتشغيلها و تقوم عملية الجدولة بتوزيع وقت لكل برنامج موجود في هذه القائمةليستفيد من المـُعالجالمُعالج في هذا الوقت.
 
== حوسبة الزمن الحقيقي ==
سطر 37:
 
== الأنظمة المدمجة ==
تعني ارتباط شي بشيء آخر، وهذا النظام صمم خصيصـًاخصيصًا للقيام بمهمة محددة أو عدد من المهمات المحددة، أي أنه مصمم لأغراض محددة، وهو المتحكم أو المعالج القائم على النظام الذي تم تصميمه ليؤدي مهمة محددة أو عدة مهمات محددة.على سبيل المثال: إنذار الحريق هو نظام مدمج، والآلات الصناعية، والأجهزة الزراعية والمعدات الطبية والكاميرات والأجهزة المنزلية، فضلا ًفضلًا عن الأجهزة النقالة (المحمول)، وأيضـًاوأيضًا أجهزة الراوتر (Routers) وأمثلة على الأنظمة المدمجة في منتج أكبر وهو الحاسوب (Computer) الـDVD Player وكارت الـLAN.والأنظمة المدمجة بعضها يحتوي على واجهة مستخدم (UI) وآخر لا.. على سبيل المثال الأجهزة التي صممت لأداء مهمة واحدة لا تحتوي على واجهة مستخدم في كثير من الأحيان، والأخرى الأكثر تعقيد ًاتعقيدًا والتي صممت لأداء عدد أكبر من المهمات مثل الأجهزة النقالة (المحمول) صممت بواجهة مستخدم رسومية (GUI).يحتوي النظام المدمج على ثلاث مكونات اساسية هي الجزء المادي (Hardware) و تطبيقات برمجية (Application Software) و RTOS وهو اختصار لـ Real Time Operating system.
 
من مميزات هذا النظام:
سطر 58:
لدى الكثير من أنظمة التشغيل العديد من أنظمة الملفات التي يمكن استخدامها بشكل طبيعي، [[جنو/لينكس]] لديه أكبر تنوع من أنظمة الملفات هذه، وهي [[إكس تي 2]] ،[[إكس تي 3]] ،[[ريسير أف أس]] ،[[Reiser4]] ،[[GFS]] ،[[GFS2]] ،[[OCFS]] ،[[OCFS2]] ،[[NILFS]]. كما يدعم [[جنو/لينكس]] أيضا أنظمة ملفات [[إكس إف إس]] و[[جي أف أس]] بشكل كامل. مع دعم لنظام ملفات [[جدول توزيع الملف]] [[جدول توزيع الملف|FAT]] و[[إن تي إف إس]]. أما [[ويندوز]] فمحدود من ناحية دعمه لأنظمة الملفات حيث يدعم فقط: [[جدول توزيع الملف|FAT12]] و[[جدول توزيع الملف|FAT16]] و[[جدول توزيع الملف|FAT32]] و[[إن تي إف إس]].
 
بالنسبة لأغلب أنظمة الملفات التي ذكرناها هناك طريقتان لتخصيصها. فالنظام هو إما أن يكون [[نظام الملفات المزود بقيد حوادث]] (Journaling File System)،أي ْ،أيْ مزود بقيد للحوادث (journal) و إما غير مزود به. يعتبر النظام المزود بقيد الحوادث (Journaling File System) خيارا ً آمناخياراً ًآمناً في حالات تعافي النظام. لو حدث أن توقف النظام عن العمل فجأة (في حالة انقطاع الكهرباء مثلا) فإن نظام الملفات غير المزود بقيد للحوادث سيحتاج إلى نوع من الفحص في حين يحدث هذا تلقائيا في أنظمة الملفات المزودة بقيد الحوادث.
 
أنظمة ملفات ويندوز المزودة بقيد الحوادث هي NTFS فقط، في حين أن كل أنظمة ملفات لينكس هي مزودة بقيد الحوادث ما عدا ext2.
سطر 67:
أغلب أنظمة التشغيل الحديثة قادرة على استخدام [[بروتوكول الشبكات الافتراضية الوهمية الجذعي|بروتوكول الشبكات العالمي]] TCP/IP. مما يعنى أن أحد الأنظمة يمكن أن يظهر في شبكة نظام آخر، ويشاركه المصادر مثل الملفات، والطابعة، وماسح الصور.
 
الكثير من أنظمة التشغيل أيضا تدعم واحد أو أكثر من البروتوكولات التقليدية الخاصة بكل مصنـّع،مصنّع، مثل SNA في أنظمة [[آي‌ بي‌ إم]]، والبروتوكولات الخاصة بمايكروسوفت في ويندوز. هناك أيضا بروتوكولات خاصة بمهام معينة مثل [[NFS]] للوصول للملفات.
 
==== الحاسوب الشبكي ====
سطر 87:
<big>تمييز بين وضع النواة ووضع المستخدم كشكل أولي من نظام الحماية الأمن .</big>
 
يوفر وضع النواة ووضع المستخدم شكلاشكلاً ً أوليـًاأوليًا من الحماية يمكن تنفيذ التعليمات (التعليمات) فقط عندما تكون وحدة المعالجة المركزية في وضع النواة لا يمكن الوصول إلى الأجهزة إلا عند تنفيذ البرنامج في وضع النواة . يمكنك التحكم عند تمكين المقاطعات أو تعطيلها فقط عندما تكون وحدة المعالجة المركزية في وضع النواة .وحدة المعالجة المركزية لديها قدرة محدودة للغاية عند التنفيذ في وضع المستخدم.
 
=== واجهة المستخدم ===
سطر 124:
1 - يجب تمرير البيانات المهمة مثل كلمات المرور ومعلومات التحكم في الوصول التي يتطلبها أو يتم إنشاؤها بواسطة نظام التشغيل من خلال أو تخزينها في فتحات ذاكرة غير محمية ويمكن للمستخدمين غير المصرح لهم الوصول إليها.
 
2 - لا يمكن أبدا ًأبداً تحديث نظام التشغيل أو ترقيته ، حيث إنه غير قابل للتعديل أو يمكن الوصول إليه من قبل المستخدم أو نظام التشغيل نفسه.
 
=== مشغلات العتاد ===
سطر 137:
 
* تنظيم ملفات المستخدم على العديد من وسائط التخزين (Storage Media) [[قرص صلب|كالقرص الصلب]] والقرص المضغوط (CDROM). كما ويعتمد كل نظام تشغيل على نظام ملف(File System) خاص به، مثلا، تعتمد معظم أنظمة تشغيل [[مايكروسوفت]] [[ويندوز]] الجديدة على نظام [[إن تي إف إس|NTFS]].
* تنظيم البرامج المحمـَلةالمحمَلة على الحاسوب وقطع الأجهزة(Hardware) المتصلة به، كالشاشة و[[طابعة|الطابعة]] و[[لوحة المفاتيح]]...الخ
* معالجة أخطاء قطع الأجهزة والبرامج وتفادي خسارة المعلومات.
* المحافظة على سرية النظام وذلك لضمان عدم الوصول غير المسموح به للبيانات والبرمجيات.
سطر 143:
 
== التطبيقات ==
يجب أن يتضمن نظام التشغيل بعض التطبيقات مثل متصفحات الويب وبرامج البريد الالكتروني ،حيث يمكن أن يوفر اقتران متصفح الويب (أو أي تطبيق آخر) مع نظام التشغيل مزايا أداء معين ، على سبيل المثال لان متصفح الانترنت (Internet Explore) مقترنا ًمقترناً بنظام التشغيل (Windows) ، فإنه يتم تخزينها مؤقتـًامؤقتًا بينما يقوم Windows بالتمهيد لأعلى مما يجعل تحميل البرنامج أسرع ، وهذا يعارض FireFox والذي لا يتم تخزينه مؤقتـًامؤقتًا (بشكل افتراضي) بواسطة Linux ، ولذلك يتم تحميله ببطء في كل مرة يتم فيها استدعاؤه ، ولكن يجب أن تكون محدودة الحجم ؛ لكي لا تأثر على سرعة النظام.
 
== استدعاء نظام التشغيل ==
يوفر نظام التشغيل عددا ًعدداً من الخدمات ، في المستوى الأدنى  يسمح استدعاء  النظام (System Call)  للبرنامج الحالي بإرسال طلب للنظام التشغيل مباشرة ، وفي المستوى الأعلى يقوم مترجم الأوامر (Command Interpreter) أو Shell  بتوفير آلية طلب نظام التشغيل للمستخدم من دون كتابة البرنامج ، من الممكن أن تأتي الأوامر من خلال الملفات عن طريق  (Batch-Mode Executio) أو مباشرة من خلال واجهة النصوص أو واجهة المستخدم الرسومية عندما تكون في الوضع التفاعلي (Interactive) أو الوضع المشترك ( Time-Shared Mode)  . يقوم نظام البرامج في تلبية العديد من طلبات المستخدم الشائعة .
 
تعتمد أنواع الطلبات على المستويات ، يجب على مستوى استدعاء النظام أن يوفر الوظائف الأساسية مثل التحكم في العمليات و الملفات و معالجة الجهاز ، فيما أن طلبات المستوى الأعلى مثل مترجم الأوامر (Command Interpreter)  و برامج النظام تترجم إلى سلسلة من استدعاءات النظام .
سطر 152:
 
== تصميم نظام التشغيل ==
إن تصميم نظام تشغيل جديد هو مهمة أساسية. ومن المهم أيضا ًأيضاً أن تكون أهداف النظام معر ّفهمعرّفه بشكل جيد قبل البدأ بالتصميم. إن نوع النظام المرغوب هو الأساس للخيارات ضمن الخوارزميات والاستراتيجيات المختلفة التي ستكون مطلوبه.
 
تصميم نظام التشغيل هي المهمة الرئيسية عند إنشاء نظام تشغيل جديد ، ولتصميم نظام تشغيل ناجح يجب أن تكون الأهداف واضحة قبل البدأ بالتصميم ، فإن نوع النظام المطلوب هو الأساس في اتخيار الخوارزميات و الاستراتيجيات المطلوبة .
 
على مدار فترة التصميم يجب أن نكون حريصين ان نفصل القرارات الأمنية من تفاصيل التنفيذ (Mechanisms)مما يسمح هذا الفصل بتوفير المرونة إذا تغيرت القرارات الأمنية لاحقا ًلاحقاً  . في الوقت الحالي يجب على نظام التشغيل أن يكون مكتوب بلغة تنفيذ الأنظمة (Systems-Implementation Language)أو لغة عالية المتسوى  (Higher-Level Language)، هذه الميزة تسمح بتحسين الإنجاز ، التعديل و قابلية التنقل .
<references group="Operating System Concepts Ninth Edition" responsive="" />
 
سطر 173:
<nowiki>*</nowiki> Hardware
 
تدعم أنظمة التشغيل الآن الوحدات المحملة ديناميكيـًاديناميكيًا أثناء التنفيذ و هو آلية يمكن من خلالها لبرنامج الكمبيوتر ، في وقت التشغيل ، تحميل واسترداد عناوين الوظائف والمتغيرات الموجودة ، وتنفيذ تلك الوظائف أو الوصول إلى تلك المتغيرات . و هيكل نظام التشغيل ينقسم إلى أجزاء مستقلة حيث لها ميزات فردية بسيطة ، ويمكن الحفاظ على التصميم وبتالي يمكن التحكم فيه. يمكن أن يؤثر هيكل نظام التشغيل على الميزات الأساسية مثل المتانة أو الكفاءة.
 
== معالجة النظام ==
عند حدوث خطأ في النواة تعمل النواة (Kernel) وعملية المعالجة معا ًمعاً. ويتم استخدام أدوات المعالجة وأدوات أخرى لحل هذا الخطأ مثل أداة (DTrace): تقوم هذه الأداة بالكشف عن المأزق أو الخطأ الموجود و فهم سلوك النظام الآخر.
 
ولبدء نظام التشغيل في الحاسب آلي يجب على وحدة المعالجة المركزية تهيئة و بدء تنفيذ التمهيد (Bootstrap) , والتمهيد يستطيع تنفيذ نظام التشغيل مباشرة إذا كان نظام التشغيل في البرامج الثابتة أو يكمل عملية تحميل البرنامج الأكثر ذكاء ًذكاءً من البرامج الثابتة حتى يتم تحميل نظام التشغيل نفسه في الذاكرة ويتم تنفيذه.
 
== المقاطعة ضد الفخ ==
سطر 208:
* صعوبة الاستخدام: بعض المصادرالمفتوحة قد تكون صعبة الإنشاء والاستخدام. والأخرى قد لا تمتلك واجهة (Interface )سهلة التعامل.
* مشكلات التوافق: تحتاج العديد من أنواع الأجهزة إلى برامج تشغيل متخصصة لتشغيل برامج مفتوحة المصدر، والتي لا تتوفر في الغالب إلا من قبل الشركة المصنعة للمعدات. هذا يمكن أن يضيف إلى تكلفة مشروعك. حتى إذا كان هناك برنامج تشغيل مفتوحة المصدر، فقد لا يعمل مع برنامجك.
* الخصوم والضمانات: عادة ًعادةً ما يحتوي ترخيص برنامج المصدر المفتوح العادي على ضمان محدود فقط دون أي التزامات.
* تكاليف المخفية: البرمجيات قد تكون مجانية في البداية ولكن في وقت لاحق تكلف أموالا للتشغيل يمكن أن تشكل عبئا كبيرا، خاصة إذا لم تكن قد أخذت في الاعتبار هذه التكاليف الخفية منذ البداية.
 
سطر 225:
 
== <small>الفرق بين الأنظمة المجمعة و متعدد المعالجات</small> ==
يتم عادة ًعادةً إنشاء الأنظمة المجمعة عن طريق ضم أجهزة كمبيوتر متعددة في نظام واحد لإجراء مهمة حسابية موزعة عبر النظام المجمع. من ناحية أخرى ، يمكن أن تكون أنظمة المعالجات المتعدد يشتمل على وحدات معالجة مركزية متعددة. الأنظمة المجمعة أقل إحكامـًاإحكامًا من نظام متعدد المعالجات. تتواصل الأنظمة المجمعة باستخدام الرسائل ، في حين أن المعالجات في نظام متعدد المعالجات يمكن أن تتصل باستخدام الذاكرة المشتركة و كل معالج لديه ذاكرة التخزين المؤقت الخاصة به.
 
== <small>ما المطلوب لجهازين تابعين للأنظمة المجمعة لتوفير خدمة عالية التوفر ؟</small> ==
سطر 236:
 
== <small>العقبات الاقتصادية للذاكرة المخبئية</small> ==
الذاكرة المخبئية هي ذاكرة ذات كلفة عالية، فسيكون من الصعب ومن المكلف جدا ًجداً تجهيز حاسوب مع هذا النوع من الذواكر. فسيكون إنشاء ذاكرة تخزين مؤقت (ذاكرة مخبئية)كبيرة مثل القرص غير فعال لأنه سيكون مكلف للغاية ، فإن الحجم الهائل سيبطئ من عمل الذاكرة.
 
== <small>المعالجة المتعددة</small> ==
سطر 261:
٢. وضع المستخدم.
 
دعمت بعض وحدات المعالجة المركزية* أساليب متعددة * للتشغيل من خلال توفير اختلافات مختلفة في وضع النواة ووضع المستخدم بشكل منفصل ، بدلا ًبدلاً من التمييز بين وضع النواة ووضع المستخدم فقط.
 
١. تتمثل إحدى الاحتمالات في تقديم اختلافات مختلفة في شفرة النواة. على سبيل المثال ، يسمح رمز معين لأجهزة USB أن تسمح لأجهزة USB بتشغيل برنامج التشغيل. وهذا يعني أنه يمكن صيانة أجهزة USB دون الحاجة إلى التبديل إلى وضع النواة ، وذلك من خلال السماح بشكل أساسي بتشغيل برامج تشغيل USB في وضع شبه مستخدم / النواة.
سطر 305:
 
== واجهة سطر الاوامر ==
واجه سطر الاوامر والمعروفة باسم (Command Line Interface “CLI ”) او مترجم الاوامر وهي التي تسمح للمستخدم بإدخال الأوامر مباشرة ليتم تنفيذها بواسطة نظام تشغيل، وفي بعض الأحيان يتم تطبيق واجه سطر الاوامر في النواه (Kernal)، واحيانـًاواحيانًا بواسطة برمجيات النظام.
 
عادة ما يكون مترجم الأوامر منفصلا ًمنفصلاً عن النواه (Kernel)لأن النواه هو مركز نظام التشغيل الذي يدير كل شيء في نظام التشغيل، يقرأ مترجم الأوامر الأوامر من المستخدم أو من ملف الأوامر وينفذها، عادة ًعادةً عن طريق تحويلها إلى واحد أو أكثر من استدعاء النظام(system calls)، أي ان واجه سطر الاوامر (CLI) عادة لا تكون جزء ًاجزءًا من النواه (Kernel); لأن مترجم الأوامر يخضع للتغييرات. وبما ان واجه سطر الاوامر او مترجم الاوامر هو وحدة المستخدم ليس وحده النواه (Kernel) ولذلك فان واجه سطر الاوامر منفصله عن النواه (Kernel).
 
== لماذا نحتاج إلى وحدات التخزين ( الأقراص الصلبة ) ؟ ==
سطر 383:
 
== المهام رئيسية لإدارة الذاكره: ==
أولا ًأولاً " تخصيص الذاكرة":هي عملية تتم بواسطة الكمبيوتر
 
يتم تخصيص الذاكرة "المساحة "في ثلاثة أنواع:
سطر 393:
3 "الأسوأ": ثقب أكبر وهو كبير بما فيه الكفاية لتخصيص البرامج.
 
ثانيا ًثانياً: "تحديد أي عملية يتم تحميلها":
 
في تخصيص الذاكرة المتجاورة كل عملية واردة في كتلة واحدة متجاورة من الذاكرة.تنقسم الذاكرة إلى عدة أقسام ذات حجم ثابت.كل قسم يحتوي على عملية واحدة بالضبط. متى ما كان المكان فارغ.
 
ثالثا ًثالثاً: "تتبع جزء ٌجزءٌ من الذاكرة":
 
تعمل وظيفة "تتبع الذاكرة" على تتبعحالة كل موقع في الذاكرة، إما مستخدم واما فارغ. يحددها بواسطة عمليات متنافسة.يحدد ايضا اي عملية تحصل على الذاكرة ومتى تتلقها وكم مسموح لها ان تأخذ.