أضع هذه المصادر لأنني وعدت أحد أعضاء الموقع أن أفعل ذلك، لدي اهتمام بأنظمة التشغيل وأرى أنها مجال مهم يستحق الدراسة والبحث.
كتب
Structure and Interpretation of Computer Programs
كتاب مهم للمبرمجين بشكل عام، إن كنت تبرمج أو تتعلم البرمجة فعليك أن تعطي هذا الكتاب وقتاً لتفهمه جيداً، الكتاب متوفر مجاناً وبنسخة مطبوعة كذلك.
http://mitpress.mit.edu/sicpThink OS: A Brief Introduction to Operating Systems
http://www.greenteapress.co...How to Make a Computer Operating System
http://samypesse.github.io/...Compilers: Principles, Techniques, and Tools
https://en.wikipedia.org/wi...كل كتب Andrew S. Tanenbaum، مدرس في جامعة ومتخصص في أنظمة التشغيل ومشهور بحواره مع لينوس تورفالدس في بدايات لينكس
http://www.cs.vu.nl/~astThe Little Schemer
كتاب آخر غير متخصص في أنظمة التشغيل لكنه في رأيي مهم لكل المبرمجين
http://mitpress.mit.edu/boo...The Design of the Unix Operating System
كتاب تاريخي يشرح تصميم نظام يونكس وهو النظام الذي تعتمد على تصميمه كثير من أنظمة التشغيل اليوم، لينكس وماك وآيفون وآيباد وأندرويد وملايين المزودات.
The Elements of Computing Systems
كتاب يبدأ من أبسط أساسيات الحاسوب ومن الأرقام الثنائية ومنطق الأرقام الثنائية وحتى بناء حاسوب ونظام تشغيل، تطبيقاته تعتمد على ملفات يمكنك تنزيلها لتتعلم منها مباشرة
How to Design Programs
كتاب مجاني ومتوفر بنسخة مطبوعة، ليس عن أنظمة التشغيل لكنه مهم
http://www.htdp.orgLinux Kernel Development
مواقع
the Operating System resource center
http://www.nondot.org/sabre...OSDev.org
أحد أفضل المواقع في هذا المجال
Pierre's Library
pierrelib.pagesperso-orange.fr
http://mikeos.sourceforge.netنظام تشغيل تعليمي، كتب ليكون مثالاً لمن يريد تعلم تطوير أنظمة التشغيل وهو نظام بسيط
هذا موقع مفيد، اصبر واقرأ كل الروابط المتوفرة فيه
http://c2.com/cgi/wiki?Oper... http://c2.com/cgi/wiki?Oper...Principles
Minix3
نظام تشغيل بدأ كنظام تعليمي، النسخة الثانية منه قد تكون أفضل لمن يريد تعلم تطوير نظام تشغيل
http://www.minix3.org/docum...Operating System Development Series
http://www.brokenthorn.com/...فيديو
ملاحظات
قبل أن تبدأ تعلم تطوير أنظمة التشغيل عليك أن تقرر، هل أنت مهتم بأنظمة التشغيل أم واجهات الاستخدام؟ الفرق كبير، نظام التشغيل هو برنامج يدير موارد الحاسوب، واجهة الاستخدام هي الجزء الذي يراه المستخدم من نظام التشغيل، إن كنت تريد تطوير نظام تشغيل فهذه المصادر ستفيدك، وإن كنت تريد تطوير واجهة استخدام مختلفة فتطوير نظام تشغيل من الصفر سيكون مضيعة للوقت، صدقني تطوير أنظمة التشغيل تحتاج لسنوات.
تصميم واجهة استخدام يمكن أن يبدأ على الورق، بأن تكتب عنها وترسمها ثم ترسمها في الحاسوب باستخدام فوتوشوب مثلاً، ثم يمكنك برمجة مثال بسيط من خلال جافاسكربت وإن أردت تحويل الفكرة إلى تطبيق واقعي فاعتمد على لينكس كنظام تشغيل وهذا سيوفر عليك الوقت وبرمج الواجهة.
في مجال أنظمة التشغيل أوراق البحث الجامعية مهمة جداً لأنها تتابع الجديد في هذا المجال، لكن ليس لدي خبرة في البحث عن هذه الأوراق، لذلك إن كنت تعرف شيئاً منها فشاركنا بروابطها.
إن كان لديك مصادر أخرى فشاركنا بها.
وأعتذر عن تنسيق النص في الموضوع، موقع آريبيا لا يسمح لي بأن أحدد الفقرات بنفسي، لذلك كل سطر في فقرة لوحده، لذلك أرجو من الأخوة في موقع آريبيا أن يدعموا أسلوب مارك داون في تنسيق النص وبشكل تام، هذا سيبسط تنسيق المواضيع وسيسمح بإدراج الروابط في النص مباشرة.
التعليقات
جزاك الله خيراً أخي عبد الله لإنجازك ما وعدت
وأظنك تقصد
https://arabia.io/go/7460/5...
بصراحة كانت الفكرة في طرح الموضوع
هي أنه لماذا علينا تثبيت كامل نظام التشغيل بإيجابياته وسلبياته إن كان الشخص يحتاج الجهاز لأمر بسيط
وأقصد بالبسيط أي مثلا يحتاجه من أجل تطبيق واحد متخصص لا يتطلب كل مكونات نظام التشغيل مثل ويندوز 8.1 أو لينكس
من هنا كانت الفكرة أنه لو يتم تطوير نظام بسيط بحده الادنى لتشغيل ذاك التطبيق
خذ مثالا :
تطبيق لتشغيل آلة بأوامر محدودة
بالأمس نزل الخبر التالي :
إذا أليس من الجيد أن يكون هناك أدوات تتيح برمجة نظام تشغيل مبسط يؤدي الغرض بدلا من نظام 8.1 كاملا
أتذكر أن هناك من صنع مكونات نظام تشغيل ليشكل مكتبات يستخدمها في كل مرة يطور نظام تشغيل أو يوفرها للآخرين ليساعدهم على صنع أنظمتهم، إن بحثت جيداً قد تجد بعضها، أفهم كلامك وأوافقك عليه، أحياناً أرغب حقاً أن يكون هناك حاسوب للكتابة فقط، ووصلت لقناعة أن هذا الحاسوب لن يظهر ولن يطوره أحد لذلك علي صنعه، لكنني لست مبرمجاً بعد، إذا وصلت لمرحلة جادة وقررت صنعه سيتوجب علي أن أبرمجه من الصفر.
أردوينو حل آخر، يمكن برمجتها دون برمجة نظام تشغيل كامل.
هل يمكن أن تذكر لنا أمثلة للتطبيقات التي تقصدها؟
كمثال نظام جاليليو لحجوزات الطيران من المفترض أنها تكون على حاسب خاص وليس أي حاسب يقبل كل أنواع التطبيقات
مثال آخر افرض أن هناك شركة تريد عمل نظام خاص بها وتريد أن لا تقبل حواسيبها ومستخدميها إلا هذا التطبيق
طبعا التقييد نابع من منطلق أمني سواء على الهجمات الخارجية أو من التسريبات الداخلية
وقس عليه الأتطبيقات الحساسة التي تتطلب العمل في الزمن الحقيقي
وضحت الصورة وأوفقك، وبالمناسبة ألن كاي يرى أن الحواسيب يفترض أن تكون مصممة بشكل مختلف عن المألوف اليوم، معالجات x86 لكل شيء أو معالجات ARM للهواتف والحواسيب اللوحية والأجهزة الصناعية، يرى أن المعالج يفترض أن يصمم من الأساس ليكون بمعمارية يمكن برمجتها مباشرة من لغة برمجة مثل Smalltalk، أتمنى أن تطلع على آراءه فهو يستحق أن يستمع الناس له.
بعد أن بدأت بالتعليق هنا خطر لي أن أحوله لموضوع
يظهر أنه حقا نظام تشغيل مصغر
عندما وضع الرابط الأخ إسلام
https://arabia.io/go/11278/...
وشاهدت الصورة
ظننته من باب الدعابة
ツ
كلامي هنا عن تطوير نظام تشغيل ليكون أساساً لواجهة استخدام، هذا مضيعة للوقت، لكن من أراد تعلم أنظمة التشغيل وتطوير نظام تشغيل كهواية فهذا لا أجده مضيعة للوقت، ابحث عن hobby operating systems وستجد العشرات منها وبعضها ما زال يطور حتى اليوم، مطوروها يكتسبون خبرة في البرمجة وفهماً أعمق للحاسوب وأنظمة التشغيل، هذا ليس مضيعة للوقت.
سبب انتقالي من الديسكتوب الى الويب هو برمجة نظم التشغيل!
تعلمت برمجة سي بلس بلس ثم أردت البدأ بالاسمبلي لكنهم أفشلوني!!!!!
لكنني لن أعود...
الان أنا مرتاح في الويب
لكن شكرا لك فهي جدجدجدجدجد مفيدة اخي
واصل