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

تصميم نظم التشغيل

مغلق
بدأه angel_m4 في 23 نوفمبر 2007 · 5 رد · 2,381 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

شكرا لكم

تم تعديل هذه المشاركة بواسطة angel_m4 في 23 نوفمبر 2007 في 19:54

#2

السلام عليكم

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

لمستوى الاحتراف - قبل المضى قدما لدخول مجال برمجة نظم التشغيل

من الافضل - ان تعمل اولا فى مجال برمجة مختلف انواع التطبيقات Applications - ثم بعد ذلك تتطور - وتقوم بالعمل فى مجال توفير ادوات Tools للمبرمجين - ثم بعد ذلك ترتقى لتعمل فى مجال تصميم وبرمجة المترجمات Compilers الخاصة بلغات البرمجة - ثم بعد ذلك ترتقى لتعمل فى توفير ادوات لنظم التشغيل Operating System Tools - واخيرا برمجة نظم التشغيل

تلك خطوات تتدرج من السهل او الاقل صعوبة - الى الاصعب - وهناك حالات كثيرة تتخطى تلك الخطوات - وتبدا من مستويات اصعب.

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

1 - ينبغى عليك دراسة مادة نظم التشغيل Operating System والتى تدرس فى كليات الهندسة - حتى تعرف ماهى المهام المطلوبة من نظام التشغيل - وماهى الاساليب الشائعة فى تلبية واداء تلك المهام

2 - ينبغى عليك دراسة مادة معمارية الحاسب Computer Architecture لما لها من اهمية لمبرمجى النظم

3 - ينبغى عليك دراسة لغة التجميع (الاسمبلى) بجانب لغة السى C وايضا ++C

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

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

هذا رابط الجزء الاول من الكتاب

http://www.kutub.info/library/open.php?cat=1&book=466

وهذا رابط الجزء الثانى

http://www.kutub.info/library/open.php?cat=1&book=635

واذا كنت جديدا على مجال البرمجة - وتريد مقدمة سريعة - اليك الكتيب : اسرع طريق لتعلم البرمجة - وهو يعطى فكرة جيدة وبسيطة عن المجال

http://www.kutub.info/library/open.php?cat=1&book=402

مع تحياتى

محمود فايد

#4

السلام عليكم

أخي

اسمع نصيحة أخ لك سبقك في هذا المجال

يجب أن تكون عقل رياضي ، اهتم ب discrete math,number theory وما يتفرع منهم وأنت أكيد ستأخذ بعض هذه الفروع في الكلية إن شاء الله .

ثانيا عليك أن تتعلم لغة C كبداية، ثم عليك أن تتعلم algorithm و data structure ، هذه الأدوات الأساسية لأي مبرمج ، بعد ذلك تحدد المجال الذي تريد أن تبرمج فيه ، مثلا : نظم تشغيل ، شبكات ، تطبيقات إنترنت ، ألعاب، برامج خدمية (أي تخدم مجال معين مثل الهندسة أو الرياضيات إلخ)

هناك كتاب رائع ل norton اسمه على ما أتذكر understand your PC ، كتاب رائع سيفيدك كثيرا.

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

وأنصحك بأن تزور الموقع التالي حيث به كل المجالات التي يمكنك أن تبرمج فيها ، وستعرف أن كلمة نظام تشغيل كلمة ليست سهلة ، فلو حتى قصدت فقط تطوير النواة kernel ، فحتى هذه ليست سهلة ، ولأوضح لك الأمر ، في نظام لينوكس مثلا النواة تقوم بعمل الآتي ، تدير الذاكرة وتدير العمليات process وتدير الأجهزة device driver ونظام الملفات و الأمن security و المعالجات مثل i386,ia64 ,amd,alpha,powerpc,....... لك أن تتخيل مثلا أنه في المعالج i386 يقوم بتطويره عدة مبرمجين من شركة انتل و hp وغيرهم من المحترفين وهم سيكونوا الأفضل لأنهم أصحاب هذه المعالجات أقصد أنهم صمموها بأنفسهم فهم أدرى بها وهكذا .

لا أريد أن أقلل من عزمك ، بل أريد أن أوضح لك الطريق حتى لا تتعب نفسك وفي النهاية ستكتشف أنك لم تفعل شيئا ، إبدأ كما قلت لك ، وكما يعلمونك في الكلية واهتم بالرياضيات الخاصة بالحاسب فهي مخ البرمجة والبرمجة نفسها مشتقة من الرياضيات بل أن الكمبيوتر يعتبر جزء من الرياضيات التطبيقية، ثم بعد ذلك اهتم ب algorithm ,datatstructure وستجد أنهم مرتبطين ارتباطا وثيقا ب discrete math ، ولا يتصور وجود مبرمج لا يتقن هذا الفرع من الرياضيات و لا يعرف كيف يتعامل مع datatstructure أو كيف يختار algorithm المناسبة له في عمله أو ينشى algorithm جديدة إذا تطلب الأمر

هذه نصيحتي

وأي سؤال كلنا في الخدمة

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#5

رد جميل أخي برق

انا من زمان حابب أسئلك عن نوع الشهادة اللي انته حاصل عليها اذا ممكن (:

#6

يا اخواني

نظام تشغيل ليس من المواضيع الاصعب , لكنه كمثل اي نظام برمجي اخر يحتاج الى خبره كبيره , كما انه اذا وددت التطرق الى تصميم انظمه التشغيل ودراسه هذا الموضوع فهو موضوع يدرس بالكليات وستجد انه موضوع مرتبط ارتباط شديد بالمبنى الفيزيائي للحاسوب اي المعالج الذاكره وجميع الاجهزه , وكيف لا وهو المسؤول عن ادارتها , اما للمواضيع المطلوبه منك لفهم اساسيات هذا العلم فهي قدره التصميم بلغه برمجه عليا كمثل C - C++ وعليك ايضا ان تتقن البنيه الماديه للحاسوب وفهم اساسيات المعالج لغته ( اسمبلي ) ومميزاته , ومفضل ان تكون ذو خبره بالداتا اي Data Structure وتفكير الجوريتمي .

بشكل ملخص المواضيع التي تلزمك هي :

C \ C++ Programming Lang. as profiessional

Testing & debugging skills

Assemply programming

CPU & Memory Arthticture

Devices Protocols

Algorithms and Data structures

Writen By: Admirer4 , B.Sc Student of EE.

Learn C Programming Language

ِCowards die many times before their death

هذا الموضوع مغلق.

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