السلام عليكم ورحمة الله
ما رأيكم بجولة تعريفية عن منصة أو بيئة 64 بت.
من البداية:
أول الأنظمة إنتشار و ظهور في عالم الأجهزة الشخصية هي:
أنظمة 16 بت مثل (دوس وينكس وغيرها) المعالج 8086
بإختصار يرمز لرقم البيئة على حسب سعة مسجلات المعالج في ذلك الوقت
مثل بيئة 16 بت = مسجلات المعالج سعتها =16 بت
ومسجلات المعالج 16 بت هي :ax,bx,cx,dx,sp,bp,di,si
في هذة البيئة كانت متغيرات لغة البرمجة صغيرة الحجم
مثلا int أو العدد كان =16 بت =2بايت
وأكبر رقم غير مؤشر يمكن أن تخزنة =65535
ومجالها ما بين –32,768 إلى 32,767
كما عرفت الكلمة وهي WORD وتساوي 16 بت
كما كانت المؤشرات وعناوين الذاكرة مكونة من 16 بت أي 2بايت
أربع خانات بالرقم الست عشري.
كما كان الحجم الأعظم لأقسام البرنامج قسم الكود والبيانات (ES,SS,CS,DS)
لا يتجاوز 64 كيلوبايت.
وأهم شيء كان في هذة البيئة أنها تعمل في النمط الحقيقي للنظام . ولم يكن هناك تعدد للمهام
بمعنى أن البرنامج كان يستطيع أن يصل إلى كل مناطق الذاكرة وتنفيذ كل المقاطعات.بدون أي رقابة
بيئة 32 بت (وندوز ولينكس وغيرها) المعالج 80386
عند ظهور المعالج 80386
حدث نقلة نوعية في عالم الكمبيوتر والأنظمة ولكن أغلب المهتمين لم يستغلوا
هذا التطور . لأن أول نظام شخصي ظهر بنمط 32 بت (بعد 7 سنين تقريبا من ظهور المعالج )
(لاحظ الفارق بين سرعة تطور الهندسة وتمثلها المعالجات -وسرعة تطور البرمجة وتمثلها انظمة التشغيل)
ولكن يمكن أن تعذرهم ( لأن النقلة كانت شاسعة جدا ويلزمها سنين لفهمها)
سميت بيئة 32 بت لأن سعة سجلات المعالج 32 بت =4 بايت
وقد تغيرت إلى EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP
وطبعا مع إتساع سعة التخزين تتسع سعة متغيرات لغة البرمجة
مثلا int أصبح يساوي 32 بت =4 بايت
أكبر قيمة لة تساوي 4294967295
ومجالة مابين –2,147,483,648 و 2,147,483,647
ولكن حدث خلاف بشأن المتغير WORD وهو الكلمة
لأن الكلمة معناها ما يستطيع المعالج نقله بمسجلاتة العامة
وفي هذا المعالج 32 بت ولكن لم يفرض هذا القانون بالنسبة لهذا المتغير
فقد فرض قانون جديد وهو الكلمة المضاعفة وهي
DWORD
وحجمها 32 بت
بالنسبة لمسجلات الأقسام فقد أضيف لها مسجلين جديدين وهما GS,FS
كما تغير سعتها في الذاكرة لتستطيع عنونة 4 غيغا بايت ؟؟!!
لاحظ ( من 64 كيلوبايت إلى 4 غيغا بايت)
وقد تغيرت أشياء كثيره أهما
ظهور النمط المحمي وتعدد المهام والعمليات
منصة المستقبل 64 بت
أعتقد أنها لم تظهر أنظمة لهذة البيئة بعد بشكل كلي(لاتتوفر عنها معلومات موثقة)
ولكن الظاهر يكشف الخافي
أول شيء نتوقعة زيادة سعة المسجلات من 32 بت إلى 64 بت
وإذا زادت سعة المسجلات زادت سعة متغيرات لغة البرمجة
مثل int ستكون سعتة 64 بت
أكبر رقم يحتوية 18446744073709551615
ما بين –9,223,372,036,854,775,808 و 9,223,372,036,854,775,807
كما أن الكلمة الجديدة ستظهر
QWORD وسعتها 64 بت
والتعريف short سيكون مساوي 32 بت
أما التعاريف char و BYTE
فلا أعتقد أنها ستتغير لا من حيث الشكل ولا الحجم
المقابض والمؤشرات ستكون عبارة عن عدد 64 بت
من حيث الدوال أعتقد أنها ستكون دوال موسعة من حيث كثرة الإختيارت
والتحكم بالدالة لدرجة قد تعقد البعض(كثرة الخيارات للدالة)
من حيث البرنامج بالتأكيد سيكون أسرع (في نقل البيانات )والسرعة ستكون الضعف
أتوقع أيضا أن 64 بت سيفتح باب جديد خاصة للجرافيكس والتصميم(تطور بشكل ملحوظ)
مسجلات الأقسام ستزيد سعتها بشكل رهيب لتستطيع عنونة
17179869183 (تتوقع ماذا - غيغا بايت ؟؟؟؟!!!!)
حجم الذاكرة إلى اليوم لم تصل إلى 1 غيغا؟؟!!
(وهذة معلومة: سرعة تطور المعالجات أكبر بكثير من سرعة تطور الأجهزة الأخرى والأنظمة)
تستطيع أن تستخدم أعداد هذة البيئة في فيجول سي 6 مثل
__int64
وهي نفس int المستقبل
وفي ملاحظة: كونك مبرمج لأنظمة 32 بت لا تخف من المستقبل؟!
لو نرجع للماضي هل مبرمجين 16 بت (دوس ) إنتهوا عندما ظهرت أنظمة 32 بت (وندوز)
أكيد لا - إلى اليوم مازلت برامج دوس تعمل؟
وأكيد في أنظمة المستقبل 64 بت لن تتخلى شركات الأنظمة عن دعمها للبرامج القديمة ومبرمجين 32 بت
لأن الخاسر الأول من عدم الدعم هي الشركة بكل بساطة !
وبرامج 32 بت كثيرة وسيتم دعمها لفترة طويلة
أما عن دعم 16 بت برامج (دوس) فمن وجهة نظري لا أعتقد
لأن دعم 3 منصات تشغيل لة مخاطر وأخطاء كثيرة أو أنة لا يمكن؟ بثلاث أنماط للعنونة
ماذا يمكن أن تستفيد من هذة النقلة ؟؟ (سؤال مهم جدااااا)
تعلم من دروس الآخرين ( أغلب الأفكار الناجحة)
ظهرت بنقلة في عالم البرمجة - وأكيد منصة 64 بت ستكون منصة ضخمة جدا
ولأنها ضخمة ستزيد المعلومات بشكل رهيب
وإذا زادت المعلومات تزيد الحاجة للسرعة والترتيب
وهو بالظبط ما يطلق علية عصر السرعة ( فكر في البداية تنجح في النهاية)
هذا ما أعرفة أو أتوقعة والله أعلم

