• 0
d3veloper

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

سؤال

السلام عليكم

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

اولا الدافع

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

{ Assembly, C, C++, Pascal }

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

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

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

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

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

انتظرونى

يحيى عابد

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

اولا : العلم

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

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

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

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

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

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

ثالثا: الفن

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

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

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

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

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

والله الموفق

تم تعديل بواسطه محمود سمير
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
قبل أن نفكر ببناء نظام تشغيل تعالوا نتواضع قليلاً وننظر إلى عالم الشبكات ،

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

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

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

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

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

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

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

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

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

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

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

والله الموفق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
محمود ممكن سؤال ... مافهمت إيه معنى النظم الموزعة ... يعني كل جزء موجود بمكان ... زي اللينكس ؟؟

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

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

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

نظم التشغيل تدعم نظام 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 جزء بسيط من النظم الموزعة

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

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

لكن

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

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

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

والله الموفق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

بالتوفيق ،

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .