الخميس، 21 أغسطس 2014

3- نظام التشغيل (Linux) - مميزات النظام

بسم الله الرحمن الرحيم

الدرس الثالث - مميزات النظام System characteristic


مميزات النظام: System characteristic
(Linux) اتهم بأنه: "مجرد نظام تشغيل آخر يظهر على السطح" وهذا ما يبدو ظاهراً غير أن الحقيقة ليست كذلك فالنظرة الأعمق تثبت أن (Linux) عبارة عن سفينة قائدة تقود التطور الحالي نحو المصادر المفتوحة والمجانية لأنه قدم نظام تشغيل صلب جدا ويعتمد على نموذج ممتاز وواضح في تطويره, والعديد من الشركات مثل أي بي ام, هيولت باكارد, موتورولا وإنتل قرروا بان (Linux) يزود قيمة لزبائنهم (فضلا عن عملياتهم الخاصة) وهي تتبنى وتروج له والشركة الوحيدة التي تشجب (Linux) علناً هي مايكرو سوفت التي تخاف من أن (Linux) يشكل تهديداً على احتكارها على أنظمة تشغيل الحواسيب الشخصية. هنالك امتيازان رئيسان لـ (Linux) عن بقية أنظمة التشغيل وهما :
  1. (Linux) مرخص بشكل استثنائي تحت الرخصة العمومية العامة لجنو (GNU GPL).
  2. (Linux) تجري صيانتهُ عن طريق فريق عالمي من المبرمجين المتطوعين ويعملون سوية عن طريق الانترنيت.

يتمتع نظام التشغيل (Linux) بالخصائص الآتية:
  • متعدد المستخدمين (Multi user): أكثر من مستخدم واحد يستطيعون الدخول إلى نفس الحاسوب في وقت واحد.
  • متعدد المهام(Multi task): تعدد مهام وإمكانية المقاطعة مكنت نواة نظام التشغيل أن تُدير وبكفاءة عدة برامج تعمل في الوقت نفسه, وعلى الحاسوب نفسه.
  • متعدد اُطر العمل (Multi platform): نظام التشغيل (Linux) حاليا يعمل على أكثر من 24 إطار عمل (نوع من الماديات) تشمل حواسيب (Intel-based)، (Digital/Compaq Alpha), (Power PC-based), (Apple), (Sun SPARC) و (Strong ARM-bused).
  • قابلية التشغيل المتبادل (Interoperable): يتعامل نظام التشغيل (Linux) جيداً مع معظم بروتوكولات الشبكات واللغات ونظم التشغيل ويسمح بالتعامل مع حواسيب ومستخدمين يعملون على (Windows) أو (UNIX) أو ماكنتوش.
  • قابلية التوسع (Scalability): لتطوير نظام الحاسوب فان نظام التشغيل (Linux) يتطور أيضا فالنظام نفسه الذي ممكن أن يشغل على الحاسوب الشخصي ممكن أن يشغل على نظام مزود قوي مستخدم في الصناعة.
  • قابلية النقل (Portability): (Linux) كُتب بلغة C, ولغة C طورت تحديداً لكتابة برمجيات على مستوى نظام التشغيل وممكن أن تترجم برمجياتها على حواسيب أخرى بماديات مختلفة.
  • المرونة (Flexibility): من الممكن تشكيل نظام (Linux) كطرفية في الشبكة أو كموجه أو كطرفية رسومية أو حاسوب مكتبية أو حاسوب منزلية أو سيرفر أو مزود خدمة ويب أو أي نظام حسب الحاجة.
  • الاستقرارية (Stability): نواة (Linux) صممت على مستوى من النضج بحيث أمكن أن (Linux Server) يعمل لعدة سنوات دون أن يتحطم.
  • الكفاءة (Efficiently): التصميم المعياري لـ(Linux) يمكن من تضمين المكونات التي يُحتاج إليها فقط لتشغيل الخدمات المطلوبة, حتى حواسيب الـ(Pentium) القديمة ممكن أن تستعمل (Linux) وتصبح مفيدة مرة أخرى.
  • الحرية (Free): إن الميزة الأكثر إثارة في نظام (Linux) هي انه مجاني ومتوفر في اغلب الأحيان.


الأربعاء، 20 أغسطس 2014

2- نظام التشغيل (Linux) - مشروع جنو، موسسة البرامج المفتوحة، نشأة لينكس

بسم الله الرحمن الرحيم

الدرس الثاني - مشروع جنو، موسسة البرامج المفتوحة، نشأة لينكس
مشروع جنو : GNU project
ولد مشروع جنو في عام 1983 كوسيلة لإعادة روح التعاون التي سادت في مجتمعات الحوسبة في الأيام السابقة لجعل التعاون ممكنا مرة أخرى عن طريق إزالة العقبات التي تعترض طريق التعاون التي يفرضها ملاك البرمجيات المملوكة. حيث تم الاستعانة بفكرة البرمجيات الحرة وتطويرها وإطلاق حركة المصادر الحرة لإعطاء فرصة للمستخدمين بإعادة توزيع البرمجيات والتعديل فيها.
والبرمجيات الحرة تعني أن للمستخدم الحريات الثلاث وهي:
  1. حرية استخدام البرنامج.
  2. حرية دراسة المصدر البرمجي لتلك البرامج ,وحرية التعديل بها حتى يقوم البرنامج بالعمل حسب الرغبة.
  3. حرية توزيع نسخ متطابقة للبرمجيات للآخرين.
مؤسسة البرامج المفتوحة: Free Software Foundation
يعتبر ريتشارد ستولمن احد الأشخاص الغاضبين من تصرف شركة بل فقرر أن يبدأ مشروع كتابة نظام تشغيل جديد مشابه لـ (UNIX) عام 1984 بشرط أساسي وهو أن تكون الشفرة تكون مفتوحة المصدر (open source code). بحيث يستطيع أي شخص أن يدرس البرنامج ويعدل فيه. بل ويستطيع أن يبيع البرنامج بأي سعر شرط أن يسمح للآخرين بان يطلعوا على هذه التعديلات.
هذه المجموعة حصلت على دعم كثير من الناس, وبدأوا في كتابة نظام تشغيل جديد (Gnu's Not UNIX) واختصارا (GNU)، نظام التشغيل ليس عبارة عن برنامج واحد بل مكون من العديد من البرامج, في أي نظام تشغيل أهم برنامج هو النواة (KERNL) سواء كان (Linux), (Windows), أو غيره النواة تتعامل مع الذاكرة ووحدة المعالجة المركزية والقرص الصلب والخ.
فالنواة هي برنامج كتب بلغة C والكمبيوتر يفهم فقط لغة الآلة, فلا بد من وجود برنامج يترجم النواة إلى لغة الآلة, واسم هذا البرنامج (Compiler)، والنواة برنامج ضخم ويجب أن يقسم إلى أجزاء صغيرة بحيث يمكن تطوير كل جزء بسهولة. ومن ثم يجب أن تجمع هذه الأجزاء مع بعضها للتنفيذ، والبرنامج الذي يعمل كل ذلك هو(Assembler). أثناء تطوير النواة سيكون هنالك قسما من الشفرة التي يكون استخدامها ضرورياً في أماكن متعددة داخل النواة, وبدلا من أن تكتب الشفرة نفسها مرات كثيرة, تكتب مرة واحدة وإذا ما وجدت الحاجة إلى استخدام الشفرة نفسها مرة أخرى يضاف مؤشر إليها فقط، والشفرة التي تستخدم بكثرة وتوضع في مكان واحد تسمى مكتبات (Library). وأدرك أفراد هذه المجموعة (Free software foundation) أنهم قبل أن يشرعوا في كتابة النواة يجب أن يكتبوا المترجم والمجمع والمكتبات وأشياء أخرى. واستغرقت كتابة هذه البرامج بضع سنين. وعندما بدأوا في كتابة برنامج النواة الذي أسموه هرد (hurd), واجهوا صعوبات وطال الأمر معهم الى عام 1991.



نشأة لينكس : Linux early life
بدا ليونس تروفالدوز وهو طالب في جامعة هيلسنكي بكتابة نظام تشغيل. ليس لرغبته في إعطاء العالم نظام تشغيل من الدرجة الأولى, وإنما لرغبته في كتابة نظام يعمل على معالجات إنتل 386، وبدا بعمل استغرق منه تحمل أفضل أجزاء السنة في غرفة مظلمة لينتج لنا نواة نظام تشغيل مرخص برخصة(GPL).
وبهذا أنتجت (GNU) مجموعة البرمجيات والمترجمات وأدوات نظام التشغيل وأنتج ليونس تروفالدوز نواة نظام التشغيل.


الثلاثاء، 19 أغسطس 2014

1- نظام التشغيل (Linux) - تاريخ (Linux)

بسم الله الرحمن الرحيم

الدرس الاول - نظام التشغيل (Linux)



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

تاريخ (Linux)
(Linux) يشبه أو يوافق في عمله العديد من أنظمة (UNIX) الأخرى, والحقيقة أن مسألة التوافق بينهما تعتبر من الأهداف الرئيسية التي أخذت بنظر الاعتبار أثناء تصميم (Linux) لذلك لا يمكن الحديث عن ما هو (Linux) من دون إعطاء نبذة بسيطة عن(UNIX).

نظرة تاريخية مختصرة عن (UNIX):       
(UNIX) هو أول نظام تشغيل تم تصميمه أساساً لدعم الشبكات وتعدد المهام وتعدد المستخدمين, وقد تم تطويره في مختبرات شركة بيل (والتي أصبحت فيما بعد AT&T) وكان فريق العمل في مختبرات بيل يحوي عدة أسماء أبرزهم كين ثومسن ,دينيس ريتشي, براين كيرنيفان، وقد تم استخدام لغة الآلة في كتابة النظام وكان بطيئاً نسبياَ ومكلفاً إلى أن تم اختراع لغة C من قبل ريتشي و كيرنيفان فتم إعادة كتابة نظام التشغيل (UNIX) بلغة C وبأسلوب أكثر قابلية للتوسع والنقل على أجهزة مختلفة كما أصبح أكثر سرعة وأصبح (UNIX) أكثر شيوعا حيث قامت مختبرات بيل بتوزيع الـ( (UNIXعلى الجامعات وأصبح هنالك الآلاف من الطلاب الذين يجيدون استخدام لغة C ونظام (UNIX) وتم إدخال العديد من التحسينات والتعديلات من قبل عدد كبير من الأفراد والمعاهد والمؤسسات وبهذا تحسن (UNIX) بعدة أمور مهمة وأنتج لنا نظاماً أكثر وظائفية, ووفر تطبيقات عدة وأدوات وغيرها من البرمجيات.
بدأت شركة بيل بمطالبة الجميع بدفع الأموال نظير استخدامهم نظام (UNIX) وتعديل شفرته وهذا أدى إلى ولادة مشروع جنو.