تفرع الموارد
يُعدّ فرع الموارد نسخةً من ملف في نظام التشغيل macOS الكلاسيكي من Apple ، ويُستخدم لتخزين البيانات المنظمة. وهو أحد فرعي الملف، إلى جانب فرع البيانات الذي يخزن البيانات التي يتعامل معها نظام التشغيل على أنها غير منظمة. [ 1 ] : 1-4 وقد تمّ نقل خاصية فرع الموارد إلى نظام macOS الحديث لضمان التوافق.
يخزن فرع الموارد المعلومات بصيغة محددة، تتضمن تفاصيل مثل صور الأيقونات، وأشكال النوافذ، وتعريفات القوائم ومحتوياتها، وشفرة التطبيق ( شفرة الآلة ). يمكن لأي ملف أن يحتوي على فرع موارد، وليس التطبيقات فقط - على سبيل المثال، قد يتم تخزين موضع نافذة مستند على الشاشة كمورد في فرع موارد المستند، بشكل منفصل عن محتويات المستند المخزنة في فرع البيانات. [ 1 ] : 1-5
تصميم
ابتكر مبرمج شركة آبل، بروس هورن، مفهوم الموارد وفروعها ونفذه . [ 2 ] وقد استلهم هذا المفهوم من بيئة البرمجة الديناميكية والموجهة للكائنات في لغة سمول توك ، وتحديداً من نظام الذاكرة الافتراضية الموجه للكائنات OOZE الذي صممه تيد كاهلر . [ 3 ]
في نظام التشغيل ماك الكلاسيكي، كانت الموارد وفروعها تخدم عدة أغراض:
- تقليل استخدام ذاكرة الوصول العشوائي للبيانات الكبيرة، مثل الصور النقطية ، من خلال تطبيق شكل من أشكال الذاكرة الافتراضية : يمكن تحميل الموارد من القرص إلى الذاكرة عند الطلب وإلغاء تحميلها عندما لا تعود هناك حاجة إليها. [ 3 ]
- توفير طريقة لغير المبرمجين لإجراء عمليات التدويل والترجمة أو تغيير العناصر الرسومية للتطبيق، دون الحاجة إلى الوصول إلى شفرة المصدر. [ 3 ] [ 1 ] : 1-3، 1-4
- تخزين قاعدة بيانات سطح المكتب الخاصة بـ Finder ، والتي كانت تخزن ارتباطات أنواع الملفات والأيقونات كموارد. [ 3 ] [ 4 ]
- يسمح هذا للتطبيقات بتوزيع جميع مكوناتها تقريبًا في ملف واحد، مما يقلل من الفوضى ويبسط عملية تثبيت التطبيقات وإزالتها.
دعم نظام الملفات
تدعم جميع أنظمة الملفات المستخدمة لمحركات النظام في نظام التشغيل Mac OS الكلاسيكي ( MFS و HFS و HFS Plus ) فروع الموارد بشكلٍ أصلي، وكذلك نظام APFS الخاص بنظام macOS فقط (ولكن ليس نظام UFS ، [ 5 ] وهو خيار مدعوم لمحركات النظام في الإصدارات الأولى من Mac OS X). يُسهّل وجود فرع الموارد تخزين معلومات إضافية متنوعة، مثل أيقونة يعرضها سطح المكتب لهذا الملف. بينما يسمح فرع البيانات بالوصول العشوائي إلى أي موضع داخله، فإن الوصول إلى فرع الموارد يُشبه استخراج سجلات مُهيكلة من قاعدة بيانات .
تخزن أنظمة ملفات ماكنتوش بيانات وصفية منفصلة عن البيانات أو شوكة الموارد، مثل الطوابع الزمنية للإنشاء والتعديل، ونوع الملف ورموز المنشئ، وأطوال التفرع.
تحتوي بعض الملفات على فرع موارد فقط. ومن الأمثلة على ذلك ملف الخط في نظام التشغيل ماك الكلاسيكي. ومثال آخر هو تطبيق Classic 68k ، حيث يُخزَّن حتى الكود التنفيذي في موارد من نوع "CODE". أما ملفات PowerPC الثنائية اللاحقة، فتُخزَّن الكود التنفيذي في فرع البيانات.
بما أن فروع الموارد كانت مدعومة فقط على أنظمة ملفات ماكنتوش، بما في ذلك MFS وHFS وHFS Plus وAPFS، لم يكن بالإمكان نسخها إلى أنظمة ملفات أنظمة التشغيل الأخرى . ولذلك، تم ابتكار صيغتي Mac BinHex و MacBinary لترميز فروع الموارد والبيانات في ملف واحد، لتسهيل نقلها بين الأنظمة. دعم نظام A/UX فروع الموارد على أنظمة ملفات يونكس عبر صيغتي AppleSingle وAppleDouble . ابتداءً من نظام Mac OS X Tiger ، استُخدمت صيغة AppleDouble لتخزين فروع الموارد على أنظمة ملفات مثل مشاركات SMB في ويندوز ووحدات تخزين FAT32 .
في نظام ملفات HFS Plus، يمكن ضبط الإعدادات للسماح بوجود فروع أخرى بالإضافة إلى فروع البيانات والموارد، وذلك لإنشاء تطبيق "متعدد الفروع". [ 6 ]
اعتبارًا من 7 أغسطس 2002، أوصت شركة أبل المطورين بعدم تضمين الموارد في فروع الموارد في ملفات Mach-O الثنائية على نظام التشغيل Mac OS X. [ 7 ]
معرّفات الموارد
يحتوي كل مورد على مُعرِّف نوع نظام التشغيل (قيمة من أربعة بايتات)، ومعرّف ( كلمة مُوقَّعة من 16 بت )، واسم اختياري. توجد أنواع موارد قياسية لمربعات الحوار ، والصور ، والأصوات ، والملفات التنفيذية ، والتي كانت تُخزَّن، حتى ظهور معالج PowerPC ، في فرع الموارد دون استثناء. تُخزَّن الإجراءات الفرعية لعرض النوافذ في نوع موارد خاص بها ، والإجراءات الفرعية لعرض القوائم في نوع موارد خاص بها . مكّن هذا الترتيب المستخدمين من تخصيص ليس فقط التطبيقات الفردية، بل نظام التشغيل نفسه أيضًا، بسهولة، باستخدام أدوات مثل ResEdit لتعديل موارد ملف التطبيق أو أي من ملفات النظام.DITLPICTsnd CODEWDEFMDEF
في التطبيقات أو التعليمات البرمجية الأخرى، يمكن تحميل الموارد ببساطة باستخدام نوعها أو معرّفها أو اسمها، بغض النظر عن كيفية ومكان تخزينها في فرع الموارد. يُعاد إلى العميل مؤشر إلى المورد المُحمّل، والذي يمكن الوصول إليه كأي بيانات أخرى مُخزّنة في الذاكرة الديناميكية. يُعدّ مدير الموارد المكوّن المسؤول عن هذه العملية في نظام التشغيل. بالإضافة إلى فصل تفاصيل تخزين البيانات عن البيانات نفسها، يُرتب مدير الموارد أيضًا مجموعات فروع الموارد المفتوحة في مكدس، بحيث يكون الملف الذي تم فتحه مؤخرًا في الأعلى. عند محاولة تحميل مورد، يبحث أولًا في أعلى المكدس (ربما فرع موارد المستند الحالي)، ثم في الفرع التالي (فرع موارد التطبيق)، ثم في الفرع التالي (فروع موارد النظام). هذا الترتيب فعّال للغاية ، إذ يسمح للموارد المحلية بتجاوز الموارد العامة الموجودة في الأسفل ، بحيث يمكن للتطبيق، على سبيل المثال، توفير أيقوناته أو خطوطه الخاصة بدلًا من أيقونات النظام القياسية. كما يسمح هذا النظام للتطبيق بتحميل الموارد من النظام باستخدام واجهة برمجة التطبيقات نفسها المستخدمة مع أي مورد آخر، بغض النظر عن مكان أو كيفية تخزين هذا المورد - فبالنسبة للتطبيق، جميع الموارد متاحة وسهلة الاستخدام على حد سواء. ويحجز النظام معرّفات الموارد ضمن نطاق محدد لتجنب تعارضات الموارد الناجمة عن ذلك. وتتيح واجهات برمجة تطبيقات إدارة الموارد للمبرمج التحكم في بنية النظام وتعديل سلوك البحث.
التحرير
بما أن فرع الموارد قابل للتعديل باستخدام محرر موارد مثل ResEdit ، فإنه يُستخدم لترجمة البرامج وتخصيصها . إضافةً إلى ذلك، تتيح معظم محررات الموارد التحرير المرئي للبيانات. في نظام macOS ، يُمكن استخدام الموارد عند تطوير التطبيقات. مع ذلك، إذا كان التطبيق بحاجة إلى استخدامه في نظام ملفات UFS ، فمن الممكن أيضًا تهيئته لنقل فرع الموارد بالكامل إلى فرع البيانات، باستخدام إعداد "ملف الموارد الخام" . تتضمن بيئات التطوير المتكاملة التي تُوزعها شركة Apple مجانًا ، والتي تشمل MPW وأدوات مطوري Apple ، مُترجمًا يُسمى Rez. [ 1 ] : 1-3 يستخدم هذا المُترجم لغةً مُخصصة، تُسمى أيضًا Rez، والتي يُمكن استخدامها لإنشاء فرع موارد عن طريق تجميع شفرة المصدر . كما يتضمن مُفككًا، DeRez، يُمكن استخدامه لتحويل فرع الموارد إلى شفرة Rez.
في بنية تفرع الموارد، توجد بيانات تُسمى "خريطة الموارد" تُخزّن مواقع عناصر بيانات الموارد. [ 1 ] : 1-8 يُمكن استخدام هذه الخريطة للسماح بالوصول العشوائي إلى بيانات الموارد بناءً على المعرّفات والأسماء المُحدّدة. يُمكن اعتبار تفرع الموارد مُكوّنًا أساسًا من ثلاثة عناصر: رأس المورد، وخريطة الموارد، وبيانات الموارد نفسها. [ 1 ] : 1-4، 1-5، ولكن في الواقع، يُمثّل كل نوع بيانات بنية هرمية تُخزّن عناصر بيانات مُتعدّدة. يُحدّد تنسيق تخزين المعلومات في بيانات الموارد بناءً على أنواع المعلومات، والتي تُعرف باسم "أنواع الموارد". غالبًا ما تُشير بيانات الموارد إلى أنواع بيانات أخرى.
الوصول
تظهر فروع الموارد كخاصية موسعة com.apple.ResourceFork. [ 8 ]
في السابق، كان يتم الوصول إلى فروع الموارد عبر واجهة برمجة تطبيقات "مدير الموارد" . هذه الواجهة أصبحت الآن مهملة. [ 9 ]
في ظل واجهة برمجة التطبيقات المهملة:
- عند الوصول إلى فرع من الموارد، يتم قراءة البيانات التي تتضمن موضع البداية وطول بيانات الموارد وخريطة الموارد من الرأس.
- إذا تم تحديد نوع مورد للقراءة، يتم إجراء فحص للتأكد من وجود هذا النوع في قائمة الموارد، ويتم العثور على عدد عناصر البيانات التي تحتوي على هذا النوع وإزاحاتها في قائمة مرجع الموارد من موضع البداية لخريطة الموارد.
- يتم العثور على معرف المورد، وإزاحة اسم المورد، وخصائص المورد، وإزاحة البيانات من موضع بداية بيانات المورد.
- إذا كانت بيانات الموارد ذات المعرف أو الاسم المحدد موجودة في بيانات الموارد، فسيتم الوصول إلى الإزاحة التي تم الحصول عليها أعلاه، وسيتم العثور على طول البيانات، وسيتم قراءة جميع البيانات المخزنة هناك، وإعادتها كقيمة إرجاع.
تتيح واجهات برمجة تطبيقات إدارة الملفات، مثل PBOpenRF()تلك المذكورة، الوصول إلى فرع الموارد الخام؛ ومع ذلك، ينبغي استخدامها فقط لتطبيقات مثل نسخ الملفات - تحذر Apple بشدة من استخدام فرع الموارد كـ "فرع بيانات ثانٍ". [ 10 ] [ 1 ] : 1-5
من واجهة POSIX ، يمكن الوصول إلى فرع الموارد كـ filename/..namedfork/rsrcأو كـ filename/rsrc؛ تم إهمال الشكل المختصر في نظام التشغيل Mac OS X v10.4 وإزالته تمامًا في نظام التشغيل Mac OS X v10.7 . [ 11 ]
الأنواع
تُستخدم رموز الأنواع أدناه، مثل أنواع البيانات المذكورة أعلاه، كمعرفات أنواع لأكثر من مجرد تفرعات الموارد نفسها: فهي تُستخدم لتحديد الملفات نفسها، ووصف البيانات الموجودة في الحافظة، وأكثر من ذلك بكثير.
يجب أن يكون طول الأنواع 4 بايت، لذا فإن الأنواع مثل snd و STR تحتوي في الواقع على مسافة (0x20) في النهاية.
| اسم نوع المورد | الاسم الحقيقي | وصف |
|---|---|---|
| أليس | الاسم المستعار | يخزن اسمًا بديلًا لملف آخر، في فرع مورد لملف تم تعيين بت السمة "alias" الخاصة به |
| تنبيه | يُحذًِر | يحدد شكل مربع تنبيه التطبيق |
| تطبيق | طلب | يخزن معلومات التطبيق |
| BNDL | باقة | يُعرّف بيانات مثل رمز نوع الملف المستخدم في تطبيق ما |
| cicn | أيقونة ملونة | يُحدد رمزًا لونيًا يُستخدم في البيانات |
| كلوت | جدول البحث عن الألوان | يحدد لوحة ألوان مستخدمة في البيانات |
| سي إن تي إل | يتحكم | يحدد تفاصيل مكون موجود في نافذة |
| شفرة | مورد التعليمات البرمجية | يخزن رمز الآلة للبرنامج |
| لعنة | المؤشر | يحدد شكل المؤشر أحادي اللون (مربع 8 × 8 بت) |
| DITL | قائمة عناصر الحوار | يُعرّف أحد مكونات النافذة |
| سجل البيانات | حوار | يحدد شكل مربع حوار لتطبيق ما |
| مرجع | مرجع الملف | يُحدد نوع ملف يتم التعامل معه بواسطة تطبيق |
| hfdr | مساعدة عبر أيقونة البالون | يُحدد هذا الخيار محتويات وشكل نافذة المساعدة المنبثقة التي تظهر عند تحريك المؤشر فوق الملف في Finder. |
| icl8 | قائمة أيقونات 8 بت | يُحدد أيقونة معروضة في Finder |
| icns | قائمة أيقونات 32 بت | يُحدد أيقونة معروضة في Finder |
| رمز | رمز | يُعرّف عنصرًا أحادي اللون يُستخدم في البيانات |
| عطوف | وصف الملف | يُعرّف وصفًا لنوع الملف |
| MBAR | شريط القوائم | يُحدد قائمة وشريط قائمة لتطبيق ما |
| صندوق دعم الاقتصاد متعدد الوسائط | تعريف القائمة | يُحدد هذا الخيار قائمةً لتطبيقٍ ما. ويمكن استخدامه أيضاً لتحديد قوائم ذات أشكال معقدة مثل لوحات الألوان. |
| قائمة طعام | قائمة طعام | يُحدد عناصر القائمة في التطبيق |
| MooV | فيلم | يخزن فيلم QuickTime |
| يفتح | يفتح | يُحدد نوع الملف الذي يمكن للتطبيق فتحه |
| PICT | صورة | يخزن صورة PICT الموجودة في الملف |
| PREF | الأفضلية | يخزن إعدادات بيئة التطبيق |
| سند | صوت | يخزن صوتًا مستخدمًا في الملف |
| القوة | خيط | يخزن سلسلة نصية أو بيانات سداسية عشرية مستخدمة في الملف |
| STR# | قائمة السلاسل | يخزن عدة سلاسل نصية مستخدمة في الملف |
| أسلوب | أسلوب | يحدد معلومات النمط، مثل نوع الخط ولونه وحجمه |
| نص | نص | يخزن النص |
| TMPL | نموذج | يصف تنسيق بيانات نوع مورد معين، للتحكم في كيفية عرض ResEdit ومحررات الموارد الأخرى للموارد من هذا النوع |
| فيرس | إصدار | يحدد إصدار الملف أو منطقة استخدامه |
| WDEF | تعريف النافذة | يُحدد هذا الخيار نافذةً للتطبيق. كما يُمكن تحديد نوافذ ذات شكل غير مُحدد. |
| رياح | نافذة | يحدد شكل نافذة التطبيق |
المحررون
- ResEdit
- يُوزّع مجانًا من قِبل Apple. يُمكن استخدامه لتحرير بيانات الموارد بصريًا. إذا كانت بنية البيانات معروفة، يُمكنه عرض مجموعة متنوعة من أنواع البيانات بتنسيق مرئي. لا يعمل على أنظمة macOS الحديثة.
- مُستَعِدٌّ
- إنه مكلف، ولكنه شائع، حيث يمكن استخدامه للتحرير المرئي لأنواع بيانات أكثر بكثير من برنامج ResEdit.
- محرر سداسي عشري
- محرر ثنائي، والذي في الواقع يستخدم عادة لتحرير فرع البيانات بدلاً من فرع الموارد.
- ResKnife
- محرر مفتوح المصدر لنظام التشغيل Mac OS X ؛ لم يعد يتم تحديثه.
- ريزيكل
- أداة لنظام macOS تقوم باستخراج الموارد من فرع الموارد إلى ملفات ثنائية منفصلة مع تحويل أنواع متعددة إلى تنسيقات مناسبة للتطوير الحديث. [ 12 ]
- resource_dasm
- برنامج مفتوح المصدر لاستخراج الموارد لأنظمة macOS و Linux، وهو قادر أيضًا على تحويل العديد من الموارد إلى تنسيقات حديثة. [ 13 ]
- ResForge
- محرر موارد لنظام macOS، قادر على تحرير ملفات موارد fork الكلاسيكية والتنسيقات ذات الصلة. متوافق مع macOS 10.14 أو أحدث. يعمل بشكل أصلي على معالجات Intel وApple Silicon 64 بت. [ 14 ]
التوافق
نظرًا لأن تفرعات الموارد هي ميزة خاصة بنظام التشغيل Mac، فقد أدت إلى مشاكل في التوافق عند تخزين ملفات Mac على أنظمة الملفات التي لا تدعم تفرعات الموارد بشكل أصلي، مثل FAT ، أو عند تخزينها على مشاركات الشبكة ، أو عند نقلها عبر الشبكة، مثل البريد الإلكتروني .
يدعم بروتوكول AFP تفرعات الموارد بشكلٍ أصلي. تستخدم العديد من خوادم AFP داخليًا أنظمة ملفات لا تدعم تفرعات الموارد، وبالتالي تخزن تفرعات الموارد بطرق أخرى، مثل ملف أو دليل خاص أو في مسار بيانات بديل . يحدث هذا داخليًا على جانب الخادم، بحيث تبدو الملفات الموجودة على مشاركة AFP، من وجهة نظر العميل، وكأنها تحتوي على تفرعات موارد أصلية.
يدعم بروتوكول SMB نظام بيانات تعريفية للملفات مشابهًا لنظام Mac forks، يُعرف باسم تدفقات البيانات البديلة ، والذي يستخدمه نظام macOS افتراضيًا منذ الإصدار 10.6 إذا كان خادم SMB يدعمه. في الإصدارات السابقة من نظام Mac OS X، بما في ذلك الإصدارات المُحدَّثة من 10.6، تكون هذه الميزة مُعطَّلة افتراضيًا، ولكن يمكن تفعيلها يدويًا. [ 15 ]
في وحدات التخزين التي لا تدعم أصلاً فروع الموارد أو السمات الموسعة أو تدفقات البيانات البديلة، مثل أنظمة ملفات FAT المحلية أو مشاركات شبكة NFSv3 ، يستخدم نظام macOS تقنية تُسمى AppleDouble لتخزين فروع الموارد وبيانات التعريف الخاصة بنظام Mac. في هذه الحالة، يُكتب فرع البيانات كملف عادي، بينما يُكتب فرع الموارد وبيانات التعريف في ملف مخفي منفصل، يكون اسمه هو اسم الملف الأصلي مسبوقًا بـ "._". على سبيل المثال، سيحتوي الملف "ExampleFile.psd" على فرع البيانات، بينما سيحتوي الملف "._ExampleFile.psd" على فرع الموارد وبيانات التعريف المقابلة.
قد تنشأ مشاكل التوافق إذا لم تستخدم أجهزة Mac المتصلة بنفس مشاركة الشبكة نفس طريقة تخزين فروع الموارد. على سبيل المثال، إذا كان أحد الأجهزة يستخدم بروتوكولًا يدعم فروع الموارد بشكل أصلي مثل AFP، بينما يتصل جهاز آخر عبر بروتوكول مثل NFSv3 الذي يتطلب AppleDouble لتخزين فروع الموارد، فقد يرى الجهازان محتويات مختلفة لفروع الموارد لنفس الملف.
يتمثل تحدٍ آخر في الحفاظ على تفرعات الموارد عند نقل الملفات باستخدام تطبيقات لا تدعم تفرعات الموارد أو مع طرق نقل معينة، بما في ذلك البريد الإلكتروني وبروتوكول نقل الملفات (FTP). وقد تم ابتكار عدد من تنسيقات الملفات، مثل MacBinary و BinHexSplitForks ، لمعالجة هذه المشكلة. كما تتيح أدوات سطر الأوامر FixupResourceForksإمكانية دمج تفرعات الموارد وتسويتها يدويًا.
قد تواجه تطبيقات Carbon المُجمّعة لبنية Intel مشكلات في ترتيب البايتات عند التعامل مع الموارد، لأن معظم بيانات الموارد تُخزّن بترتيب البايتات الكبير (Big-Endian)، كما هو مُستخدم في بنيتي 68000 و PowerPC ، وهو ما لا يتوافق مع ترتيب البايتات الصغير (Little-Endian) المُستخدم في بنية Intel. وبينما يتعامل نظام التشغيل تلقائيًا مع اختلافات ترتيب البايتات هذه لتنسيق تفرع الموارد العام ولأنواع الموارد القياسية مثل ' snd ' أو ' moov'، يجب تبديل بايتات بيانات أي موارد ذات أنواع غير قياسية يدويًا لضمان سلوك متسق بغض النظر عن البنية. [ 16 ]
حتى ظهور نظام التشغيل Mac OS X v10.4 ، لم تكن أدوات سطر الأوامر القياسية في نظام التشغيل macOS (مثل `cpMac` cpو`mvMac` mv) تدعم تفرعات الموارد. لنسخ الملفات باستخدام تفرعات الموارد، كان لا بد من استخدام ` dittocpMac` أو `cpMac` و`mvMac`.
أنظمة تشغيل أخرى
نشأ مفهوم مدير موارد الكائنات الرسومية، بهدف توفير الذاكرة، في حزمة OOZE على جهاز Xerox Alto باستخدام لغة Smalltalk-76. [ 17 ] أصبح هذا المفهوم شائعًا في معظم أنظمة التشغيل الحديثة. مع ذلك، يبقى مفهوم تفرع الموارد خاصًا بنظام ماكنتوش. تستخدم معظم أنظمة التشغيل ملفًا ثنائيًا يحتوي على الموارد، يُضاف إلى نهاية ملف البرنامج الحالي. يُستخدم هذا الحل لموارد نظام ويندوز ، على سبيل المثال، وتُستخدم حلول مشابهة مع نظام X Window ، مع أن الموارد غالبًا ما تُترك كملف منفصل.
يدعم نظام الملفات NTFS في نظام التشغيل Windows NT خاصية التفرع (وبالتالي يمكن استخدامه كخادم ملفات لملفات Mac)، وتُسمى الميزة الأصلية التي توفر هذا الدعم " تدفق البيانات البديل" . تستخدم ميزات نظام التشغيل Windows (مثل علامة التبويب "الملخص" القياسية في صفحة "الخصائص" للملفات غير التابعة لـ Office) وتطبيقات Windows هذه الميزة، وكانت Microsoft تعمل على تطوير نظام ملفات من الجيل التالي يعتمد على هذا النوع من الميزات.
استخدمت الإصدارات الأولى من نظام التشغيل BeOS قاعدة بيانات ضمن نظام الملفات، والتي كان من الممكن استخدامها بطريقة مشابهة لتفرع الموارد. أدت مشاكل الأداء إلى تغيير في الإصدارات اللاحقة إلى نظام يعتمد على سمات نظام الملفات المعقدة. في ظل هذا النظام، تمت إدارة الموارد بطريقة أقرب إلى نظام ماك.
لا يستخدم نظام AmigaOS ملفات متفرعة. تُقسّم ملفاته التنفيذية داخليًا إلى بنية معيارية من أجزاء كبيرة ( وحدات ) قادرة على تخزين التعليمات البرمجية والبيانات ومعلومات إضافية. وبالمثل، تحتوي ملفات البيانات والمشاريع على بنية وحدات مُقنّنة في معيار IFF . تُخزّن أنواع الملفات الأخرى بطريقة مشابهة لأنظمة التشغيل الأخرى. على الرغم من أن AmigaOS ليس تفرعًا للموارد بالمعنى الدقيق، إلا أنه يخزن البيانات الوصفية في ملفات تُعرف باسم .infoملفات . .infoيمكن تحديد ملفات من خلال .infoامتدادها؛ على سبيل المثال، إذا قمت بحفظ مشروع على قرص، فسيتم حفظ ملفين، MyProject. MyProject.info. MyProjectوهو بيانات المشروع الفعلية، MyProject.infoويحتوي على أيقونة المشروع، ومعلومات حول البرنامج المطلوب لفتح المشروع (نظرًا لعدم وجود ربط تطبيقات في AmigaOS)، وخيارات المشروع الخاصة، وأي تعليقات من المستخدم. .infoملفات غير مرئية على سطح مكتب Amiga ( بيئة العمل ). الأيقونة الموجودة على سطح المكتب، والمأخوذة من .info. هي واجهة المستخدم التي يتفاعل المستخدم من خلالها مع المشروع نفسه .infoوملفه المرتبط به. يتيح مربع حوار يمكن الوصول إليه بالنقر بزر الماوس الأيمن على الأيقونة للمستخدم رؤية البيانات الوصفية الموجودة في .infoالملف وتعديلها. .infoيمكن عرض الملفات كملفات فردية في واجهة سطر الأوامر أو مدير الملفات . ترث نسخ AmigaOS الحديثة ( AROS و MorphOS و AOS4 ) بنية ملفات .infoإصدارات AmigaOS الأقدم (بما في ذلك البيانات الوصفية)، ويمكنها أيضًا قبول ملفات PNG الرسومية القياسية كصور نقطية للأيقونات في .infoملفاتها.
طبّقت أنظمة التشغيل NeXT ، مثل NeXTSTEP و OPENSTEP ، وخليفتها macOS ، وأنظمة أخرى مثل RISC OS، حلاً مختلفاً. في هذه الأنظمة، تُترك الموارد بتنسيقها الأصلي، فعلى سبيل المثال، تُضمّن الصور كملفات TIFF كاملة بدلاً من ترميزها في حاوية ما. ثم تُوضع هذه الموارد في دليل مع الشفرة التنفيذية والبيانات الأولية. يُعرض هذا الدليل (المسمى " حزمة " أو " دليل التطبيق ") للمستخدم كتطبيق نفسه. يوفر هذا الحل جميع وظائف تفرع الموارد، ولكنه يسمح لأي تطبيق بالتعامل مع الموارد بسهولة - فلا حاجة إلى "محرر موارد" (مثل ResEdit ). من واجهة سطر الأوامر، تظهر الحزمة كدليل عادي. لم يكن هذا الأسلوب متاحاً في نظام التشغيل Mac OS الكلاسيكي ، لأن نظام الملفات ( MFS ) لم يكن يدعم أدلة الفهرسة المنفصلة. وعندما أُضيف دعم ملفات الفهرسة إلى نظام Mac OS، مع نظام الملفات HFS، تم الاحتفاظ بتفرع الموارد. يحتفظ نظام macOS بواجهة برمجة تطبيقات إدارة الموارد الكلاسيكية كجزء من مكتبات Carbon الخاصة به لضمان التوافق مع الإصدارات السابقة. مع ذلك، يمكن الآن تخزين الموارد نفسها في ملفات بيانات منفصلة داخل نظام الملفات ، حيث تخفي إدارة الموارد هذا التغيير في التنفيذ عن كود العميل.
انظر أيضاً
مراجع
- ١ ٢ ٣ ٤ ٥ ٦ ٧ شركة أبل للكمبيوتر (١٩٩٣). "الفصل الأول: مدير الموارد". داخل ماكنتوش: المزيد من أدوات ماكنتوش (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ ٢٠٢٥-٠٩-٠٩.
- ↑ هيرتزفيلد، آندي . "العد التنازلي لمدير الموارد" . Folklore.org . مؤرشف من الأصل بتاريخ 2025-07-02 . تم الاطلاع عليه بتاريخ 2025-12-29 .
- ١ ٢ ٣ ٤ هورن، بروس . " النموذج الموحد الكبير (١) - الموارد" . Folklore.org . مؤرشف من الأصل بتاريخ ٢٥ فبراير ٢٠٢٥. تم الاطلاع عليه بتاريخ ٢٩ ديسمبر ٢٠٢٥ .
- ↑ هورن، بروس . "النموذج الموحد الكبير (2) - الباحث" . Folklore.org . مؤرشف من الأصل بتاريخ 27-03-2025 . تم الاطلاع عليه بتاريخ 29-12-2025 .
- ↑ "نظرة عامة على نظام الملفات: مقارنات أنظمة الملفات" . مطورو Apple . 25 مايو 2011. مؤرشف من الأصل في 5 ديسمبر 2023. تم الاطلاع عليه في 2 يناير 2026 .
- ↑ "ملاحظة فنية TN1150: تنسيق وحدة تخزين HFS Plus" . مطورو Apple . 5 مارس 2004. تم الاطلاع عليه في 11 فبراير 2024 .
- ↑ "أسئلة وأجوبة تقنية QA1175: تفرعات الموارد في ملفات Mach-O الثنائية" . مطورو Apple . 7 أغسطس 2002. مؤرشف من الأصل في 16 أغسطس 2023.
- ↑ ستايسي، جون (21 أغسطس 2009). "تفرعات موارد نظام التشغيل ماك أو إس إكس" . وجهة نظر جون . تم الاسترجاع في 22 أكتوبر 2012 .
- ↑ "مرجع مدير الموارد" . مطورو أبل . مؤرشف من الأصل بتاريخ 2014-06-04 . تم الاطلاع عليه بتاريخ 2025-12-29 .
- ↑ "ملاحظة فنية FL19: البيانات في فرع الموارد: لا تفعل ذلك" . مطورو Apple . 1 مارس 1986. مؤرشفة من الأصل في 16 أغسطس 2023.
- ↑ "استخدام مسارات الملفات" . مطورو أبل . 31 مارس 2001. مؤرشف من الأصل في 18 ديسمبر 2002. تم الاطلاع عليه في 18 ديسمبر 2002 .
- ↑ "rezycle: أداة استخراج موارد نظام macOS المثالية" . شركة Evolution Interactive . مؤرشف من الأصل بتاريخ 29 يناير 2025. تم الاطلاع عليه بتاريخ 2 يناير 2026 .
- ↑ fuzziqersoftware. "resource_dasm" . GitHub .
- ↑ andrews05. "ResForge" . GitHub .
- ↑ "نظام التشغيل Mac OS X الإصدار 10.5، الإصدار 10.6: حول التدفقات المسماة على خوادم NAS وMac OS X وWindows المتصلة عبر SMB؛ قد تظهر تنبيهات "-36" أو "-50"" . دعم Apple . مؤرشف من الأصل بتاريخ 22-06-2025 . تم الاطلاع عليه بتاريخ 29-12-2025 .
- ↑ "إرشادات البرمجة الثنائية الشاملة، الطبعة الثانية: تبديل البايتات § بيانات الموارد المخصصة" . مطورو أبل . 4 فبراير 2009. مؤرشف من الأصل في 12 أغسطس 2024. تم الاطلاع عليه في 30 ديسمبر 2025 .
- ↑ "التاريخ المبكر للغة سمول توك" . مؤرشف من الأصل بتاريخ 10 يوليو 2008. تم الاطلاع عليه بتاريخ 24 يوليو 2008 .
روابط خارجية
- وصف تنسيق ملف الموارد
- أرشيف وثائق مطوري Apple: مرجع مدير الموارد
- أرشيف وثائق مطوري Apple: دليل برمجة الحزم
- خدمات نظام التشغيل Mac OS X – خدمة لنظام التشغيل Mac OS X لحذف فرع الموارد لملف من خلال قائمة السياق
- ما قصة ملفات Mac OS X Resource forks و Extended Attributes و NTFS Streams و Dot-Underscore files؟
- عند حفظ ملف باستخدام بروتوكول SMB، ما المعلومات التي تُحفظ في الملفات التي تبدأ بنقطة وشرطة سفلية (._)؟ وكيف تُخزّن هذه المعلومات على نظام ملفات NTFS؟
- أنظمة تشغيل ماكنتوش
- أنظمة ملفات شركة أبل
