aspose.info
EL

CSO - Συμπιεσμένη εικόνα δίσκου ISO

Ενημερώθηκε

Τι είναι ένα αρχείο CSO;

Ένα αρχείο με την επέκταση .cso είναι ένα συμπιεσμένο αρχείο εικόνας ISO. Το CSO είναι μια εναλλακτική λύση στη μέθοδο συμπίεσης DAX. επίσης γνωστό ως CISO? ήταν η πρώτη μέθοδος συμπίεσης των αρχείων ISO και είναι συνήθως μια προτιμώμενη μέθοδος για την αρχειοθέτηση στοιχείων του PlayStation Portable. Αυτή η μορφή χρησιμοποιεί συμπίεση Deflate, η οποία μπορεί να περιλαμβάνει έως και εννέα επίπεδα συμπίεσης. Λογισμικό όπως το Prometheus και το YACC χρησιμοποιούνται για τη δημιουργία των εικόνων.

Μορφή αρχείου CSO

Η μορφή αρχείου CSO ήταν η πρώτη μέθοδος συμπίεσης για το ISO για εξοικονόμηση περισσότερου χώρου στη μνήμη. Οι βελτιώσεις γίνονταν κατά καιρούς για καλύτερη συμπίεση. Το CSO χρησιμοποιεί συμπίεση Deflate με εννέα επίπεδα προεπιλογών, συνήθως, κάθε επίπεδο μπορεί να χειριστεί 2 μπλοκ KiB ξεχωριστά. Ενώ τα υψηλότερα επίπεδα συμπίεσης μπορούν να επιβραδύνουν και να παρατείνουν τους χρόνους φόρτωσης στο λογισμικό που εξαρτάται σε μεγάλο βαθμό από τη ροή του δίσκου, επίσης τα χαμηλότερα επίπεδα μπορούν να εκτελέσουν σημαντική συμπίεση.

Δομή αρχείου CSO

Η μορφή αρχείου CSO περιέχει μια κεφαλίδα 24 byte, μπλοκ δεδομένων και έναν πίνακα ευρετηρίου. Το Little-endian θεωρείται για πεδία μεγαλύτερα από ένα byte. Η αρχιτεκτονική αρχιτεκτονική του PlayStation Portable δίνεται παρακάτω.

Κεφαλίδα

Μετατόπιση (bytes)ΌνομαΜέγεθος (bytes)Σκοπός
0x0Μαγεία4Πάντα CISO ή 0x4F534943 όταν διαβάζεται ως ακέραιος αριθμός 32 bit. Αυτό το πεδίο χρησιμοποιείται για την αναγνώριση ενός αρχείου CSO. Σημειώστε ότι αυτό το πεδίο μπορεί να είναι διαφορετικό για τα άλλα παράγωγα του CSO, για παράδειγμα, το ZSO χρησιμοποίησε τον μαγικό κωδικό ZISO.
0x4Μέγεθος κεφαλίδας4Για την αρχική μορφή αρχείου CSO “v1”, αυτό το πεδίο αγνοείται και επομένως δεν απαιτείται να είναι ακριβές. Ωστόσο, η μορφή “v2” και ZSO απαιτούν αυτό το πεδίο να είναι πάντα 0x18 (24 byte).
0x8Ασυμπίεστο μέγεθος8Το μέγεθος του αρχικού ασυμπίεστου ISO σε byte.
0x10Μέγεθος μπλοκ4Το μέγεθος κάθε μπλοκ δεδομένων σε byte πριν από τη συμπίεση. Συνήθως 2048 byte, ίδιο με το μέγεθος κάθε τομέα ISO 9660.
0x14Έκδοση1Η έκδοση της μορφής αρχείου που χρησιμοποιείται. Για τη μορφή “v1”, η τιμή μπορεί να είναι είτε 0 είτε 1. Για τη μορφή “v2”, αυτό πρέπει να είναι 2. Επιπλέον, η μορφή ZSO απαιτεί να είναι 1.
0x15Στοίχιση ευρετηρίου1Η στοίχιση κάθε καταχώρησης ευρετηρίου, που καθορίζεται σε bit.
0x16Με κράτηση2Αυτό το πεδίο δεν χρησιμοποιείται. Στη μορφή “v1”, αυτό το πεδίο αγνοείται και μπορεί να περιέχει αυθαίρετες τιμές. Στη μορφή “v2”, αυτό το πεδίο πρέπει να είναι μηδέν.

Πίνακας ευρετηρίου

Ο πίνακας ευρετηρίου περιέχει πολλές εγγραφές 4 byte, οι οποίες υποδεικνύουν τη θέση κάθε μπλοκ δεδομένων, και μια πρόσθετη, τελευταία καταχώρηση που οδηγεί στο τέλος του αρχείου. Το περιεχόμενο κάθε καταχώρισης έχει ως εξής:

BitΜήκοςΜάσκαΌνομαΣκοπός
0310x7FFFFFFFFΘέσηΑυτό το πεδίο, όταν μετακινηθεί προς τα αριστερά από τη στοίχιση ευρετηρίου που δίνεται στην κεφαλίδα, δείχνει τη θέση από την οποία ξεκινά το μπλοκ δεδομένων.
3110x80000000Τύπος συμπίεσηςΗ μορφή ZSO έχει παρόμοια σημασιολογία, μόνο που το 0 αντιπροσωπεύει το LZ4 αντί για το Deflate. Σε μορφή “v2”. Το μπλοκ θεωρείται σιωπηρά ότι δεν είναι συμπιεσμένο εάν το μέγεθος του μπλοκ είναι ίσο ή μεγαλύτερο από το μέγεθος του μπλοκ που καθορίζεται στην κεφαλίδα του αρχείου.

Αποκλεισμοί δεδομένων

Τα μπλοκ δεδομένων αποτελούνται από ασυμπίεστα ή συμπιεσμένα δεδομένα. Το μέγεθος ενός μπλοκ υπολογίζεται παίρνοντας τη θέση του και στη συνέχεια αφαιρώντας το από τη θέση του επόμενου μπλοκ. Εάν η στοίχιση του ευρετηρίου είναι μεγαλύτερη από το μηδέν, είναι πιθανό το μέγεθος του μπλοκ να είναι μεγαλύτερο από τα δεδομένα που διατηρεί.

βιβλιογραφικές αναφορές

  • N/A

Δείτε επίσης