একটি 32 বিট সিস্টেমের মধ্যে এইচডি বিশাল ফাইল আছে কোন সমস্যা আছে?


2

আমি জানি যে 32 বিট সিস্টেমে আমরা সবচেয়ে বড় মেমরি 4GB (2 ^ 32) করতে পারি। কিন্তু ফাইলের পরিপ্রেক্ষিতে এর অর্থ কী?
আমি মনে করি যে আমরা আমাদের এইচডিএস মধ্যে ইচ্ছাকৃত আকারের ফাইল থাকতে পারে? 4 গিগাবাইট চেয়ে অনেক বেশি। তাই 32 বিট সিস্টেম এবং বড় ফাইল কোন caveats আছে?
আমি মনে করি নির্দিষ্ট 32-বিট প্রোগ্রাম 4 গিগাবাইটেরও বেশি ফাইল লোড করতে পারবে না বা আমি ভুল করব?


প্রোগ্রামগুলি মেমরিতে একবারে ফাইলটি পড়বে না, এটি অংশে সম্পন্ন করা হয়েছে, তাই আপনি এখনও ফাইলটি খুলতে এবং খেলতে পারেন।
magicandre1981

উত্তর:


7

মেমরির পুরো ফাইলটি লোড করার চেষ্টা করে এমন একটি অ্যাপ্লিকেশন থাকলে এটি কেবলমাত্র গুরুত্বপূর্ণ।
এমন একটি প্রোগ্রামার যে বড় ফাইলের জন্য গুলি করা উচিত। ভাল উপায় আছে।

কিছু সফ্টওয়্যার খুব বড় ফাইলগুলিতে বড় হয়ে যেতে পারে (বড় অর্থ> 2 গিগাবাইট), তবে এই ধরনের সফ্টওয়্যার সাধারণত 64-বিট সিস্টেমেও এটি করবে।
বেশিরভাগ ক্ষেত্রে এটি প্রোগ্রামারের কারণে ছোট ফাইলগুলির জন্য ডিজাইন করা এবং পরীক্ষিত সফটওয়্যারের কারণে হয়। সফটওয়্যারটি খুব বড় ফাইলগুলির সাথে সঠিকভাবে কাজ করার ক্ষেত্রে লজিক ত্রুটিগুলি রয়েছে। এটি নিজেই অপারেটিং সিস্টেমের সীমাবদ্ধতা নয়।
(খুব সাধারণ উদাহরণ ফাইলটিতে অবস্থানের ট্র্যাক রাখতে একটি স্বাক্ষরিত 32 নম্বর ব্যবহার করে, যা 2 গিগাবাইট সীমারেখা প্রদান করে।)

আপনার উদাহরণের ভিডিওতে: শুধুমাত্র একটি ছোট অংশ (আসলে যে অংশটি বাজানো হয় এবং বাফারিংয়ের অতিরিক্ত কয়েক সেকেন্ড) সাধারণত মেমরিতে লোড হয়। সাধারণত একটি সময়ে 2-3 মেগাবাইট বেশী নয়।

একটি হার্ডডিস্ক উপর ইচ্ছাকৃত আকার ফাইল জন্য: এটা সত্য নয়।
প্রতিটি ফাইল সিস্টেমের কোন একক ফাইলের সর্বোচ্চ আকার সীমাবদ্ধ।
উদাহরণস্বরূপ ফ্যাট32 এর ক্ষেত্রে সীমা প্রতি 4 গিগাবাইট। এনটিএফএসের সীমা 16 টিবি। ফাইল সিস্টেমটি 1 কে, 2 কে বা 4 কে ব্লক ব্যবহার করে কিনা তার উপর ভিত্তি করে লিনাক্স ফাইল সিস্টেম এক্সটি 3২ গিগাবাইট, 256 গিগাবাইট বা 2 টি বিবি সীমা রয়েছে।


16GB, 256GB or 2TB limit depending on whether the filesystem uses 1K, 2K or 4K blocks কিভাবে ব্লক আকার ফাইল সীমা প্রভাবিত করে?
Jim

@ জিম ext3 ফাইল সিস্টেম ব্লক ইউনিট ফাইল পরিচালনা করে। এইভাবে সীমা একটি ফাইল কত ব্লক থাকতে পারে দ্বারা নির্ধারিত হয়। এই ফাইলটি সর্বাধিক ফাইলাইজ করার জন্য একটি ব্লকের বাইট সংখ্যা দ্বারা গুণমান করতে হবে। এটা অস্বাভাবিক নয়। প্রায় প্রতিটি ফাইল সিস্টেম অভ্যন্তরীণভাবে ব্লকগুলিতে ডিল করে এবং এটির পরিচালনা করতে পারে এমন প্রতিটি ব্লক থেকে তার উচ্চ সীমা অর্জন করে। কিছু ফাইল সিস্টেম তাত্ত্বিক সর্বোচ্চ তুলনায় বাস্তব সীমা সেট। এটি কার্যকরী কারণ বা বাণিজ্যিকের জন্য হতে পারে (যদি আপনাকে খুব বড় ফাইল সমর্থন প্রয়োজন হয় তবে আপনাকে আরও ব্যয়বহুল লাইসেন্স কিনতে হবে)।
Tonny

4

আমি জানি যে 32 বিট সিস্টেমে আমরা সবচেয়ে বড় মেমরি 4GB (2 ^ 32) করতে পারি।

এটা ভুল; 32-বিট CPU এর জন্য 4 গিগাবাইটের বেশি RAM ব্যবহার করা সম্পূর্ণরূপে সম্ভব, ঠিক যেমনটি 16-বিট CPU- র 64 কিবমি র্যামের বেশি ব্যবহার করতে পারে। মনে রাখবেন যে 16 বিট 80২86 16 এমবি ঠিক করতে পারে ২4-বিট অ্যাড্রেস বাসের মাধ্যমে (এটিকে বিশাল পরিমাণ মেমরি বলে মনে করা হয়েছিল; 80২86 সালে 198২ সালে পাওয়া যায় এবং 1983 সালে প্রথম 3.5 "হার্ড ডিস্কের ভূমিকা দেখানো হয়, এটি একটি 10 ​​মেগাবাইট স্টোরেজ ধারণক্ষমতা ; দ্য আইবিএম পিসি এ , যা ইন্টেল 80২86 এর চারপাশে ডিজাইন করা হয়েছিল, ন্যূনতম 256 কিব র্যাম RAM) এবং 1979-মদ ইন্টেল 8086 এর 1 এমবিবি ঠিকানা ঠিকানা ছিল (এবং কম্পিউটেশনাল ক্ষমতা প্রদান আসল আইবিএম 5150 পিসি যা 646 KiB এর 16-বিট ঠিকানার স্থানীয় সীমা অতিক্রম করে ২56 KiB পরিমাণ RAM তে আপগ্রেড করা যেতে পারে)। যেমন কৌশল তাকান শারীরিক ঠিকানা এক্সটেনশান , ব্যাংক সুইচিং (যা প্রোগ্রামারের অংশে যত্ন নেওয়ার প্রয়োজন ছিল, এটি পূর্ববর্তী পিসিতে এবং পূর্ববর্তী ইলেকট্রনিক কম্পিউটারগুলিতে তার আপেক্ষিক প্রয়োগ সরলতার কারণে সাধারণ ছিল; অ্যাপোলো গাইডেন্স কম্পিউটার একটি ব্যাংক সুইচ ডিজাইন ছিল ) এবং যেমন মেমরি মডেল segmented x86 মেমরি বিভাজন মডেল

এই পদ্ধতিতে নির্ভর না করেই কত মেমরির সমাধান করা যেতে পারে তার জন্য অবশেষে সীমাবদ্ধ ফ্যাক্টর CPU এর নেটিভের প্রস্থ ঠিকানা বাস , যা থেকে স্বাধীন সিপিইউ এর নেটিভ ওয়ার্ড প্রস্থ, বা সাধারণভাবে উল্লেখ করা হিসাবে Bitness । 64-বিট অংশে ডাটা দিয়ে কাজ করে এমন একটি সিপিএম তৈরি করা সম্পূর্ণরূপে সম্ভব হবে (এটি একটি 64-বিট CPU তৈরি করবে) যদিও এটি একটি 16-বিট ঠিকানা বাস আছে; আমি এমন কিছু করার জন্য কোনও বাস্তব অ্যাপ্লিকেশন দেখতে পাচ্ছি না, তবে এটি টেকনিক্যালি একটি দ্বন্দ্ব নয়।

এখন, অনেক লোক 32-বিট CPU গুলিতে এই কৌশলগুলি নিয়ে বিরক্ত হয় না কারণ প্রায়শই তারা পিসিতে সাধারণ ছিল, 4 GiB আসলেই আপনার প্রয়োজন ছিল এবং 32-বিট CPU গুলি সাধারণত যথেষ্ট পরিমাণে ঠিকানা বাসগুলি ছিল না এই একটি উদ্বেগ; এমনকি হ্রাস ক্ষমতা 80386 এসএক্স একটি 24 বিট ব্যবহারযোগ্য ঠিকানা বাস ছিল , 1988 সালে 16 MiB এর অ্যাড্রেস স্পেসের জন্য একই বছরের ভূমিকা দেখেছিল একটি 20 মেগাবাইট হার্ড ডিস্ক সেটআপ । বিভাজন সঙ্গে নিজেকে উদ্বেগ প্রয়োজন, PAE এবং অনুরূপ কৌশল জীবন তোলে অনেক প্রোগ্রামার উপর সহজ। তবে 32-বিট সার্ভার সফটওয়্যারটি সাধারণত 4 গিগাবাইট র্যামের বেশি হ্যান্ডেল করার জন্য লিখিত ছিল।

এবং অবশ্যই, দৃষ্টিকোণ জন্য, 16-বিট সফ্টওয়্যার 65,536 বাইটের চেয়ে বড় ফাইলগুলির সাথে নিয়মিত কাজ করে। যদি আপনি আপনার সফটওয়্যারটি ন্যাটোভাবে ফাইলগুলির সাথে কাজ করতে চান তবে এটি একটি ছোট চিন্তাভাবনা নেয়, যা মেমরির একক-বরাদ্দকৃত ব্লকটিতে মাপসই করা খুব বড়, তবে এটি অবশ্যই অসম্ভব নয়।

কিন্তু ফাইলের পরিপ্রেক্ষিতে এর অর্থ কী? আমি মনে করি যে আমরা আমাদের এইচডিএস মধ্যে ইচ্ছাকৃত আকারের ফাইল থাকতে পারে? 4 গিগাবাইট চেয়ে অনেক বেশি।

না, আপনি থাকতে পারে না ইচ্ছামত বড় ফাইল, এমনকি যদি উপলব্ধ প্রকৃত স্টোরেজ স্পেস দ্বারা সীমাবদ্ধ: সর্বনিম্ন লজিক্যাল পর্যায়ে, ফাইল সিস্টেম কত বড় ফাইল সংরক্ষণ করা যেতে পারে তার সীমা রাখে, কেবলমাত্র ফাইলের আকারটি কোথাও সংরক্ষণ করতে সক্ষম হওয়ার জন্য এটি কেবলমাত্র প্রয়োজন। সঠিক সীমা ফাইল সিস্টেম এবং কখনও কখনও সেটিংস সঙ্গে পরিবর্তিত হয়। এনটিএফএস, এক্সটি 4 এবং এরকম আধুনিক ফাইল সিস্টেমগুলির সাথে সীমাগুলি এত বেশি যে আপনি একটি একক ডিস্কের সাহায্যে তাদের আঘাত করার সম্ভাবনা কম না। may আপনি একটি বড় স্টোরেজ অ্যারে আছে একটি উদ্বেগ হতে। উদাহরণ স্বরূপ, এনটিএফএস (ফাইল সিস্টেম) 16 ইআইবি পর্যন্ত ফাইল মাপ সমর্থন করে, যদিও এনটিএফএস বাস্তবায়ন উইন্ডোজ বর্তমানে (কৃত্রিমভাবে) সীমিত 256 টিআইবি এর মধ্যে সর্বোচ্চ ফাইল আকারে (উইন্ডোজ 8 এবং উইন্ডোজ সার্ভার ২01২ মুক্তির মাধ্যমে 16 টিআইবি থেকে উত্থাপিত)।

16 টিআইবি একটি অতিরিক্ত পরিমাণে সঞ্চয়স্থান নয়; আপনি উদযাপন করে সেখানে পেতে পারেন RAID-6 এ 4 টি টিবি এর 7 ডিস্ক, যা ব্যক্তিদের এমনকি অর্থনৈতিক নাগালের মধ্যেই ভাল।

একই জিনিস উইন্ডোজ এর বিভিন্ন সংস্করণ সঙ্গে সম্পন্ন করা হয়েছে, কৃত্রিমভাবে ব্যবহারযোগ্য RAM পরিমাণ সীমাবদ্ধ অন্তর্নিহিত স্থাপত্য ব্যবহার করা আরো প্রচুর অনুমতি দেওয়া হলেও।

তাই 32 বিট সিস্টেম এবং বড় ফাইল কোন caveats আছে? আমি মনে করি নির্দিষ্ট 32-বিট প্রোগ্রাম 4 গিগাবাইটেরও বেশি ফাইল লোড করতে পারবে না বা আমি ভুল করব?

এটি সফ্টওয়্যার এবং এটির ডেটা ফাইলগুলির সাথে কীভাবে কাজ করে তার উপর নির্ভর করে, তাই হ্যাঁ, যদি অপারেটিভ শব্দগুলি থাকে নির্দিষ্ট 32 বিট প্রোগ্রাম তারপর আপনার অনুমান প্রায় অবশ্যই সঠিক। তারপর আবার, নির্দিষ্ট 64 বিট প্রোগ্রাম বিশাল ফাইল ভাল সঙ্গে মোকাবিলা করতে পারে না। আমি মাঝে মাঝে কাজ এই মধ্যে চালানো; উদাহরণস্বরূপ, মাইক্রোসফ্ট ওয়ার্ড 2010 আমার জন্য 512 মেগাবাইটের চেয়ে বড় কোনও ফাইল লোড করতে অস্বীকার করবে, যদিও এটি ব্যবহার করার চেষ্টা করার জন্য আমার কাছে উপলব্ধির চেয়েও অনেক বেশি মেমরি আছে।

সফ্টওয়্যার একবারে পুরো মেমরিটি মেমরিতে লোড করার চেষ্টা করে (এটি আসলে যা করা উচিত নয়) এবং তার কৃত্রিম সীমাবদ্ধতা নেই, বর্তমান অপারেটিং সিস্টেমের সাথে সীমিত ফ্যাক্টর উপলব্ধ ভার্চুয়াল মেমরি আকার হবে। (বিঃদ্রঃ: ভার্চুয়াল মেমরি এবং swap দুটি সম্পূর্ণ ভিন্ন জিনিস। আপনি বিবেচনা করতে হবে মেমরি overcommitting ।) অন্যদিকে যদি সফটওয়্যারটি মেমরির মধ্যে কেবলমাত্র একটি অংশ মেমরিতে লোড করে তবে যতক্ষণ OS নিজেই 4 জিবিবির 32-বিট সাইজ সীমা অতিক্রম করে ফাইলটির অংশগুলি অ্যাক্সেস করার সুবিধাগুলি সরবরাহ করে এবং ফাইলটি ফাইলটি ফাইলের আকারের সাথে মোকাবিলা করতে পারে, ফাইলের প্রকৃত আকারটি বেশিরভাগ ক্ষেত্রেই উদ্বেগযুক্ত হওয়া উচিত নয় এবং যদি এটি হয় তবে এটি সম্ভবত একটি ব্যবহারকারীর সফ্টওয়্যার বাগ।


আপনি এটা চেয়ে ভাল এবং আরো বিস্তৃত প্রণয়ন। নিস!
Tonny

@ টনি এটি আসলে একটি মন্তব্য হিসাবে শুরু হয়েছে, কিন্তু তারপর আমি এটি পরিবর্তে একটি পূর্ণ উত্তর হিসাবে ভাল ছিল সিদ্ধান্ত নিয়েছে।
a CVn

এটা যে উপায় ভাল। আমি রাজী :-)
Tonny
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.