অপারেটিং সিস্টেমের অভ্যন্তরীণ কাজগুলি সম্পর্কে আমার খুব বেশি জ্ঞান নেই, তবে লিনাক্সে কেন আমাদের সর্বাধিক সংখ্যক খোলার ফাইল এবং চলমান প্রক্রিয়াগুলির সীমা থাকবে?
যদি কেউ আমাকে বুঝতে সাহায্য করতে পারে তবে আমি এটির প্রশংসা করব।
অপারেটিং সিস্টেমের অভ্যন্তরীণ কাজগুলি সম্পর্কে আমার খুব বেশি জ্ঞান নেই, তবে লিনাক্সে কেন আমাদের সর্বাধিক সংখ্যক খোলার ফাইল এবং চলমান প্রক্রিয়াগুলির সীমা থাকবে?
যদি কেউ আমাকে বুঝতে সাহায্য করতে পারে তবে আমি এটির প্রশংসা করব।
উত্তর:
এটি মূলত historicalতিহাসিক কারণে। পুরানো লিনাক্স মেইনফ্রেমে, অনেক ব্যবহারকারী মেইনফ্রেমের সংস্থানগুলি সংযুক্ত করে ব্যবহার করতে পারেন। অবশ্যই এটি সীমাবদ্ধ করা প্রয়োজন, এবং যেহেতু ফাইল হ্যান্ডলগুলি এবং প্রক্রিয়াগুলি যেমন কার্নেলের মধ্যে নির্মিত হয়েছিল তাই এটি সেখানে সীমাবদ্ধ ছিল। এটি কাঁটাচামচের বোমার মতো আক্রমণকে সীমাবদ্ধ করতেও সহায়তা করে । প্রক্রিয়া সীমা ব্যবহার করে ফর্ম বোমার বিরুদ্ধে একটি প্রতিরক্ষা এখানে দেখানো হয়েছে ।
এটি কাঁটাচামচ বোমা যা করার চেষ্টা করে তার মতোই পলাতক কাঁটাচামক ও ফাইল খোলার অনুমতি না দিয়ে জটিল পরিষেবা এবং ডেমোনগুলিকে তদারকি করতে সহায়তা করে।
এছাড়াও লক্ষণীয় যে র্যাম এবং সিপিইউয়ের পরিমাণ উপলব্ধ like সাধারণত প্রোগ্রামার এবং সিস্টেম প্রশাসক দ্বারা সেট করা এর উপরে set যাইহোক, আপনার 4294967296 প্রক্রিয়া হওয়ার অনেক আগে, আপনার মেশিনটি সম্ভবত পরিকল্পনা অনুসারে পুনরায় বুট করা হয়ে থাকতে পারে অথবা অন্য কোনও উত্সাহীন হয়ে থাকার কারণে এটি লক করা শুরু করেছিল।
আপনি যদি 584 টিআইবি মেমরির সাহায্যে টাইটান চালনা না করেন (আপনি পারবেন না, যেহেতু লিনাক্স একটি সুপার কম্পিউটারে একটি উদাহরণ হিসাবে চালানো যায় না), আপনি সম্ভবত এই প্রক্রিয়া সীমাটি শীঘ্রই পৌঁছাতে পারবেন না। তারপরেও, গড় প্রক্রিয়াটি মোটামুটি 146KB মেমরি থাকবে, ভাগ না করা মেমরি ধরে নিবে।
জীবন এবং লিনাক্স উভয় ক্ষেত্রেই সর্বাধিক কিছুর সীমাবদ্ধতা রয়েছে। কখনও কখনও সীমাগুলি খুব বেশি হয় এবং এটি নিয়ে চিন্তিত হওয়ার মতো নয় এবং কখনও কখনও সেগুলি খুব কম হয়, অলস প্রোগ্রামার দ্বারা নির্বিচারে সেট করা হয় বা হার্ডওয়্যারের সীমা দ্বারা নির্ধারিত হয়।
কোনও প্রোগ্রামার যখন সিদ্ধান্ত নেয় যেমন কোনও ক্ষেত্রের সর্বাধিক সংখ্যক অক্ষর যেমন ঠিকানা হিসাবে সিদ্ধান্ত নেয় তখন স্বেচ্ছাচারী সীমাবদ্ধতা আসে। প্রয়োজন অনুসারে মেমরিকে গতিশীলভাবে বরাদ্দ দেওয়ার চেয়ে কিছু স্বেচ্ছাচারী সীমা নির্ধারণ করা অনেক সহজ। আপনি কোনও সহজ ইনপুট ক্ষেত্রে সমস্ত উপলভ্য মেমরির বরাদ্দ করতে চান না, তবে আপনি ইনপুটটিকে অন্য মেমরির ওভাররাইট করার অনুমতি দিতে চান না যা গুরুত্বপূর্ণও হতে পারে। খোলা ফাইল এবং প্রক্রিয়াগুলির জন্য, একটি স্বেচ্ছাসেবক সীমা থাকতে পারে বা এটি উপলব্ধ মেমরির দ্বারা সীমাবদ্ধ হতে পারে। যদি পরবর্তীটি হয়, তবে সীমাটির কাছে যাওয়ার সাথে সাথে খারাপ জিনিসগুলি ঘটতে শুরু করবে এবং সিস্টেমটি স্তব্ধ হয়ে যেতে পারে, সুতরাং প্রায়শই এমন একটি সীমা থাকা উচিত যা ঘটে যাওয়ার আগে প্লে হয়। কখনও কখনও, স্বেচ্ছাসেবক সীমা মেমরি বা ডিস্ক জায়গার উপর নির্ভর করে শুরুতে নির্ধারিত হতে পারে এবং সাধারণত মোটামুটি বুদ্ধিমান হয়,
তারপরে হার্ডওয়্যার দ্বারা সীমাবদ্ধতা রয়েছে যেমন কোনও পূর্ণসংখ্যা বা চরিত্রের আকার। আপনার যদি 32-বিট সিস্টেম থাকে তবে পূর্ণসংখ্যার সর্বোচ্চ আকার দ্বারা সীমাবদ্ধতা রয়েছে (স্বাক্ষরিত না হলে 4,294,967,295, বা স্বাক্ষরিত হলে অর্ধেক)।
প্রক্রিয়াগুলির জন্য, / proc / sys / কার্নেল / পিড_ম্যাক্স সর্বাধিক পিড অনুমোদিত, সুতরাং এটি যে কোনও প্রসেসের যে তাত্ক্ষণিকভাবে চলতে পারে তার সংখ্যার কঠোর সীমা। যাইহোক, মেমরির সীমাবদ্ধতা সাধারণত এর আগে ভাল খেলায় আসে।
পুরো মেশিনে খোলা ফাইলগুলির উপরের সীমাটির জন্য, / proc / sys / fs / file-max হ'ল হার্ড সীমা; এটি মেশিনে মেমরির পরিমাণের উপর ভিত্তি করে, তাই এটি পৃথক হবে। কার্নেল এটি হতে সেট করে:
n = (mempages * (PAGE_SIZE / 1024)) / 10;
files_stat.max_files = max_t(unsigned long, n, NR_FILE);
যা প্রতি 1 এমবি র্যামের জন্য প্রায় 100 হয়ে থাকে।
প্রতি প্রক্রিয়া সীমা পৃথক। ulimit এগুলি সংজ্ঞায়িত করবে।
কম্পিউটারের সীমাবদ্ধতা রয়েছে বলে আমাদের একটি সীমা রয়েছে, আমার 4 গিগাবাইট র্যাম রয়েছে, তাই আমি এখন 15 টি গেম চালাতে পারি না?
আমি সম্ভবত এটি কিছুটা পিছিয়ে দিয়ে চালাতে পারি তবে এটি মানবিক হবে না, এটি আপনার পিসি এবং লিনাক্সের কর্নালের সীমা, আপনার উপর নিক্ষেপিত কোনও প্রোগ্রাম রাখতে সক্ষম হওয়ার জন্য আপনার আরও ভাল কর্নাল এবং প্রচুর র্যামের প্রয়োজন হবে would ।
উইন্ডোজ চালানোর সময় আমার ল্যাপটপের মত আমিও যুদ্ধক্ষেত্র খেলতে পারতাম, তবে এটি আমার র্যামের ৮০% লেগেছিল তাই যদি আমি "গতির জন্য গতি" খেলতে চেষ্টা করি, তবে এটি 60% অবধি গ্রহণ করে, আমি উভয়ই খুলতে পারি তবে আমার সম্পূর্ণ সিস্টেমটি হয় যেহেতু আমি 2 ভারী দায়িত্ব প্রোগ্রাম পরিচালনা করছি, তারা দুজনেই র্যামের জন্য লড়াই করছে (র্যান্ডম অ্যাক্সেস মেমোরি)
সংক্ষিপ্ত কথায়, একটি সাধারণ কম্পিউটার একবারে প্রচুর প্রোগ্রাম চালাতে পারে না মিউজিক, নোটপ্যাড, ব্রাউজার, ইমেল, গেম, আপনি মনে করেন যে এটি একটি কম্পিউটারে অনেক বেশি তবে এটি নিছক, ওয়ার্কফ্রাস্টের মতো একটি গেম অনেক বেশি র্যাম নেয় এবং আপনার কম্পিউটারকে লড়াই করে তোলে (যদি আপনার ব্যয়বহুল ল্যাপটপের মতো 8-16 গিগাবাইট র্যাম না থাকে!)