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

بناء نظام تشغيل

بدأه SIFE في 5 فبراير 2008 · 19 رد · 3,934 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

مجموعة من أنظمة التشغيل الصغيرة .

نظام تشغيل مكتوب ب ASM .

كتاب : برمجة نظام تشغيل إنجليزي .

أتمنى ألا تبخلونا بالشرح ولو التعليقات .

تم تعديل هذه المشاركة بواسطة SIFE-C في 5 فبراير 2008 في 19:58

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#2

اخي SIFE ..

مواضيعك كلها كبيره .. وتحتاج الى شغل ..

ولكن لا اعرف لماذا دائما تختار اشياء معقدة بهذا التعقيد ..

وايضااريد ان اسالك سؤا ل..

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

حتى لو كان هنا شخص محترف .. او يجيد قراءة ملفات لغة السي ..

فمن يشرح 100 ملف مبرمجة بلغة السي .. ؟؟

لا اتوقع ان هذا يحدث ..

انا حملت على جهازي منها نظام littleos .. بالفعل هو نظام صغير ولكنه يحتاج الى gcc و nasm .. وهذين البرنامجين لا املكهم ..

وايضا خبرتي بالاسمبلي ليست جيده لو كان النظام فقط بالسي لكنت قد بدات بقراءة ملفاته واستفدت منها .. وايضاهذا ما سافعله ولكن ستاخذ وقت كبير . .

اسمع يا sife ..

اذا لم تكن على دراية بلغة الاسمبلي صدقني هذه الامور كلها اتركها ..

واقصد بالدرايه هنا هي خبره ..وليست mov و xchg و add او اي ايعاز اخر من ايعازات وتعليمات الاسمبلي ..

فهل انت على خبره بها .. ؟؟

اعذرني يا اخي ..

ولكن موضوع نظام التشغيل دائما مايفتح في المنتدى ويصبح عدد صفحاته بحدود 50 صفحة .. و دائما ما يتوقف ..

وايضا نظام التشغيل بالذات موضوع كبير جدا ..

فهو يحتاج منا لفهم اشياء عديده في عالم الكومبيتر .. ليست البرمجة وحدها مهمة به .. وانما كل شئ ..

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

وجزء اخر مهم وهو ما يمسى ب memory mangement او ادارة الذاكرة ... هذا ايضا جزء مهم ..

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

فانظمة التشغيل تحتاج الى مدة طويلة لصناعتها ..

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

اي ان النظام المثال والذي شرح عليه المؤلف قد اخذ خمس سنوات من العمل ..

ادرس الاجزاء التي قدمتها لك اعلاه ..

واذا كان هناك جزء لم تفهمه اسال وانا اوضح اكثر ..

واتوقع اني سديت كل الطرق ولكن هذا هو الواقع .. وهذه هي المتطلبات ..وانا معك في النقاش حول هذا الموضوع ..

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

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#3

أنا مع الأخ سنان في أن الموضوع كبير وأيضا متفق معه في أن أحدا لا يستطيع شرح كود كهذا على الأقل في المنتدى

أخي عليك أن تبدأ الطريق من أوله لا من آخره يعني هل سمعت مثلا عن

Interprocess Communication

Race Conditions

Critical Sections

The Producer-Consumer Problem

Scheduling

Deadlocks

Memory Management

File System Implementation

إذا كنت لم تسمع بهذه الأمور فينبغي عليك أن تتعلمها وأشياء أخرى أولا قبل أن تقرأ أي كود لنظام تشغيل

وعموما إذا كنت جاد فأنصحك بقراءة كتاب

Operating Systems Design and Implementation

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

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#4
اقتباس
أنا مع الأخ سنان في أن الموضوع كبير وأيضا متفق معه في أن أحدا لا يستطيع شرح كود كهذا على الأقل في المنتدى

أيضا يجب عليك أن تسأل نفسك سؤالا أولا وهو

ماذا تريد أن يفعل نظام التشغيل؟؟؟!!!

هل تريد أن يطبع كلمة Hello World

هل تريد أن يقوم بفتح ملف والتعديل عليه وحفظه

هل تريد أن يستدعي برنامج واحد إلى المعالج

ماذا لو أردت تشغيل برنامجين

هل تريد التعامع مع الشبكات

هل تريد عمل MultiThriding

هل تريد ....

...

..

.

كل إجابة نعم سوف تضاعف حجم الكود 10 أضعاف على الأقل

هذا ليس من باب الإحباط ولكن هذا الواقع!

أنا أرى أنه ليس من المفروض الهرووووب من كلمة نظام تشغيل عند سماعها

افضل بدل الحديث عن بناء نظام تشغيل , وضع مواضيع لمناقشة اسلوب عمل و تفاصيل نظم التشغيل

أتوقع سيكون له فائده أعم و إن لم يكن له فائدة ملموسه و لكن المعرفه كافيه

هذا و الله أعلم

#5

شكرا على الإفادة بالنسبة لك أخي صالح :

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

فمن يشرح 100 ملف مبرمجة بلغة السي .. ؟؟

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

اقتباس
كل إجابة نعم سوف تضاعف حجم الكود 10 أضعاف على الأقل

هذا ليس من باب الإحباط ولكن هذا الواقع!

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

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#6

سأكتفي بهذا الاقتباس : :lol:

اقتباس
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

لا انا ولا انت بخبرة JAAS , حتى الكلام النظري سهل اما العملي فـ #%#@%

اعرف واحد محترف الى حد كبير كلما يتكلم معي في موضوع برمجة النظام احس ان ما عندي من معلومات لا يكفي لكتابة 10 اسطر مفيده في نظام تشغيل !

عموما اعتقد ان نظام لينكس - كما اسمع من مستخدميه - مفتوح المصدر , ربما سيفيدك ان تتصفحه وتتعلم بعض ما فيه .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7

أخي GamingMasteR هل رأيت أحد تلك الأنظمة أولا ؟ و ثانيا أنظر إلى بريدك .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#8
اقتباس
أخي GamingMasteR هل رأيت أحد تلك الأنظمة أولا ؟

نعم رأيت ولكن لم ادخل نفسي في متاهاتها لأني لست مؤهل علميا في هذا الوقت لذلك + انها ليست مفتوحة المصدر (اتكلم عن انظمة غير تجارية وغير معروفة)

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#9
اقتباس
عموما اعتقد ان نظام لينكس - كما اسمع من مستخدميه - مفتوح المصدر , ربما سيفيدك ان تتصفحه وتتعلم بعض ما فيه .

لماذا تتكلم بتشكك هكذا

طبعا مفتوح المصدر

انظر إلى هذا الرابط

http://www.kernel.org/

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#10

انا كتبت Real time OS علي 8051 :D :P

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#11
اقتباس
أول مهتم كان هو الأخ JAAS وقد كتب مقالة تفصل ذلك فقط نظري وهو أيضا محترف C+ASM

انا معك يا اخي في ان jaas شخص صاحب خبره برمجيا وعلميا ..

ولكن لوحده لا يستطيع صنع نظام تشغيل لثلاث سنين على الاقل ..

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

ادرسها وكملها .. واشوفك في المنتدى بعد خمس سنوات وان شاءالله في وقتها تبدأ بكتابة الكود ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#12

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

لو كان العقل يورث لورثتكم .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#13
اقتباس
مايلزمني هو ماتعرفونه و إفادة خبراء ، أتمنى أن تفيدوني أكثر .

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

وان شاءلله ستجد الاجابة عليها ..

اقتباس
لو كان العقل يورث لورثتكم .

ما فهمت .؟؟

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#14

يعني لو كان العلم يورث لورثتكم هكذا تختصرون الوقت علي في التعلم .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#15
اقتباس
يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

والله معك

احمد عصام

amdvsintel22.jpg

--i use AMD--

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

أستعن بالله و لا تعجز

تابعنى على تويتر

***

#17
اقتباس
اصنع نظام تشغيل عربي بنفسك

الكتاب يشرح لك الأساسيات فقط و هو تقريبا خالي من الأمثلة يوجد كتاب أحسن منه و هو Pc Intern مدعوم بالأمثلة طارح إسم الكتاب هو خليل أونيس .

http://www.4shared.com/file/33779823/999c5...amming.html?s=1

http://rapidshare.com/files/81356073/PCINT...Programming.rar

http://www.filefactory.com/file/e113c9/

الكتاب كبير حجمه 65 m كونه نسخة ورقية .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#18
SIFE-C كتب:
الكتاب يشرح لك الأساسيات فقط و هو تقريبا خالي من الأمثلة...

وهل يوجد احسن من الاساسيات :lol: ام انك تريد ملفات مصدرية :D

بالمناسبة بناء نظام تشغيل طريق مررنا بها جميعا...

d4baa0.gif
#19

أخي SIFE-C اتقن اسمبلي أولا ثم اتجه الى برمجة الـkernel-mode فهذا سيزيد من فهمك للأمور ... خذ الأمور بتدرّج !

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#20

يا سلام, نبني نظام تشغيل... مع الأسف الكبير, شاهدت الكثير من المنتديات العربية حول ال IT,و أغلب الناس ما بتعرف تكتب HTML حتى تكتب كود على ال C++ او ال Assembly ناهيك طبعا عن ال Kernel Programming. الشعب تعود على الحصول على الإجابة, و الأغلب مالو فهمان شو الطبخة. لحتى تصير الناس تعرف شلون تفكر صح, و تكتب شي بسيط مو نظام تشغيل.

على كل حال, تعلم أكثر عن ال C++ و خاصة Windows Drivers Under C++, و انتقل الى Programming Under *nix Systems

Chao!!!

Great place, and people, but full of sectarianism.

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