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

كتب

Structure and Interpretation of Computer Programs

كتاب مهم للمبرمجين بشكل عام، إن كنت تبرمج أو تتعلم البرمجة فعليك أن تعطي هذا الكتاب وقتاً لتفهمه جيداً، الكتاب متوفر مجاناً وبنسخة مطبوعة كذلك.

http://mitpress.mit.edu/sicp

Think OS: A Brief Introduction to Operating Systems

http://www.greenteapress.com/thinkos/index.html

How to Make a Computer Operating System

http://samypesse.github.io/How-to-Make-a-Computer-Operating-System/

Compilers: Principles, Techniques, and Tools

https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools

كل كتب Andrew S. Tanenbaum، مدرس في جامعة ومتخصص في أنظمة التشغيل ومشهور بحواره مع لينوس تورفالدس في بدايات لينكس

http://www.cs.vu.nl/~ast/

The Little Schemer

كتاب آخر غير متخصص في أنظمة التشغيل لكنه في رأيي مهم لكل المبرمجين

http://mitpress.mit.edu/books/little-schemer

The Design of the Unix Operating System

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

https://www.goodreads.com/book/show/337343.The_Design_of_the_Unix_Operating_System

The Elements of Computing Systems

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

https://mitpress.mit.edu/books/elements-computing-systems

How to Design Programs

كتاب مجاني ومتوفر بنسخة مطبوعة، ليس عن أنظمة التشغيل لكنه مهم

http://www.htdp.org/

Linux Kernel Development

https://www.goodreads.com/book/show/12989911-linux-kernel-development

مواقع

the Operating System resource center

http://www.nondot.org/sabre/os/articles

OSDev.org

أحد أفضل المواقع في هذا المجال

Pierre's Library

pierrelib.pagesperso-orange.fr

http://mikeos.sourceforge.net/

نظام تشغيل تعليمي، كتب ليكون مثالاً لمن يريد تعلم تطوير أنظمة التشغيل وهو نظام بسيط

هذا موقع مفيد، اصبر واقرأ كل الروابط المتوفرة فيه

http://c2.com/cgi/wiki?OperatingSystemsDesign

http://c2.com/cgi/wiki?OperatingSystemsDesignPrinciples

Minix3

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

http://www.minix3.org/documentation/index.html

Operating System Development Series

http://www.brokenthorn.com/Resources/

فيديو

http://www.youtube.com/watch?v=6MJUGVFAXKg

http://www.youtube.com/watch?v=Lgd5aV2LKrk

http://www.youtube.com/watch?v=YvZhgRO7hL4

ملاحظات

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

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

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

إن كان لديك مصادر أخرى فشاركنا بها.

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