aspose.info
HE

CSO - תמונת דיסק דחוס ISO

עודכן

מהו קובץ CSO?

קובץ עם סיומת .cso הוא קובץ תמונת ISO דחוס. ה-CSO הוא חלופה לשיטת הדחיסה של DAX; ידוע גם בשם CISO; הייתה השיטה הראשונה לדחיסת קבצי ISO והיא בדרך כלל שיטה מועדפת לארכיון דברים של PlayStation Portable. פורמט זה משתמש בדחיסה Deflate, שיכולה לכלול עד תשע שכבות דחיסה. תוכנות כגון Prometheus ו-YACC משמשות ליצירת התמונות.

פורמט קובץ CSO

פורמט הקובץ CSO היה שיטת הדחיסה הראשונה עבור ISO לחיסכון נוסף בשטח זיכרון. השיפורים נעשו מעת לעת לדחיסה טובה יותר. ה-CSO משתמש בדחיסה של Deflate עם תשע רמות של קביעות מוגדרות מראש, בדרך כלל, כל רמה יכולה להתמודד עם 2 בלוקים של KiB בנפרד. בעוד שרמות הדחיסה הגבוהות ביותר יכולות להאט וזמני טעינה ארוכים בתוכנה שתלויה במידה רבה בהזרמת דיסקים, גם הרמות הנמוכות יכולות לבצע דחיסה משמעותית.

מבנה קובץ CSO

פורמט הקובץ CSO מכיל כותרת של 24 בתים, בלוקי נתונים וטבלת אינדקס. ההנחה היא ליטל-אנדיאן עבור שדות הגדולים מבייט. עוצמת הארכיטקטורה של 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

ראו גם