aspose.info
AR

CSO - صورة قرص ISO مضغوطة

تاريخ التحديث

ما هو ملف CSO؟

الملف ذو الامتداد .cso هو ملف صورة ISO مضغوط. CSO هو بديل لطريقة ضغط DAX ؛ المعروف أيضًا باسم CISO ؛ كانت الطريقة الأولى لضغط ملفات ISO وعادة ما تكون الطريقة المفضلة لأرشفة عناصر PlayStation المحمولة. يستخدم هذا التنسيق ضغط Deflate ، والذي يمكن أن يتضمن ما يصل إلى تسع طبقات ضغط. يتم استخدام برامج مثل Prometheus و YACC لإنشاء الصور.

تنسيق ملف CSO

كان تنسيق ملف CSO هو أول طريقة ضغط لـ ISO لتوفير مساحة أكبر من الذاكرة. تم إجراء التحسينات من وقت لآخر لتحسين الضغط. يستخدم CSO ضغط Deflate الذي يحتوي على تسعة مستويات من الإعدادات المسبقة ، وعادةً ما يمكن لكل مستوى التعامل مع كتل 2 KiB على حدة. في حين أن أعلى مستويات الضغط يمكن أن تبطئ أوقات التحميل الطويلة في البرامج التي تعتمد بشكل كبير على تدفق القرص ، كما يمكن للمستويات المنخفضة أن تؤدي ضغطًا كبيرًا.

هيكل ملف CSO

يحتوي تنسيق ملف CSO على رأس 24 بايت وكتل بيانات وجدول فهرس. يُفترض أن تكون قيمة Endian صغيرة للحقول الأكبر من البايت. فيما يلي الشكل الداخلي للهندسة المعمارية لجهاز PlayStation Portable.

العنوان

إزاحة (بايت)الاسمالحجم (بايت)الغرض
0x0السحر4دائمًا CISO ، أو 0x4F534943 عند قراءته كعدد صحيح 32 بت. يستخدم هذا الحقل لتعريف ملف CSO. لاحظ أن هذا الحقل يمكن أن يكون مختلفًا بالنسبة لمشتقات CSO الأخرى ، على سبيل المثال ، استخدم ZSO الرمز السحري ZISO.
0x4حجم الرأس4بالنسبة إلى تنسيق ملف CSO “v1” الأصلي ، يتم تجاهل هذا الحقل وبالتالي لا يشترط أن يكون دقيقًا. ومع ذلك ، يتطلب تنسيق “v2” و ZSO أن يكون هذا الحقل دائمًا 0x18 (24 بايت).
0x8حجم غير مضغوط8حجم ملف ISO الأصلي غير المضغوط بالبايت.
0x10حجم الكتلة4حجم كل كتلة بيانات بالبايت قبل الضغط. عادة 2048 بايت ، نفس حجم كل قطاع ISO 9660.
0x14الإصدار1إصدار تنسيق الملف قيد الاستخدام. بالنسبة للتنسيق “v1” ، يمكن أن تكون القيمة إما 0 أو 1. للتنسيق “v2” ، يجب أن تكون 2. بالإضافة إلى ذلك ، يتطلب تنسيق ZSO أن يكون 1.
0x15محاذاة الفهرس1محاذاة كل مدخل فهرس ، محدد بالبتات.
0x16محجوز2هذا الحقل غير مستخدم. في تنسيق “v1” ، يتم تجاهل هذا الحقل وقد يحتوي على قيم عشوائية. في تنسيق “v2” ، يجب أن يكون هذا الحقل صفراً.

جدول الفهرس

يحتوي جدول الفهرس على عدة إدخالات من 4 بايت ، والتي تشير إلى موضع كل كتلة بيانات ، ومدخل أخير إضافي يشير إلى نهاية الملف. محتوى كل إدخال كما يلي:

بتالطولقناعالاسمالغرض
0310x7FFFFFFFالمنصبهذا الحقل ، عند إزاحته لليسار بواسطة محاذاة الفهرس الواردة في الرأس ، يعطي الموضع الذي تبدأ فيه كتلة البيانات.
3110x80000000نوع الضغطيحتوي تنسيق ZSO على دلالات متشابهة ، فقط هذا 0 يمثل LZ4 بدلاً من Deflate. بتنسيق “v2”. تعتبر الكتلة غير مضغوطة ضمنيًا إذا كان حجم الكتلة مساويًا أو أكبر من حجم الكتلة المحدد في رأس الملف.

كتل البيانات

تتكون كتل البيانات من البيانات غير المضغوطة أو المضغوطة. يتم حساب حجم الكتلة عن طريق الحصول على موضعها ، ثم طرحها من موضع الكتلة التالية. إذا كانت محاذاة الفهرس أكبر من الصفر ، فمن المحتمل أن يكون حجم الكتلة أكبر من البيانات التي تحتوي عليها.

مراجع

  • N/A

انظر أيضًا