! ஜ .¸¸ ﬗm منتديات بريق الماسmﬗ ¸¸. ஜ
₪Ξ_‗ـ▫️♫‗=¨‾ا تشرفنا زيارتكم لمنتديات بريق الماس ‾¨=‗♫▫️ـ‗_Ξ₪


مرحبا بكم نتمنى ان تقضوا اوقات ممتعة

اذا كنت تريد الانمام الى أسرة بريق الماس الرجاء التوجه الى التسجيل وشكرا


000000000للأبداع عنوان 00000000000
 
الرئيسيةاليوميةس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 من أخبار البرامج

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
بنوته 2009



عدد المساهمات : 16
نقاط : 6078
السٌّمعَة : 3
تاريخ التسجيل : 18/07/2009

مُساهمةموضوع: من أخبار البرامج   السبت يوليو 18, 2009 5:00 pm

Linux )·._.·°¯)


نظرة عامة لنظام التشغيل الينكس



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

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

نفس الفكرة حين أتكلم عن برنامج ( Software ) ، فمثلا المستخدم العادي ما الذي يهمه في البرنامج؟ التصميم ، سهولة التحميل والإعداد ، سهولة الإستعمال ، الإستقرار (Stability) ، الخدمات اللي يقدمها لهذا المستخدم وممكن يستفيد منها. وبالتالي عندما نأتي لشرح هذا البرنامج للمستخدم سوف نستخدم النقاط التي ذكرتها أعلاه في الشرح وبالتالي المستخدم يقرر كيف يستخدمه وهل يحتاجه أو لا.

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

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

هذا النظام والتقنية التي يتعامل بها هذا النظام لكي يصبح قادر لتنفيذ أغراضي واحتياجاتي.

كلنا نعرف نظام التشغيل (ويندوز Windows) ومن قديم الأجل وهو أكثر شي نألفه في الكمبيوتر لدرجة أننا نادراً ما نتعرض لغير هذا النظام .

ولكن نحن ماذا نعرف عن الويندوز؟ لا نعرف الا جزء قليل جداً جداً، وما وراء هذا النظام حاجات مجهولة كثيرة. وهذا هو أكثر شي نجحت فيه شركة مايكروسوفت أنها اخفت كل التفاصيل عن المستخدم العادي وجعلته يعمل ماذا يريد بدون أن يعلم ماذا حصل لعمل هذا المطلوب ، ولذلك أصبح هنالك بما يسمون بـ (علماء بدون علم).

والآن سننتقل لعالم ثاني مختلف تماما عن عالم ويندوز المغلف، وهو عالم المصادر المفتوحة Linux .

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

Linux هو نظام تشغيل يعمل على أغلب معالجات 32 بت مثل Intel و AMD و Sparc وغيرهم من المعالجات.

طور هذا النظام على يد أحد الطلاب الجامعيين اسمه (لينوس تروفالدز Linus Trovalds) الذي بناه على نظام التشغيل Minix (نظام شبيه لنظام Unix ولكنه أصغر بكثير) وهو اللي كتب النواة من البداية .

قام بكتابة هذا النظام على أساس مبدأ (حر يعني حر) فأنت حر بالحصول عليه وحر بإستخدامه وحر حتى اذا حبيت تبيعه !

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

لماذا Linux بالذات؟؟

هل تستمتع بقراءة source كود لبرامج تعمل عليها اللان وتريد أن تعرف كيف تعمل هذه البرامج؟
هل تريد بيئة برمجة C أو C++ حقيقية للعمل ؟
هل تريد أدوات وتقنيات متقدمة جدا مثل الاباتشي Apache والسكربتات (Perl, TCL) لإستغلالها في تطوير تقنيات جديدة وقوية على الانترنت أو أيا كانت شبكتك؟
هل تريد أن تشتغل وأنت تعلم ماذا يدور حولك؟
هل تريد ألف طريقة مختلف لأداء عمل معين؟
هل تريد خبرة تقنية تفيدك وتعطيك فرص عمل قوية لسنوات طويلة؟
إذا كانت إجاباتك لأغلب الاسئلة اللي سبقت بنعم فهذا النظام مناسب لك تماما. النظام تتوفر فيه كل مميزات نظام التشغيل المتقدم جداً. Memory Management, Virtual Memory, multitasking, file system ... و غيرها من المعايير التي تختص لنظرة المبرمج.

Kernel

(النواة) هي زبدة نظام التشغيل ككل، فهي نقطة الوصل بين (الهاردوير أو العتاد) و(السوفتوير). Kernel أعتبرها مجموعة برامج مسؤولة عن تشغيل مكونات نظام التشغيل، مثل تنظيم الذاكرة (RAM) تنظيم البرامج (Processes أو Jobs)، حركة نقل البيانات من القرص الصلب إلى الذاكرة والعكس، حركة نقل البيانات من خلال كرت الشبكة (مودم ، Ethernet Card) .... ومهام أخرى.

بالاضافة إلى أنه التعريفات (Drivers) الخاصة بالأجهزة التي يتم دعمها من قبل ال Kernel ، فمثلا حتى تكون قادر على تشغيل تقنية البلوتوث على النظام أو كروت الشبكة اللاسلكية، لابد أن ال Kernel يدعم هذه التقنية، وبالتالي تستطيع تحميل مايسمى بـ Module اللي تعمل لك بدورها هذه التعاريف على النظام. بالإضافة إلى هذا، أنها قد تكتشف ثغرات جديدة في ال Kernel المكتوبة إما ثغرات أمنية تتسبب بتعريض النظام

للاختراق أو ثغرات تتسبب بعدم إستقرار النظام وبالتالي تسمى هذي النواة أو الكيرنل (non-stable) .

وهذا اللي يفسر نزول إصدارات جديدة لل Kernel كل فترة، حيث يتم دعم تقنيات جديدة وتعريفات قطع (Hardware) جديدة لم تكن تدعم من قبل مثل Power Management أو البلوتوث والوايرلس.

إن عملية تجميع نظام لينكس بشكل يدوي (Manual) عملية صعبة، بمعنى أنها عملية تحميل مكونات النظام ومن ثم ترجمتها (Compilation) ثم تحميلها (Installation) عملية طويلة ومعرضة للإخطاء والمشاكل وغير مرغوب بها. بالتالي من الأفضل إستخدام ما يسمى بـ (توزيعة distribution) مجمعة (assembled) وخالصة، كل ما عليك هو تحميلها وبداية العمل على النظام مباشرة. وهنا نأتي إلى نقطة أخرى، أنه يوجد distributions

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

فمثلا توزيعة RedHat لها باقة مختلفة عن توزيعة Debian وقد تكون فيها خدمات أفضل تقدمها لك توزيعة Debian بالتالي تجعلك تفضلها على كل التوزيعات الأخرى، وعملية اختيار التوزيعة distribution تعتمد على معايير كثيرة منها مثلما تم ذكره عن طريق الباقة المضمنة معها بالإضافة إلى دعمها للغة المفضلة لك (مهمة جداً)، وهل كل الحاجات اللتي تريدها من النظام متوفرة فيه؟ مثلا دعم الشبكة الاسلكية أو هل توافق مع أغلب

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

وكثرة التوزيعات في صالح المستخدم فمثلا التوزيعة Mandrake تعتبر ممتازة للمبتدئين، المحولين من بيئة ويندوز ويريدون التعرف على النظام ، بالإضافة إلى توزيعة RedHat فهي بنفس الحال لكن RedHat معقدة بدرجة بسيطة من ماندريك. وعموما أشهر التوزيعات وأكثرها إنتشارا هي Red Hat, Mandrake, SuSE, Gentoo, Slackware, Debian, Knoppix . وأنا شخصيا أفضل Debian ، بالإضافة إلى RedHat Fedora Core Project .


نظام الملفات في Linux

في ويندوز نظام الملفات يقوم على أنه لكل قسم (Partition) جذره الخاصة (own root) ، فمثلا C يعتبر هو الجذر root للقسم الأصلي و D هو الجذر root للقسم الثاني وE هو الجذر للقسم الثالث ... وهكذا.

ولكن في Linux الوضع يختلف تماما ، في هذا النظام لا يوجد إلا جذر root واحد فقط وتحت هذا الجذر تأتي كافة الملفات.

بالمناسبة أنا هنا لا اتحدث عن المستخدم root ، فأنا اتحدث عن نظام الأدلة أو الملفات File System في نظام لينكس لكي لا يتم الخلط مع إسم المستخدم الرئيسي بالنظام المعروف root .

تحت الجذر الرئيسي (الدليل) تأتي مجموعة كبيرة من المجلدات مثل " boot /bin /home /mnt /lib /var /usr /dev /etc /proc /root /tmp " ولكل واحده منهم وظيفة محددة تماماً.

سوف نتطرق إلى شرح وعمل وظائف مجلدات الجذر الرئيس (الدليل).

مجلد home: هو المجلد الذي تحفظ فيه ملفات المستخدمين من صور وملفات نصوص وصوتيات وأفلام وغيرها ، بحيث إنه لكل مستخدم يوجد مجلد مستقل تحت هذا المجلد.

مجلد mnt: في هذا المجلد تحفظ وتجهز التعريفات الخاصة بأجهزة الحفظ مثل القرص الصلب والسي دي روم والدي في دي وغيرهم . بحيث يقرر لينكس نظام الملفات الخاص بهذا الجهاز هل هو iso (للسيديات) أو NTFS للويندوز أو smbfs لنظام سامبا أو غيرهم .

مجلد boot : في هذا المجلد تحفظ (Kernel) وأي ملفات يحتاجها النظام في عملية التشغيل (Booting) .

مجلد etc: في هذا المجلد تحفظ ملفات إعدادات النظام .

مجلد lib: في هذا المجلد تحفظ Modules الكيرنل (مثل ما تم ذكره في تعريفات القطع) ، وتحفظ المكتبات الخاصة بتشغيل البرامج .

مجلد usr: أدوات وبرامج المستخدم التي تم تحميلها كلها تحفظ في هذا المجلد.

root: هذا هو مجلد المستخدم الرئيس للنظام root .

proc: هذا المجلد يحفظ بعض معلومات النظام مثل الإحصائيات .

dev: هذا المجلد فيه مؤشر Pointers للأجهزة المثبتة على النظام فمثلا dev/hda1 فيه مؤشر للقرص الصلب الرئيس على النظام.

المستخدمون Users والترخيصات Permissions

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

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
! ஜ .¸¸ ﬗm منتديات بريق الماسmﬗ ¸¸. ஜ :: .¸¸۝❝المنتدى الاكتروني ❝۝¸¸. :: ! ஜ .¸¸ ﬗm قسم الكمبيوتر والبرامج mﬗ ¸¸. ஜ-
انتقل الى: