السلام عليكم ورحمه الله وبركاته
اقدم لكم اليوم المستوى الثانى من دورة تصميم انظمة التشغيل
وهو مستوى متقدم وان شاء الله سيكون طويل قليلا
لماذا قمت بتقسيم الدورة الى مستويات ؟
السبب هو اننى اريد رفع المعنويات بالاضافة الى تقديم اسلوب جديد للطرح والشرح فى الدورات لاضافة شيئا من المتعة والجدية على تقديم الدورات فى العالم العربى
سوف نبدأ هذا الدرس بتعريفات بسيطة ومعلومات بسيطة ايضا
عن اى شئ تتكلم هذه الدورة ؟
انظمة التشغيل قد تكون موضوع معقد لذا فان تعلم كيفية عمل انظمة التشغيل يكسب خبرة كبيرة بعالم البرمجة والحاسب
الهدف الاساسى من هذه الدورة هو تنمية المعرفة بعالم انظمة التشغيل وخاصة الجزء المتعلق منه بتصميم انظمة التشغيل
لعلها تكون الخطوة الاولى نحو بناء نظام تشغيل عربى صغير ويكبر مع مرور الزمن ومع مرور الخبرات من ابناء
الامة العربية حفظها الله ونصرها على الطغاة
ما هو نظام التشغيل ؟
نظام التشغيل (بالإنجليزية: Operating System وتختصر إلى OS) هو مجموعة من البرمجيات المسؤولة عن إدارة موارد "عتاد" وبرمجيات الحاسوب،ويمثل وسيط بين المستخدم وعتاد الحاسوب، ويمكننا الفول انه مظلة لتشغيل برامج المستخدم، يقوم نظام التشغيل بالمهام الأساسية مثل إدارة وتخصيص مصادر الحاسوب (الذاكرة، القرص الصلب، الوصول للأجهزة الطرفية الملحقة..إلخ)، ترتيب أولوية التعامل مع الأوامر، التحكم في أجهزة الإدخال والإخراج، تسهيل الشبكات، وإدارة الملفات.
وللامانة العلمية لانى بصراحة لم ارد تعقيد التعريف فقمت باقتباس التعريف من ويكيبيديا
لو لم تكن قد برمجت شيئا فى حياتك من قبل ؟
فلماذا تقرأ هذه السطور الان من المفترض ان تكون تبدأ من الاساسيات
ولكن بعض المعلومات فى هذه الدورة قد تفيدك فى الدروس التمهيدية
متطلبات الخبرة والمهارة اللازمة لمتابعة الدورة ؟
1- معرفة جيدة جدا بلغة السى
فان استخدام لغة مرتفعة فى برمجة النظم قد يسهل الامر كثيرا واللغات الشهيرة فى برمجة نظام التشغيل من اللغات
المرتفعة المستوى هى لغتى السى والسى بلس
لكن هذا لا يعنى انه ليس هناك لغات اخرى تستخدم ايضا
والتعريف الافضل من وجهة نظرى للغة السى انها لغة متوسطة (middle level language)
وانا انصح الجميع بقراءة كتاب يسمى
Thinking in C++
وهو كتاب رائع جدا
2- معرفة بلغة التجميع (الاسمبلى) من النوعx86
وطبعا هذه اللغة معروفة جدا انها لغة منخفضة المستوى وهى سوف نحتاجها
بشدة اثناء برمجة نظام التشغيل
وانصح بقراءة كتابين انا شخصيا استفدت منهم كثيرا
Assembly Language: Step by Step
Art of Assembly
الان قم بالاستعداد لان الشغل والعمل الحقيقى سيبدأ من هنا ورايح ان شاء الله
الادوات المستخدة
1- NASM - The Assembler
Assembler
وتحميله من هنا
2-PartCopy <<<<
تستخدم لنقل سكتورز من درايف الى اخر
والتحميل من هنا
http://www.brokenthorn.com/Resources/Programs/pcopy02.zip
3- Windows DEBUG Command
طبعا نافذة التقيح معروفة للجميع
ولو مش عارف هى ايه يبقى الدورة مش موجهة ليك يا باشا
4-Microsoft Visual C++
هنشجع ميكو فى الدورة دى
http://www.microsoft.com/express/download/
5- VFD - Virtual Floppy Drive
هنستخدم مشغل اقراص وهى علشان منبوظش حاجة
http://chitchat.at.infoseek.co.jp/vmware/vfd.html
6-Bochs Emulator - PC Emulator and Debugger
هذا هو الدرس التحضيرى فى المستوى الثانى المتوسط
والدرس القادم سأشرح فيه ان شاء الله
كيفية بناء بيئة العمل والتطوير الخاصة بالدورة كاملة ان شاء الله
مع تحياتى لكم



