الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البداية الصحيحة لدخول مجال برمجة انظمة تشغيل - الجزء الاول

بدأه d3veloper في 11 يونيو 2008 · 9 رد · 4,499 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

البداية الصحيحة لدخول مجال برمجة انظمة تشغيل - الجزء الاول

اولا الدافع

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

{ Assembly, C, C++, Pascal }

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

ثانيا الحقيقة التى يجب معرفتها

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

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

هذا هو موضوع المقال القادم باذن الله

انتظرونى

يحيى عابد

ملاحظة هامة : سلسلة المقالات هذه حصريا للاكاديمية (

اكاديمية مطور - مطورى انظمة التشغيل) ويجب ذكر المصدر عند نقل الموضوع

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#2

ما هي الأمور التي يجب المعرفة بها قبل الدخول إلى برمجة انظمة التشغيل مثل Logic , Data Structure ؟

#3

البداية فلسفية رائعة وفعلا هذه التحديات يعيشها من يعمل على برمجة النظم

كان الله فى عوننا جميعا

اقتباس
ما هي الأمور التي يجب المعرفة بها قبل الدخول إلى برمجة انظمة التشغيل مثل Logic , Data Structure ؟

اولا : العلم

ويشمل بناء الحاسب Computer Architecture

والمعالجات والتطبيقات Processors and Applications

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

ثانيا : التكنولوجيا

وتشمل لغات البرمجة مثل الاسمبلى والسى واحيانا سى ++ وربما باسكال (نادرا)

وايضا برامج لتسهيل عملية الاختبار Testing مثل Virtual PC

ثالثا: الفن

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

رابعا : فرق العمل

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

بمعنى ان هناك نظم تشغيل موجودة بالفعل

ولكن اذا كنت تقوم بعمل شىء جديد لم يكن موجود من قبل فلاداعى للقلق لان المنافسة ليست موجودة وانت * الاول * ولكن قد ياتى بعدك * الافضل *

والله الموفق

تم تعديل هذه المشاركة بواسطة محمود سمير في 19 يونيو 2008 في 20:31

#4

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

قبل أن نفكر ببناء نظام تشغيل تعالوا نتواضع قليلاً وننظر إلى عالم الشبكات ،

عندما تقرر بناء ال OSI Model فقد تم بناؤه بناء على Revolutionary Model

بالمستقبل عندما تقرر إطلاق نموذج جديد .. تم اتباع Waterfall Model فخرج لنا ال TCP/IP Model

يعني لم يتبعوا النموذج الذي تم استخدامه في البداية ،

واللبيب بالإشارة يفهم

اللهم طهر أرض فلسطين من العملاء والخونة

#5

الموضوع مهم، أنا أتقن لغة سي و لا أدري متى يحين الوقت لأدخل هذا المجال.

بعض المواضيع المهمة في المنتدى:

مكتبة سي/سي++

#6
اقتباس
قبل أن نفكر ببناء نظام تشغيل تعالوا نتواضع قليلاً وننظر إلى عالم الشبكات ،

عندما تقرر بناء ال OSI Model فقد تم بناؤه بناء على Revolutionary Model

تواضع ايه ومن امتى الابحار فى المحيط بدل البحر تواضع.

الشبكات اخطر مجال بحثى فى عالم البرمجيات على الاطلاق (النظم الموزعة والنظم المتحاذية)

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

كما ان المسالة مش مسالة حاجة اسهل من التانية وحاجة اعقد وانما مسالة فى اى مجال يبدع فكرك

لا نريد مبرمج نظم تشغيل يعيد اختراع العجلة

خير لنا ان يكون مطور تطبيقات قواعد بيانات ويبدع فى عمله

الابداع والاختراع هو الحل الوحيد للتقدم لانه يبعدنا عن المنافسة فى البداية على الاقل

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

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

فلاتتردد ان تعمل فى هذا المجال طالما انك ستضيف اليه.

والله الموفق

#7

محمود ممكن سؤال ... مافهمت إيه معنى النظم الموزعة ... يعني كل جزء موجود بمكان ... زي اللينكس ؟؟

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

الرجاء الإفادة

#8
اقتباس
محمود ممكن سؤال ... مافهمت إيه معنى النظم الموزعة ... يعني كل جزء موجود بمكان ... زي اللينكس ؟؟

صحيح فى النظم الموزعة كل جزء موجود بمكان لكن هذا معنى المصلح وليس المفهوم

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

اسمين مختلفين لان نظم التشغيل لاتحقق كل المطلوب لعالم الشبكات حتى الان

نظم التشغيل تدعم نظام Client-Server من خلال الطبقات الرابعة والخامسة والسادسة والسابعة فى OSI Model

اى Transport,Session,Presentation & Application Layers

لكن النظم الموزعة اكبر من ذلك بكثير

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

ويتم الربط بين هذه الحاسبات التى يتم الاتصال فيما بينها من خلال تبادل الرسائلة ويتم الادارة من خلال سوفت وير

يجعل النظام يبدو متكاملا بمعنى

التعامل مع التحديات التالية

1 - يحقيق التناغم بين الموارد المختلفة من اجهزة ونظم تشغيل ولغات برمجة Heterogeneity

2 - يحقق الشفافية للمستخدم الذى لايشعر اطلاقا بالاختلافات فى موارد النظام Transparency

3 - يحقق التزامن بمعنى يمكن اداء عمليات على التوازى فى اركان النظام المختلفة Concurrency

4 - معالجة الاخطاء فى اى ركن من اركان النظام Failure handling

5- ان يكون النظام مفتوح قابل للامتداد او اعادة بناء اى جزء منه Openness

6 - ان يقبل النظام الزيادة فى الحمل مهما كانت طالما ان هناك زيادة مقابلة فى الموارد Scalability

7 - الامن مهم جدا لان النظام موزع على اماكن مختلفة Security

امثلة على النظم الموزعة

1 - شبكة من محطات العمل

2 - الانترنت (ليس بدرجة عالية لانه لا يحقق الشفافية حيث يشعر المستخدم ان المستندات موجودة فى اماكن او مواقع مختلفة)

3 - الانترانت (شبكة متفرعة من الانترنت لها ادراة خاصة بها ومستوى امن خاص)

4 - النظم المحمولة

5 - الويب

انواع النظم الموزعة

1 - النظم الموزعة للحساب

2 -النظم الموزعة للمعلومات

3 - النظم الموزعة المدفونة

نظام Client-Server جزء بسيط من النظم الموزعة

لان الحوار فيه فقط بين الزبون والخادم

ولا يوجد اتصال بين زبون واخر او خادم واخر

لكن

فى النظم الموزعة يتم تخطى ذلك ويمكن لخادم ان يكلم خادم ولزبون ان يكلم زبون فى تطبيقات معينة

والنظم الموزعة مازالت مجال بحثى وله دور اساسى فى نظم تشغيل المستقبل والانترنت

ان شاء الله تكون مقدمة مفيدة

والله الموفق

#9

محمود سمير كتب:
تواضع ايه ومن امتى الابحار فى المحيط بدل البحر تواضع.

ألم تنتبه إلى هذه الجملة :

اقتباس
واللبيب بالإشارة يفهم

لو أنك لستفسرت عن قصدي ما أنه ليس مفهوماً لك خير من تغيير مسار الموضوع إلى الشبكات ..

بالتوفيق ،

اللهم طهر أرض فلسطين من العملاء والخونة

#10

السلام عليكم

موضوع جيد وبحاجه لكتب فى برمجة قطع الهارد وير

واتقان اللغات الاساسيه مثل اسمبلى ولغه سي ولغة سي ++

ربنا يوفق وان شاء الله الامور بتسير

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

مواضيع مشابهة