একটি CSO ফাইল কি?
.cso এক্সটেনশন সহ একটি ফাইল হল একটি সংকুচিত ISO ইমেজ ফাইল। CSO হল DAX কম্প্রেশন পদ্ধতির বিকল্প; CISO নামেও পরিচিত; এটি ছিল ISO ফাইলগুলিকে সংকুচিত করার প্রথম পদ্ধতি এবং সাধারণত প্লেস্টেশন পোর্টেবল জিনিসপত্র সংরক্ষণের জন্য এটি একটি পছন্দের পদ্ধতি৷ এই বিন্যাসটি ডিফ্লেট কম্প্রেশন ব্যবহার করে, যা নয়টি পর্যন্ত কম্প্রেশন স্তর অন্তর্ভুক্ত করতে পারে। প্রমিথিউস এবং YACC-এর মতো সফ্টওয়্যারগুলি চিত্রগুলি তৈরি করতে ব্যবহৃত হয়।
CSO ফাইল বিন্যাস
CSO ফাইল ফরম্যাটটি আরও মেমরি স্পেস সংরক্ষণের জন্য ISO-এর প্রথম কম্প্রেশন পদ্ধতি। উন্নত কম্প্রেশন জন্য সময়ে সময়ে করা হয়েছে. CSO নয়টি স্তরের প্রিসেট সহ ডিফ্লেট কম্প্রেশন ব্যবহার করছে, সাধারণত, প্রতিটি স্তর পৃথকভাবে 2 KiB ব্লক পরিচালনা করতে পারে। যদিও সর্বোচ্চ স্তরের কম্প্রেশন সফ্টওয়্যারে ধীর এবং দীর্ঘ লোড-টাইম করতে পারে যা ডিস্ক স্ট্রিমিংয়ের উপর অনেক বেশি নির্ভর করে, এছাড়াও নিম্ন স্তরগুলি যথেষ্ট কম্প্রেশন করতে পারে।
CSO ফাইলের কাঠামো
CSO ফাইল ফরম্যাটে একটি 24-বাইট হেডার, ডেটা ব্লক এবং একটি সূচক টেবিল রয়েছে। লিটল-এন্ডিয়ান একটি বাইটের চেয়ে বড় ক্ষেত্রের জন্য অনুমান করা হয়। প্লেস্টেশন পোর্টেবলের আর্কিটেকচারের শেষত্ব নিচে দেওয়া হল।
হেডার
অফসেট (বাইট) | নাম | আকার (বাইট) | উদ্দেশ্য |
---|---|---|---|
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 | Version | 1 | The version of the file format in use. For the “v1” format, the value can be either 0 or 1. v2 বিন্যাসের জন্য, এটি অবশ্যই 2 হতে হবে। অতিরিক্তভাবে, ZSO বিন্যাসের জন্য এটি 1 হতে হবে। |
0x15 | সূচক প্রান্তিককরণ | 1 | প্রতিটি সূচক এন্ট্রির প্রান্তিককরণ, বিটগুলিতে নির্দিষ্ট করা হয়েছে। |
0x16 | সংরক্ষিত | 2 | এই ক্ষেত্রটি অব্যবহৃত। v1 বিন্যাসে, এই ক্ষেত্রটি উপেক্ষা করা হয় এবং এতে স্বেচ্ছাচারী মান থাকতে পারে। v2 বিন্যাসে, এই ক্ষেত্রটি অবশ্যই শূন্য হতে হবে। |
সূচক টেবিল
ইনডেক্স টেবিলে বেশ কয়েকটি 4-বাইট এন্ট্রি রয়েছে, যা প্রতিটি ডেটা ব্লকের অবস্থান নির্দেশ করে এবং একটি অতিরিক্ত, শেষ এন্ট্রি যা ফাইলের শেষ দিকে নির্দেশ করে। প্রতিটি এন্ট্রির বিষয়বস্তু নিম্নরূপ:
বিট | দৈর্ঘ্য | মুখোশ | নাম | উদ্দেশ্য |
---|---|---|---|---|
0 | 31 | 0x7FFFFFFF | অবস্থান | এই ক্ষেত্রটি, যখন হেডারে প্রদত্ত সূচক সারিবদ্ধকরণ দ্বারা বামে স্থানান্তরিত হয়, তখন সেই অবস্থানটি দেয় যেখানে ডেটা ব্লক শুরু হয়। |
31 | 1 | 0x80000000 | কম্প্রেশন টাইপ | জেডএসও ফরম্যাটে একই ধরনের শব্দার্থ আছে, শুধুমাত্র 0 ডিফ্লেটের পরিবর্তে LZ4 প্রতিনিধিত্ব করে। v2 বিন্যাসে। যদি ব্লক সাইজ ফাইল হেডারে উল্লিখিত ব্লক সাইজের সমান বা বড় হয় তাহলে ব্লকটিকে অসংকোচিত বলে মনে করা হয়। |
ডেটা ব্লক
ডেটা ব্লকগুলি অসংকুচিত বা সংকুচিত ডেটা নিয়ে গঠিত। একটি ব্লকের আকার তার অবস্থান পেয়ে এবং তারপর নিম্নলিখিত ব্লকের অবস্থান থেকে বিয়োগ করে গণনা করা হয়। যদি সূচী সারিবদ্ধকরণ শূন্যের চেয়ে বেশি হয়, তাহলে সম্ভবত ব্লকের আকারটি ধারণ করা ডেটার চেয়ে বড়।
তথ্যসূত্র
- N/A