লিনাক্স সমর্থন করে এমন ফাইল সিস্টেমগুলির সমস্ত বৈশিষ্ট্য অ্যাক্সেস করার জন্য কি সিস্টেম কল রয়েছে?


12

লিনাক্স অনেকগুলি ফাইল সিস্টেম সমর্থন করে (উদাহরণস্বরূপ: ext3, NTFS, FAT32, ইত্যাদি)।

নিম্নলিখিত চিত্রটি দেখায় যে লিনাক্স কীভাবে কোনও প্রক্রিয়াগুলিকে ফাইল অ্যাক্সেস করতে দেয়:

এখানে চিত্র বর্ণনা লিখুন

সুতরাং ধরে নিন যে কোনও read()ফাইল পড়ার জন্য সিস্টেম কল নামে একটি প্রক্রিয়া , যা ঘটবে তা হ'ল ভিএফএস স্তরটি অ্যাক্সেস করা হবে এবং ভিএফএস স্তরটি সিদ্ধান্ত নেবে যে ফাইল ফাইলটি যে পার্টিশনের ফাইল সিস্টেমের ভিত্তিতে অ্যাক্সেস করতে হবে that পড়া পড়া থাকে।

লিনাক্স (উদাহরণস্বরূপ: এক্সেস ফাইলগুলিতে অনেক সিস্টেম কল প্রদান করে read(), write(), rename(), ইত্যাদি)।

এখন read()এবং write()এবং rename()লিনাক্স সমর্থন করে এমন সমস্ত ফাইল সিস্টেমগুলিতে কাজ করে।

তবে নির্দিষ্ট বৈশিষ্ট্যগুলি রয়েছে যা কেবলমাত্র কিছু ফাইল সিস্টেমে উপস্থিত থাকে যখন অন্যদের মধ্যে উপস্থিত থাকে না। উদাহরণস্বরূপ: একটি এনটিএফএস ফাইল সিস্টেমে আপনি কোনও ফাইলের জন্য সংরক্ষণাগার বিট সেট করতে পারেন , যখন এটি এক্সট্রোল ফাইল সিস্টেমে করা যায় না।

এখন আমার প্রশ্নটি হল, লিনাক্স যে ফাইলগুলি সমর্থন করে সেগুলির সমস্ত বৈশিষ্ট্য অ্যাক্সেস করার জন্য কি সিস্টেম কল রয়েছে? উদাহরণস্বরূপ: লিনাক্সের কোনও এনটিএফএস ফাইল সিস্টেমে কোনও ফাইলের জন্য সংরক্ষণাগার বিট সেট করার জন্য একটি সিস্টেম কল রয়েছে ?

উত্তর:


10

লিনাক্সের কোনও এনটিএফএস ফাইল সিস্টেমে কোনও ফাইলের জন্য সংরক্ষণাগার বিট সেট করার জন্য একটি সিস্টেম কল রয়েছে?

এই বিশেষ ক্ষেত্রে, ntfs-3gড্রাইভার প্রসারিত বৈশিষ্ট্যের মাধ্যমে ফাইল বৈশিষ্ট্যগুলি রফতানি করে , লিনাক্সে এনটিএফএসে একটি ফাইলের জন্য আমি "সংরক্ষণাগার" বিটটি সেট করতে পারি?

(ভি) FAT ফাইল সিস্টেমে অনুরূপ ফাইল বৈশিষ্ট্য রয়েছে তবে এটি ioctl()অ্যাক্সেস করার জন্য এটি একটি ফাংশন ব্যবহার করে, দেখুন ioctl_fat(2)। ( ioctl()এক ধরণের মাল্টিপারপাস সিস্টেম কল, যা সমস্ত ধরণের ডিভাইস নির্দিষ্ট স্টাফের জন্য ব্যবহৃত হয় যা সত্যিকারের সিস্টেম কলের নিশ্চয়তা দেয় না))

এখন আমার প্রশ্নটি হল, লিনাক্স যে ফাইলগুলি সমর্থন করে সেগুলির সমস্ত বৈশিষ্ট্য অ্যাক্সেস করার জন্য কি সিস্টেম কল রয়েছে?

এটি নিশ্চিতভাবে উত্তর দেওয়া কঠিন , তবে এর বিপরীতে কমপক্ষে একটি উদাহরণ রয়েছে। ext4 অভ্যন্তরীণভাবে ফাইলগুলির জন্য "জন্ম সময়" টাইমস্ট্যাম্প সমর্থন করে (যেমন একটি আসল তৈরির সময়, ctimeইনোড পরিবর্তনের পরিবর্তে এর পরিবর্তে)। তবে যদিও ext4 "স্ট্যান্ডার্ড" ফাইল সিস্টেম, দীর্ঘ সময়ের জন্য, জন্মের সময় অ্যাক্সেস করার জন্য কোনও সিস্টেম কল ছিল না।

এটা দিয়ে এখন সমর্থিত করা উচিত, statx()সিস্টেম কল যোগ লিনাক্স 4.11 এপ্রিল 2017।

সম্পর্কিত:


3
এনটিএফএস! = ফ্যাট কমপক্ষে এনটিএফএসের কার্নেল সংস্করণে সংরক্ষণাগার পতাকাটি সেট করা বা পাওয়ার কোনও উপায় নেই, যদিও এর শিরোনামগুলি এটি সংজ্ঞায়িত করে। কেবলমাত্র ফিউজ ভিত্তিক এনটিএফএস -3 জি এটি সমর্থন করে বলে মনে হচ্ছে (বর্ধিত বৈশিষ্ট্যগুলির মাধ্যমে, বিশেষ আইওএসটিএলস নয়)।
চাচা বিলি

এটি সরাসরি প্রশ্নের সাথে সম্পর্কিত নয়, তবে আপনার উল্লেখের পরিপূরক হিসাবে statxএটি এখন সি লাইব্রেরিতে এবং কিছু দিন আগে প্রকাশিত কোর্টিলের সর্বশেষ সংস্করণে সমর্থিত।
স্টিফেন কিট

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