شوكة الموارد

شوكة الموارد هي شوكة ملف على نظام التشغيل Mac OS الكلاسيكي من Apple والذي يستخدم لتخزين البيانات المنظمة. إنها واحدة من شوكتين لملف، إلى جانب شوكة البيانات ، والتي تخزن البيانات التي يعاملها نظام التشغيل على أنها غير منظمة. تم نقل إمكانية شوكة الموارد إلى نظام التشغيل macOS الحديث للتوافق.

يخزن شوكة الموارد المعلومات في نموذج محدد، يحتوي على تفاصيل مثل خرائط بتات الأيقونات، وأشكال النوافذ، وتعريفات القوائم ومحتوياتها، وكود التطبيق ( كود الآلة ). على سبيل المثال، قد يخزن ملف معالجة الكلمات نصه في شوكة البيانات، بينما يخزن أي صور مضمنة في شوكة الموارد الخاصة بنفس الملف. تُستخدم شوكة الموارد في الغالب بواسطة الملفات القابلة للتنفيذ ، ولكن يمكن لأي ملف أن يحتوي على شوكة موارد.

في مذكرة فنية صدرت عام 1986، أوصت شركة Apple بشدة المطورين بعدم وضع بيانات عامة في شوكة الموارد الخاصة بملف. ووفقًا لشركة Apple، هناك أجزاء من برنامج النظام تعتمد على شوك الموارد التي تحتوي فقط على معلومات Resource Manager الصالحة. [1]

تم تصور شوكة الموارد وتنفيذها بواسطة مبرمج Apple Bruce Horn .

أنظمة ملفات ماكنتوش

يحتوي شوكة الموارد على ثلاثة أغراض في أنظمة ملفات Macintosh الكلاسيكية:

  • يقوم بتخزين كافة البيانات الرسومية على القرص حتى الحاجة إليها، ثم يتم استرجاعها ورسمها على الشاشة والتخلص منها. يقلل هذا النوع من البرامج من متطلبات الذاكرة الافتراضية من 1 ميجا بايت في جهاز Lisa إلى 128 كيلو بايت في جهاز Macintosh. [ بحاجة لمصدر ]
  • إنه يوفر طريقة لغير المبرمجين لأداء التدويل والتوطين ، لأنه يتم تخزين جميع الصور والنصوص بشكل منفصل في شوكة الموارد.
  • يمكن استخدامه لتوزيع جميع مكونات التطبيق تقريبًا في ملف واحد، مما يقلل الفوضى ويبسط تثبيت التطبيق وإزالته.

يتم تنفيذ شوكة الموارد في جميع أنظمة الملفات المستخدمة لمحركات النظام في نظام التشغيل Mac OS الكلاسيكي ( MFS و HFS و HFS Plus )، وفي نظام APFS المخصص لنظام التشغيل macOS فقط . يجعل وجود شوكة الموارد من السهل تخزين مجموعة متنوعة من المعلومات الإضافية، مثل أيقونة يجب أن يعرضها سطح المكتب لهذا الملف. في حين تسمح شوكة البيانات بالوصول العشوائي إلى أي إزاحة داخلها، فإن الوصول إلى شوكة الموارد يعمل مثل استخراج السجلات المنظمة من قاعدة بيانات . ( يحتوي نظام التشغيل Microsoft Windows أيضًا على مفهوم " الموارد "، ولكن هذه الموارد لا علاقة لها بالموارد في نظام التشغيل Mac OS على الإطلاق.)

تخزن أنظمة ملفات Macintosh بيانات وصفية مميزة عن شوكة البيانات أو الموارد، مثل طوابع زمنية للإنشاء والتعديل، ونوع الملف وأكواد المنشئ، وأطوال الشوكة.

تحتوي بعض الملفات على شوكة موارد فقط. ومن الأمثلة على ذلك ملف الخط في نظام التشغيل Mac OS الكلاسيكي. ومن الأمثلة الأخرى تطبيق Classic 68k ، حيث يتم تضمين الكود القابل للتنفيذ في موارد من النوع "CODE". وفي وقت لاحق، قامت ملفات PowerPC الثنائية بتخزين الكود القابل للتنفيذ في شوكة البيانات.

نظرًا لأن شوك الموارد كانت مدعومة فقط على أنظمة ملفات Macintosh بما في ذلك MFS وHFS وHFS Plus وAPFS، فلا يمكن نسخها إلى أنظمة ملفات أنظمة التشغيل الأخرى . تم اختراع تنسيقي Mac BinHex و MacBinary لتشفير شوك الموارد والبيانات في ملف واحد، للنقل بين الأنظمة. دعمت A/UX شوك الموارد على أنظمة ملفات Unix عبر تنسيقي AppleSingle وAppleDouble . بدءًا من Mac OS X Tiger ، تم استخدام AppleDouble لتخزين شوك الموارد على أنظمة الملفات مثل مشاركات Windows SMB ومجلدات FAT32 ( جدول تخصيص الملفات ).

في نظام الملفات HFS Plus، يمكن إجراء الإعدادات للسماح بشوك أخرى بالإضافة إلى شوك البيانات والموارد، لإنشاء تطبيق "شوكة متعددة". [2]

اعتبارًا من 7 أغسطس 2002، أوصت شركة Apple بأن لا يقوم المطورون ببناء الموارد في شوك الموارد في ثنائيات Mach-O على نظام التشغيل Mac OS X. [3]

معرفات الموارد

يحتوي كل مورد على معرف OSType (قيمة مكونة من أربعة بايتات)، ومعرف ( كلمة موقعة مكونة من 16 بت )، واسم اختياري. توجد أنواع موارد موحدة لمربعات الحوار ( ) والصور ( ) والأصوات ( ) - والثنائيات القابلة للتنفيذ ( ) والتي كانت، حتى ظهور معالج PowerPC ، مخزنة دون استثناء في شوكة الموارد. يتم تخزين البرامج الفرعية لعرض النوافذ في نوع خاص بها من الموارد ( ) والبرامج الفرعية لعرض القوائم في نوع خاص بها ( ). مكّن هذا الترتيب المستخدمين من تخصيص ليس فقط التطبيقات الفردية ولكن أيضًا نظام التشغيل نفسه بسهولة، باستخدام أدوات مثل ResEdit لتعديل موارد ملف التطبيق أو أي من ملفات النظام. DITLPICTsnd CODE WDEFMDEF

داخل تطبيق أو كود آخر، يمكن تحميل الموارد ببساطة باستخدام مزيج من نوعها أو معرفها أو اسمها، بغض النظر عن كيفية تخزينها في شوكة الموارد ومكان تخزينها. يتم إرجاع مقبض إلى المورد المحمل إلى العميل والذي يمكن الوصول إليه بعد ذلك مثل أي بيانات أخرى تعتمد على الكومة. مكون نظام التشغيل الذي يسهل ذلك هو مدير الموارد. بالإضافة إلى تجريد تفاصيل تخزين البيانات من البيانات، يقوم مدير الموارد أيضًا بترتيب مجموعات من شوك الموارد المفتوحة في مكدس، مع وضع الملف المفتوح مؤخرًا في الأعلى. عند محاولة تحميل مورد، سيبحث في الجزء العلوي من المكدس أولاً (ربما شوكة الموارد الخاصة بالمستند الحالي)، ثم الشوكة التالية (شوكة موارد التطبيق)، ثم الشوكة التالية (شوكات موارد النظام). هذا الترتيب قوي جدًا - فهو يسمح للموارد المحلية بتجاوز الموارد العالمية الموجودة في الأسفل - بحيث يمكن للتطبيق توفير أيقوناته أو خطوطه الخاصة بدلاً من أيقونات النظام القياسية، على سبيل المثال. كما يسمح للتطبيق بتحميل الموارد من النظام باستخدام نفس واجهة برمجة التطبيقات مثل أي مورد آخر، بغض النظر عن مكان أو كيفية تخزين هذا المورد - بالنسبة للتطبيق، فإن جميع الموارد متاحة على قدم المساواة وسهلة الاستخدام. يحتفظ النظام بمعرفات الموارد في نطاق معين للمساعدة في تجنب تعارضات الموارد الناشئة عن ذلك. تسمح واجهات برمجة تطبيقات إدارة الموارد للمبرمج بالتلاعب بالمكدس وتعديل سلوك البحث.

تحرير

نظرًا لأنه يمكن تحرير شوكة الموارد باستخدام محرر موارد مثل ResEdit ، فيمكن استخدامه لتوطين البرامج وتخصيصها . بالإضافة إلى ذلك، تسمح معظم محررات الموارد بالتحرير المرئي للبيانات. في نظام التشغيل macOS ، من الممكن استخدام الموارد عند تطوير تطبيق. ومع ذلك، إذا كان من الضروري استخدام التطبيق في UFS ، فمن الممكن أيضًا تكوينه بحيث يتم نقل شوكة الموارد بالكامل إلى شوكة البيانات، باستخدام إعداد ملف الموارد الخام [ بحاجة لمصدر ] . تتضمن بيئات التطوير المتكاملة الموزعة مجانًا بواسطة Apple Inc. ، والتي تتضمن MPW وأدوات مطوري Apple ، مُجمِّعًا يسمى Rez. يستخدم هذا لغة مخصصة، تسمى أيضًا Rez، والتي يمكن استخدامها لإنشاء شوكة موارد عن طريق تجميع كود المصدر . يتم أيضًا تضمين مُفكك التجميع، DeRez، والذي يمكن استخدامه لتغيير شوكة الموارد مرة أخرى إلى كود Rez.

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

في نظام macOS، يتم تسمية الملفات المتفرعة باسم /..namedfork/ forkname ، على سبيل المثال ، ملف IMG_0593.jpg هو IMG_0593.jpg/..namedfork/rsrc. lsيدعم الأمر -l@خيارًا يسرد ملفات متفرعة معينة.

الوصول

تظهر شوك الموارد على هيئة السمة الممتدة com.apple.ResourceFork. [4]

في السابق كان يتم الوصول إلى شوك الموارد عبر واجهة برمجة التطبيقات "مدير الموارد" . أصبحت هذه الواجهة قديمة الآن. [5]

تحت واجهة برمجة التطبيقات القديمة:

  1. عند الوصول إلى شوكة مورد، تتم قراءة البيانات بما في ذلك موضع البداية وطول بيانات المورد وخريطة الموارد من الرأس.
  2. إذا تم تحديد نوع مورد للقراءة فيه، يتم إجراء فحص للتأكد من وجود هذا النوع في قائمة الموارد، والعثور على عدد عناصر البيانات التي تحتوي على هذا النوع وإزاحاتها في قائمة مرجع الموارد من موضع بداية خريطة الموارد.
  3. تم العثور على معرف المورد، وإزاحة اسم المورد، وخصائص المورد، وإزاحة البيانات من موضع بداية بيانات المورد.
  4. إذا كانت بيانات الموارد ذات المعرف أو الاسم المحدد موجودة في بيانات الموارد، فسيتم الوصول إلى الإزاحة التي تم الحصول عليها أعلاه، والعثور على طول البيانات، وقراءة جميع البيانات المخزنة هناك، وإرجاعها كقيمة إرجاع.

تسمح واجهات برمجة تطبيقات إدارة الملفات أيضًا PBOpenRF()بالوصول إلى شوكة الموارد الخام؛ ومع ذلك، يجب استخدامها فقط للتطبيقات مثل نسخ ملف - تحذر Apple بشدة من استخدام شوكة الموارد باعتبارها "شوكة بيانات ثانية".

من واجهة POSIX ، يمكن الوصول إلى شوكة الموارد كـ filename/..namedfork/rsrcأو كـ filename/rsrc؛ تم إيقاف استخدام النموذج الأقصر في Mac OS X v10.4 وتمت إزالته تمامًا في Mac OS X v10.7 . [6]

أنواع البيانات

تُسمى أصغر العناصر التي تشكل شوكة الموارد بأنواع البيانات. وهناك عدة أنواع من البيانات. وبعد الوصول إلى شوكة الموارد، يمكن العثور على محتوياتها من خلال قراءتها بالشكل المناسب لأنواع البيانات المحددة مسبقًا. إن وضع تعريفات داخل البرنامج توضح كيفية معالجة البيانات يجعل من الممكن تخزين الموارد المسماة موارد TMPL أيضًا. يؤدي استخدام هذه الطريقة إلى زيادة وضوح البيانات عند عرضها باستخدام برنامج مثل ResEdit، مما يجعل التحرير اللاحق أسهل. نظرًا لأن منصة Macintosh نشأت بمعالجات تعتمد على Motorola (68k وPPC)، يتم تسلسل البيانات إلى القرص بتنسيق big-endian .

وفيما يلي قائمة بأنواع البيانات الرئيسية، مرتبة أبجديًا.

نوع البيانات الاسم الحقيقي وصف
بي بي آي تي بت ثنائي يمثل بتًا منطقيًا واحدًا (صواب أو خطأ). عادةً ما يجب أن يكون عدد بتات BBIT مضاعفًا لـ 8.
منطقي منطقي يمثل قيمة منطقية. يتكون من بايتين؛ 256 هو القيمة الصحيحة، و0 هو القيمة الخاطئة.
شار شخصية يمثل حرفًا مكونًا من بايت واحد.
مركز أبحاث السوق سلسلة سي يمثل سلسلة من النموذج المستخدم في لغة البرمجة C : سلسلة من البايتات منتهية بعلامة فارغة .
دي إل إن جي كلمة طويلة عشرية عدد صحيح كلمة طويلة عشرية (عدد صحيح مكون من 4 بايتات). تمثل قيمًا تتراوح تقريبًا بين − 2.1 مليار و2.1 مليار.
سداسي عشري تفريغ سداسي يشير إلى أن البيانات من هذا الموضع إلى النهاية هي سداسية عشرية. يتم استخدام هذا لتمثيل موارد التعليمات البرمجية أو البيانات المضغوطة.
إتش إل إن جي كلمة طويلة سداسية عشرية يتم التعامل مع هذه البيانات كقيمة سداسية عشرية مكونة من 4 بايتات. يتم استخدامها، من بين أمور أخرى، لتمثيل الأعداد الصحيحة الأكبر من 2.1 مليار، مثل القيم الطويلة غير الموقعة في لغة C.
بي إس تي آر سلسلة باسكال يمثل سلسلة باسكال، حيث يعطي البايت الأول طول السلسلة.
تنام اسم النوع سلسلة تمثل قيمة مثل رمز المنشئ ، والتي يبلغ طولها دائمًا 4 بايت.
مستقيم المستطيل يمثل إحداثيات زوايا المستطيل (أعلى، يسار، أسفل، يمين). يبلغ طوله دائمًا 8 بايت.

أنواع

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

يجب أن يكون طول الأنواع 4 بايت، لذلك فإن الأنواع مثل snd وSTR تحتوي في الواقع على مسافة (0x20) في النهاية.

اسم نوع المورد الاسم الحقيقي وصف
أليس الاسم المستعار يخزن اسمًا مستعارًا لملف آخر، في فرع مورد لملف تم تعيين بت سمة "الاسم المستعار" الخاص به
ألرت يُحذًِر يحدد شكل مربع تنبيه التطبيق
تطبيق طلب تخزين معلومات التطبيق
بنك التنمية الوطني باقة يحدد بيانات مثل رمز نوع الملف المستخدم في التطبيق
سيكن أيقونة اللون يحدد رمز اللون المستخدم في البيانات
عقدة جدول البحث عن الألوان يحدد لوحة الألوان المستخدمة في البيانات
سي إن تي إل يتحكم يحدد تفاصيل أحد المكونات الموجودة في النافذة
شفرة مصدر الكود يخزن الكود الآلي للبرنامج
كورس المؤشر يحدد شكل المؤشر أحادي اللون (مربع 8 × 8 بت)
ديتل قائمة عناصر الحوار يحدد أحد مكونات النافذة
دلوج حوار يحدد شكل مربع الحوار للتطبيق
فريف مرجع الملف يحدد نوع الملف الذي يتعامل معه التطبيق
هفدر مساعدة بالون الأيقونة يحدد محتويات وشكل البالون المساعد الذي يتم عرضه عند تحريك المؤشر فوق الملف في Finder
اي سي ال 8 قائمة أيقونات مكونة من 8 بتات يحدد رمزًا يتم عرضه في Finder
آي سي إن إس قائمة الأيقونات ذات 32 بت يحدد رمزًا يتم عرضه في Finder
رمز رمز يحدد عنصرًا أحادي اللون يستخدم في البيانات
عطوف وصف الملف يحدد وصفًا لنوع الملف
مبار شريط القائمة يحدد قائمة وشريط قائمة لتطبيق
مديف تعريف القائمة يحدد قائمة لتطبيق. ويمكن أيضًا استخدامه لتحديد قوائم ذات أشكال معقدة مثل لوحات الألوان.
قائمة طعام قائمة طعام يحدد عناصر القائمة في التطبيق
مووف فيلم يخزن فيلم QuickTime
يفتح يفتح يحدد نوع الملف الذي يمكن للتطبيق فتحه
صورة فوتوغرافية صورة يخزن صورة PICT الموجودة في الملف
تفضيل التفضيل يخزن إعدادات البيئة للتطبيق
سند صوت يخزن الصوت المستخدم في الملف
سترا خيط يخزن سلسلة أو بيانات سداسية عشرية مستخدمة في الملف
رقم السلسلة قائمة السلاسل يخزن سلاسل متعددة مستخدمة في الملف
أسلوب أسلوب يحدد معلومات النمط، مثل الخط واللون وحجم النص
نص نص يخزن النص
TMPL نموذج يحدد تنسيق بيانات الموارد
الآية إصدار يحدد إصدار أو منطقة استخدام الملف
دبليو دي إي إف تعريف النافذة يحدد نافذة للتطبيق. يمكن أيضًا تعريف نوافذ ذات شكل غير محدد.
رياح نافذة يحدد شكل نافذة التطبيق

المحررين

إعادة التحرير
يتم توزيعه مجانًا بواسطة Apple. يمكن استخدامه لتحرير بيانات الموارد بصريًا. إذا كانت بنية البيانات معروفة، فيمكنه عرض مجموعة من أنواع البيانات المختلفة بتنسيق مرئي. لا يعمل على أنظمة macOS الحديثة.
ساحر
إنها باهظة الثمن، ولكنها تحظى بشعبية، حيث يمكن استخدامها للتحرير البصري للعديد من أنواع البيانات أكثر من ResEdit.
تحرير سداسي عشري
محرر ثنائي، والذي في الواقع يستخدم عادةً لتحرير شوكة البيانات بدلاً من شوكة الموارد.
ريسنايف
محرر مفتوح المصدر لنظام التشغيل Mac OS X ؛ لم يعد يتم صيانته.
ريزيكل
أداة macOS تقوم باستخراج الموارد من شوكة الموارد إلى ملفات ثنائية منفصلة أثناء تحويل العديد من الأنواع إلى تنسيقات مناسبة للتطوير الحديث.
الموارد_dasm
مستخرج موارد مفتوح المصدر لنظامي التشغيل macOS وLinux، وقادر أيضًا على تحويل العديد من الموارد إلى تنسيقات حديثة. [7]
ريسفورج
محرر موارد لنظام macOS، قادر على تحرير ملفات شوكة الموارد الكلاسيكية والتنسيقات ذات الصلة. متوافق مع macOS 10.14 أو أحدث. يعمل بشكل أصلي على كل من Intel 64 بت وApple Silicon. [8]

التوافق

أدى تعقيد البرمجة باستخدام شوك الموارد إلى مشاكل في التوافق عند الوصول إلى أنظمة ملفات أخرى عبر بروتوكولات مشاركة الملفات مثل AFP و SMB و NFS و FTP ، عند التخزين على وحدات تخزين غير HFS، أو عند نقل الملفات إلى أنظمة أخرى بطرق أخرى (مثل البريد الإلكتروني). يدعم بروتوكول AFP شوك الموارد بشكل أصلي، وبالتالي يتم نقل شوك الموارد عادةً إلى هذه المجلدات كما هي، وتخزينها بواسطة الخادم بشكل شفاف للعملاء. يدعم بروتوكول SMB نظام بيانات تعريف الملفات المماثل لشوك Macintosh المعروف باسم تدفقات البيانات البديلة (ADSes فيما يلي). لم يدعم نظام macOS تخزين شوك الموارد في ADSes على وحدات تخزين SMB بشكل افتراضي حتى Mac OS X v10.6 . في الإصدارات السابقة من نظام التشغيل، بما في ذلك الإصدارات المحدثة من 10.6، يمكن تمكين هذه الميزة بتغيير المعلمة أو عن طريق إنشاء ملف خاص. [9]

لا تحتوي بروتوكولات مشاركة الملفات الشبكية مثل NFSv3 وFTP على مفهوم بيانات تعريف الملف، وبالتالي لا توجد طريقة لتخزين شوك الموارد بشكل أصلي. وينطبق هذا أيضًا عند الكتابة إلى أنواع معينة من أنظمة الملفات المحلية، بما في ذلك UFS، وعلى وحدات تخزين SMB حيث لا يتم تمكين دعم دفق البيانات البديل. في هذه الحالات، يخزن macOS بيانات تعريف وشوك الموارد باستخدام تقنية تسمى AppleDouble ، حيث تتم كتابة شوكة البيانات كملف واحد، ويتم كتابة شوكة الموارد والبيانات التعريفية كملف منفصل تمامًا مسبوقًا باتفاقية تسمية "._". على سبيل المثال: يحتوي ExampleFile.psd على شوكة البيانات، ويحتوي ._ExampleFile.psd على شوكة الموارد والبيانات التعريفية.

قد تنشأ مشكلات التوافق لأن macOS سيتعامل مع تخزين شوك الموارد بشكل مختلف، اعتمادًا على إصدار macOS والإعدادات ونوع نظام الملفات. على سبيل المثال، على شبكة SMB مع مزيج من عملاء 10.5 و10.6. سيبحث عميل 10.6 المثبت حديثًا عن شوك الموارد ويخزنها على وحدة تخزين SMB في ADSes، لكن عميل 10.5 سيتجاهل (افتراضيًا) ADSes ويستخدم تنسيق AppleDouble للتعامل مع الشوكات. إذا كان خادم الملفات يدعم كلًا من AFP وNFS، فإن العملاء الذين يستخدمون NFS سيخزنون الملفات بتنسيق AppleDouble ، بينما سيخزن مستخدمو AFP شوكة الموارد بشكل أصلي. في هذه الحالات، يمكن أحيانًا الحفاظ على التوافق عن طريق إجبار العملاء على استخدام تنسيق AppleDouble أو عدم استخدامه .

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

هناك تحدٍ آخر يتمثل في الحفاظ على شوك الموارد عند نقل الملفات باستخدام تطبيقات غير مدركة لشوكة الموارد أو باستخدام طرق نقل معينة، بما في ذلك البريد الإلكتروني وبروتوكول نقل الملفات (FTP). وقد تم إنشاء عدد من تنسيقات الملفات، مثل MacBinary و BinHex ، للتعامل مع هذا. وتسمح أدوات نظام سطر الأوامر SplitForksبالتسوية FixupResourceForksاليدوية ودمج شوك الموارد. بالإضافة إلى ذلك، يجب على خادم الملفات الذي يسعى إلى تقديم أنظمة الملفات إلى عملاء Macintosh استيعاب شوكة الموارد بالإضافة إلى شوكة البيانات للملفات؛ وعادةً ما تنفذ خوادم UNIX التي توفر دعم AFP هذا باستخدام الدلائل المخفية.

تواجه التطبيقات القديمة المكتوبة باستخدام واجهة برمجة تطبيقات Carbon مشكلة محتملة عند نقلها إلى أجهزة Mac الحالية التي تعمل بمعالجات Intel . وبينما يعرف مدير الموارد ونظام التشغيل كيفية إلغاء تسلسل البيانات بشكل صحيح للموارد الشائعة مثل " snd " أو " moov"، فإن الموارد التي تم إنشاؤها باستخدام موارد TMPL يجب تبديل البايتات يدويًا لضمان قابلية التشغيل البيني للملفات بين إصدارات PPC وIntel للتطبيق. (بينما تكون خريطة الموارد وتفاصيل التنفيذ الأخرى كبيرة ، فإن مدير الموارد بحد ذاته لا يمتلك أي معرفة بمحتويات المورد العام، وبالتالي لا يمكنه إجراء تبديل البايتات تلقائيًا.)

حتى ظهور نظام التشغيل Mac OS X v10.4 ، لم تكن أدوات سطر الأوامر القياسية UNIX في نظام التشغيل macOS (مثل cpو mv) تحترم شوكة الموارد. لنسخ الملفات باستخدام شوكة الموارد، كان على المرء استخدام dittoأو CpMac وMvMac.

أنظمة التشغيل الأخرى

نشأ مفهوم مدير الموارد لكائنات الرسومات، لتوفير الذاكرة، في حزمة OOZE على Xerox Alto في Smalltalk-76. [10] أصبح المفهوم الآن عالميًا إلى حد كبير في جميع أنظمة التشغيل الحديثة. ومع ذلك، يظل مفهوم شوكة الموارد غريبًا على Macintosh. تستخدم معظم أنظمة التشغيل ملفًا ثنائيًا يحتوي على موارد، والتي يتم "إضافتها" بعد ذلك إلى نهاية ملف برنامج موجود. يتم استخدام هذا الحل على Microsoft Windows على سبيل المثال، ويتم استخدام حلول مماثلة مع نظام X Window ، على الرغم من أن الموارد غالبًا ما تُترك كملف منفصل.

يمكن لنظام Windows NT NTFS دعم الشوكات (وبالتالي يمكن أن يكون خادم ملفات لملفات Mac)، وتسمى الميزة الأصلية التي توفر هذا الدعم دفق البيانات البديل . تستخدم ميزات نظام التشغيل Windows (مثل علامة التبويب "الملخص" القياسية في صفحة "الخصائص" للملفات غير التابعة لـ Office) وتطبيقات Windows هذه الميزات، وكانت Microsoft تعمل على تطوير نظام ملفات من الجيل التالي يحتوي على هذا النوع من الميزات كأساس.

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

لا يستخدم AmigaOS ملفات متشعبة. يتم تقسيم ملفاته القابلة للتنفيذ داخليًا إلى بنية معيارية من القطع الكبيرة ( hunk ) القادرة على تخزين التعليمات البرمجية والبيانات والمعلومات الإضافية. وبالمثل، تحتوي ملفات البيانات والمشروع على بنية مقطعية مُدونة في معيار IFF . يتم تخزين أنواع الملفات الأخرى بشكل مشابه لأنظمة التشغيل الأخرى. على الرغم من أنه ليس شوكة موارد بشكل صارم، يخزن AmigaOS البيانات الوصفية في ملفات تُعرف باسم .infoالملفات. .infoيمكن التعرف على الملفات من خلال .infoالامتداد؛ على سبيل المثال، إذا قمت بحفظ مشروع على قرص، فسيتم حفظ ملفين، MyProjectو MyProject.info. MyProjectسيكون بيانات المشروع الفعلية MyProject.infoوسيحتوي على أيقونة المشروع والمعلومات المتعلقة بالبرنامج المطلوب لفتح المشروع (نظرًا لعدم وجود ربط تطبيق في AmigaOS) وخيارات المشروع الخاصة وأي تعليقات للمستخدم. .infoالملفات غير مرئية على سطح مكتب Amiga ( Workbench ). الرمز الموجود على سطح المكتب، المأخوذ من .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 بواجهة Resource Manager API الكلاسيكية كجزء من مكتبات Carbon الخاصة به لتحقيق التوافق مع الإصدارات السابقة. ومع ذلك، يمكن الآن تخزين الموارد نفسها في ملفات بيانات منفصلة داخل نظام الملفات - يخفي Resource Manager الآن هذا التغيير في التنفيذ من كود العميل.

انظر أيضا

مراجع

  1. ^ "ملاحظة تقنية FL19: البيانات في Resource Fork: لا تفعل ذلك". Apple Developer . 1 مارس 1986. مؤرشف من الأصل في 16 أغسطس 2023.
  2. ^ "ملاحظة تقنية TN1150: تنسيق وحدة تخزين HFS Plus". Apple Developer . 5 مارس 2004 . تم الاسترجاع في 11 فبراير 2024 .
  3. ^ "الأسئلة والأجوبة الفنية QA1175: شوك الموارد في ثنائيات Mach-O". Apple Developer . 7 أغسطس 2002. مؤرشف من الأصل في 16 أغسطس 2023.
  4. ^ ستايسي، جون (21 أغسطس 2009). "Mac OS X Resource Forks". وجهة نظر جون . تم الاسترجاع في 2012-10-22 .
  5. ^ "مرجع مدير الموارد". Apple Developer . مؤرشف من الأصل في 25 أكتوبر 2012. تم الاسترجاع في 22 أكتوبر 2012 .
  6. ^ "استخدام أسماء المسارات". Apple Developer . 31 مارس 2001. مؤرشف من الأصل في 2002-12-18 . تم الاسترجاع في 2002-12-18 .
  7. ^ fuzziqersoftware. "resource_dasm". GitHub .
  8. ^ andrews05. "ResForge". GitHub .
  9. ^ "Mac OS X v10.5, v10.6: About named streams on SMB-mounted NAS, Mac OS X, and Windows servers; "-36" or "-50" alerts may appear". دعم Apple . مؤرشف من الأصل في 24 يوليو 2010 . تم الاسترجاع في 2010-04-19 .
  10. ^ "التاريخ المبكر لـ Smalltalk" . تم الاسترجاع في 2008-07-24 .
  • وصف تنسيق ملف الموارد
  • مكتبة موارد مطوري Apple: مرجع مدير الموارد
  • مكتبة موارد مطوري Apple: إدارة الموارد والحزم
  • النموذج الموحد الكبير – تاريخ شوكة الموارد، من موقع folklore.org
  • Rezycle – أداة استخراج الموارد
  • خدمات Mac OS X – خدمة Mac OS X لحذف فرع الموارد لملف من خلال قائمة السياق
  • ما الأمر مع شوك الموارد في نظام التشغيل Mac OS X، والسمات الممتدة، وتدفقات NTFS وملفات Dot-Underscore؟
  • عندما أقوم بحفظ ملف باستخدام بروتوكول SMB، ما هي المعلومات التي يتم حفظها في ملفات "dot-underscore" (._)؟ كيف يتم تخزين هذه المعلومات على نظام الملفات NTFS؟
Retrieved from "https://en.wikipedia.org/w/index.php?title=Resource_fork&oldid=1236276158#Types"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate