![]() |
|
||||
|
(Mshary @ 24-11-2006, 04:17) <{POST_SNAPBACK}> اقتباس:
الأخ Mshary، سبقتني في سؤالك، وإلى الأن أنا لا أزال أذكر محاسن الماكنتوش قبل نظام X، وعندنا أصل إلى نظام X سنتحدث عن محاسن هذا النظام و عن الفوارق التي حدثت، فبما أنك سألت سأجيب، فلعلك سمعت منذ ولادة نظام X في عام ٢٠٠٠، عن تقنية جديدة تم اعتمادها من قبل أبل ماكنتوش وتطويرها وهي Cocoa، وعمر هذه التقنية مقارب لعمر الماكنتوش إذ أنها ظهرت أول مرة في عام ١٩٨٧ وآعجب بها ستيف جوبز، واستخدمت في الماكنتوش منذ ذلك الحين، لكن في نظام X حدث فيها تغيّر كبير كالتغيير الذي حدث بين نظام ٩ و نظام X، وهذا التغيير يناسب نظام X، فإذا كان برنامج firefox -أنا لم أجربه بعد- تم تطويره باستخدام Cocoa فلا بد من النظر في داخل محتويات البرنامج (البرمجة والموارد)، وذلك لأن هيئة البرنامج المصمم بواسطة تقنيات Cocoa يختلف عن البرامج التي تصمم بواسطة تقنيات أبل الأخرى، ولأنني لا آود الحديث -حاليا- عن Cocoa لأن الحديث عنها طويل جدا، إن شاء الله يأتي دورها بعد ما ننهي الحديث عن الميزات الحالية، لأنها حقيقة عالم برمجة بأكمله، وعلى كل حال سآجيبك على سؤالك دون التطرق إلى تقنيات Cocoa: كما قلت في مواضيع ميزات الماكنتوش أن الملف (الملف العادي الوثيقة وليس البرنامج التطبيقي) في غير أنظمة الماكنتوش يبدأ تسلسله الوحيد بالترويسة، وكذلك البرنامج التطبيق EXE له هيئة خاصة، يجب أن يكون عليها، فهذه الهيئة على النحو التالي: لا بد أن يبدأ البرنامج التطبيقي (في كل الأنظمة المتوافقة مع حواسب IBM) بالحرفين التاليين: MZ (لا بد أن يكون الحرفان كبيران)، يأخذان القيم 0x4d و 0x5a والرقمان معا يسميان بالرقم السحري. هكذا تم الاتفاق عليه منذ قديم الزمان بين الشركات المصنعة للحاسوب، وذلك لتمييزه عن غيره من الملفات، لأن البرنامج التطبيقي ما هو إلا ملف عادي له هيئته الخاصة. والحرفان (MZ) هما بداية ترويسة الملفات EXE، ثم بعد ذلك تعليمات طولها ثمانية بايتات(تعليمات لا تزال حتى الآن حسب نظام التشغيل DOS تخيل ذلك!) ثم بعد ذلك طول ترويسة EXE وذلك بالفقرات وليس بالبايتات كما هو معروف، ثم بعد ذلك تعليمات طولها عشر بايتات وهي تعليمات أخرى عن ترويسة EXE، ثم بعد ذلك قيمة السجل الذي يدعى IP، ثم بعد ذلك السجل الذي يدعى CS، وهذا السجل متعلق بالقطعة التي تم تحميلها في الذاكرة لكي يقوم المعالج بتنفيذها وهو اختصار لـ: Current Segment ثم بعد ذلك بداية البرنامج، والذي أقصده من كلامي هذا أنه لم يحدث أي تغيير جذري في هيئة البرامج التطبيقية في أنظمة الحواسب غير الماكنتوش، فكما نرى لا تزال تعليمات DOS مستخدمة حتى يومنا هذا. هل سبق وأن استخدمت برنامج فوتو شوب الإصدار ٧، لعلك استخدمته، ألم تلاحظ أنه يعمل على نظام ٩ و نظـام X في أن واحد؟ ولنعرف كيف يتم ذلك لا بد لنا من إلقاء نظرة سريعة على بعض أنظمة الماكنتوش: النظام ٧،٠ يعتبر النظام النموذجي للماكنتوش في السابق، وهيئة التطبيقات لا بد أن تكون فيه على النحو التالي: جميع الشيفرة البرمجية بما فيها موارد البرنامج يجب أن تكون في التسلسل الثاني لملف البرنامج فقط وهو تسلسل شوكة الموارد، كذلك لا يصح أن يكون طول العنصر الواحد في الشيفرة البرمجية أكثر من اثنين وثلاثين كيلوبايت، فإذا زاد عن ذلك يجب تقسيمه إلى قطع (Code Segments) وإلا فإن البرنامج لن يعمل، وهذا النظام لا يعمل على معالجات PowerPC مطلقا، وإنما هو متوافق مع معالجات 680. النظام ٨، اختلف بعض الشيء عن نظام ٧، فتم السماح لأن يزيد طول العنصر الواحد في مورد الشيفرة البرمجية عن ٣٢ كيلو بايت، كما أنك باستطاعتك جعل الشيفرة البرمجية في التسلسل الأول للملف وهو شوكة البيانات وليس التسلسل الثاني كما هو معروف، وهو ما يعرف بهيئة PEF، فما الذي يحدث إذا تم تضمين البرنامج مرتين؟ مرة في التسلسل الأول (PEF) ومرة في التسلسل الثاني شوكة الموارد؟ أي كأن البرنامج مكتوب مرتين؟ نعم إن ذلك بالإمكان وذلك لكي يتيح للبرنامج نفسه العمل على حواسب معالجاتها 680، وحواسب معالجاتها PowerPC، و ذلك يؤدي إلى زيادة حجم البرنامج وكذلك بالنسبة لنظام X، هيئة البرنامج اختلفت كليا عن الهيئتان السابقتان، وهي تسمى الأن بـ Mach-O، ولها مخطط خاص وطويل، فإذا أردت أن يعمل البرنامج في بيئة نظام X وكذلك نظام 9معا، فما عليك إلا أن تقوم بما يلي: أولا: إما أن تستخدم هيئة PEF فقط ويتيح ذلك للبرنامج العمل في بيئة النظام 9، مع مراعاة التغيرات التي حدثت في إدارات الكاربون وذلك بإضافة كل ما يتعلق بالنظام X مما يتيح للبرنامج أيضا العمل في بيئة X، وهذه الإضافات عادة ما يسبقها شرط، حتى يقوم المعالج باختيار الأنسب منها على النحو التالي: على سبيل المثال. إذا كان النظام الحالي ٩ قم بتنفذ التالي... وإلا قم بتنفيذ الآتي... مما يعني زيادة حجم البرنامج. والسبب في ذلك التغييرات الجذرية التي تقوم بها أبل بين حين وآخر، في حين أن مايكروسوفت لا تحرك ساكنا ولا تغير إلا الشكل الخارجي وللعلم فقط أن نظام فيستا لا يختلف عن نظام ويندوز ٩٥ أبدا من حيث طريقة العمل، اللهم إلا أنهم أضافوا البرامج المساعدة، وأضافوا اليونيكود Unicode، وأضافوا التعريفات المقودية، وغيروا الأشكال، أما هيئات التطبيقات وما يحدث من وراء الكواليس هو نفسه. وإذا جعلت البرنامج على هيئة Mach-O فقط فإنه لا يعمل إلا في نظام X. وبإذن الله نتحدث عن كل من هذه الهيئات الخاصة بتطبقيات الماكنتوش من خلال المواضيع المتسلسلة ميزات الماكنتوش. والله أعلم وشكرا.
__________________
أبو بكر |
![]() |
|
| أدوات الموضوع | |
| انواع عرض الموضوع | |
|
|