كيف تصمم أنظمت التشغيل ؟ و برامج الDesktop ؟

  • Bigf00t01

في مجال الويب لدينا CSS/CSS3/javaScript/JQuery/Sass/less/ هذه الغات و المكتبات تجعل من الموقع اكثر جمالية و حيوية لاكن 

بنسبة ل أنظمة التشغيل تقال انها تبرمج بلغة السي و الاسمبلي؟ اذاَ فكيف صممت واجهاتها الروسومية المبدعة و خير مثال الmetro 

في ويندوز 8 و غيرها الكثير. غرارا عن انظمت التشغيل فهناك برامج تصميمها مبدع ! كيف تصمم تصاميم مبدعة هكذا ان كانت تبرمج 

بلغات أمثال C/C++/VB/C# فهل هناك مكتبات أو تقنيات توفي هذا الغرض؟


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

المبدأ هو أمر متحكم الشاشة برسم نقطة لونها C في الإحداثيات (X,Y). و ذلك بالتعامل مع ذاكرة متحكم الشاشة.

افترض أن الشاشة فيها فيها 4 خانات موضوعة لتشكل مربع كل خانة إما أبيض إما أسود. ستحتاج ذاكرة 4bit . لما تجعل الـ bit الأول 1 الخانة على اليسار في الأعلى ستضيء و لما تجعله 0 ستنطفئ.

رسم توضيحي:

-----
| 0 |  bit 1
-----
| 1 |  bit 2
-----
| 1 |  bit 3
-----
| 0 |  bit 4
-----


Screen:
---------
|   | • |
--------
| • |   |
---------

حسناً لكن هل هناك دوال رسومية أو شيئ من هذا القبيل ف تصاميم واجهات أنظمت التشغيل GUI و التفاعل مع الفأرة لك مثال عند 

التوجه ب الفأرة لزر ما يتغير لون الزر و الذهاب ب الفأرة على يمين الشاشة يظهر لنا قائمة على شكل Aside و العديد. ما المسؤول عن هذه 

التأثيرات!!

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

فليس صعب عمل جملة شرطية مثل: إن كانت الفأرة فوق زر اجعل الزر بحدود زرقاء.

يمكن رسم أي شيء بمكتبات مثل OpenGL، و يمكنك برمجة الواجهة الخاصة بك ليستعملها تطبيقك.