أضع هذه المصادر لأنني وعدت أحد أعضاء الموقع أن أفعل ذلك، لدي اهتمام بأنظمة التشغيل وأرى أنها مجال مهم يستحق الدراسة والبحث.
كتب
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/...فيديو
ملاحظات
قبل أن تبدأ تعلم تطوير أنظمة التشغيل عليك أن تقرر، هل أنت مهتم بأنظمة التشغيل أم واجهات الاستخدام؟ الفرق كبير، نظام التشغيل هو برنامج يدير موارد الحاسوب، واجهة الاستخدام هي الجزء الذي يراه المستخدم من نظام التشغيل، إن كنت تريد تطوير نظام تشغيل فهذه المصادر ستفيدك، وإن كنت تريد تطوير واجهة استخدام مختلفة فتطوير نظام تشغيل من الصفر سيكون مضيعة للوقت، صدقني تطوير أنظمة التشغيل تحتاج لسنوات.
تصميم واجهة استخدام يمكن أن يبدأ على الورق، بأن تكتب عنها وترسمها ثم ترسمها في الحاسوب باستخدام فوتوشوب مثلاً، ثم يمكنك برمجة مثال بسيط من خلال جافاسكربت وإن أردت تحويل الفكرة إلى تطبيق واقعي فاعتمد على لينكس كنظام تشغيل وهذا سيوفر عليك الوقت وبرمج الواجهة.
في مجال أنظمة التشغيل أوراق البحث الجامعية مهمة جداً لأنها تتابع الجديد في هذا المجال، لكن ليس لدي خبرة في البحث عن هذه الأوراق، لذلك إن كنت تعرف شيئاً منها فشاركنا بروابطها.
إن كان لديك مصادر أخرى فشاركنا بها.
وأعتذر عن تنسيق النص في الموضوع، موقع آريبيا لا يسمح لي بأن أحدد الفقرات بنفسي، لذلك كل سطر في فقرة لوحده، لذلك أرجو من الأخوة في موقع آريبيا أن يدعموا أسلوب مارك داون في تنسيق النص وبشكل تام، هذا سيبسط تنسيق المواضيع وسيسمح بإدراج الروابط في النص مباشرة.
التعليقات