mkfifo - ডিস্ক I / O আসলেই ঘটে?


10

আমার 2 টি অ্যাপ্লিকেশন রয়েছে:

  • প্রযোজক (এন দৃষ্টান্ত)
  • গ্রাহক (1 উদাহরণ)

আমি বর্তমানে নির্মাতাদের মধ্যবর্তী ফলাফলগুলি লিখি এবং তারপরে ভোক্তা ডিস্ক থেকে এই ফাইলগুলি পড়ে এবং একটি চূড়ান্ত ফলাফল উত্পন্ন করে ।

আমি নির্মাতাদের সরাসরি আউটপুটগুলি সরাসরি ভোক্তার কাছে "স্ট্রিমিং" করে এই I / O হ্রাস করতে চাই।

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

উত্তর:


10

কোনও ডিস্ক আই / ও নেই (ফিফো ফাইল খোলার জন্য ফাইল সিস্টেমের মধ্যে নেভিগেট করার সময় বাদে সম্ভবত except)

থেকে FIFO (7) man পৃষ্ঠা লিনাক্স :

একটি ফিফোর বিশেষ ফাইল (একটি নামযুক্ত পাইপ) একটি পাইপের সাথে সমান, এটি ফাইল সিস্টেমের অংশ হিসাবে অ্যাক্সেস করা ছাড়া। [...] প্রক্রিয়াগুলি যখন FIFO- র মাধ্যমে ডেটা আদান প্রদান করে, কার্নেল ফাইল সিস্টেমে এটি লিখিত না করে সমস্ত তথ্য অভ্যন্তরীণভাবে পাস করে। সুতরাং, ফিফোর বিশেষ ফাইলটির ফাইল সিস্টেমে কোনও সামগ্রী নেই; ফাইল সিস্টেম এন্ট্রি নিছক একটি রেফারেন্স পয়েন্ট হিসাবে কাজ করে যাতে প্রক্রিয়াগুলি ফাইল সিস্টেমে নাম ব্যবহার করে পাইপ অ্যাক্সেস করতে পারে।


পারফেক্ট। আমি মেকফিফোর জন্য ম্যান পৃষ্ঠাটি পড়েছি, তবে "ফিফো" তে কোনও পৃষ্ঠা সন্ধান করার জন্য ভাবি নি - ধন্যবাদ!
Jmoney38

3

আপনার ফলাফলটি আসলে ডিস্ক ব্যাকড হয়েছে কিনা তা সত্য নয়, কারণ পর্যাপ্ত মেমরি পাওয়া গেলে তা কোনওভাবেই ক্যাশে হবে এবং কোনও আসল ডিস্ক আইও সঞ্চালিত হবে না। বিপরীতে, যদি এটি মেমরি-ব্যাকড থাকে এবং পর্যাপ্ত মেমরি না পাওয়া যায় তবে এটি ডিস্কে সরিয়ে নেওয়া যেতে পারে।

যদি আমি অনুমান করতে পারি তবে আমি বলব যে পাইপটি আসলে মেমোরি-ভিত্তিক, তবে তারপরে, এটি কেবল পরিবর্তন করা উচিত যদি রেবুটগুলির মধ্যে সারিযুক্ত ডেটা সংরক্ষণ করা থাকে।

আপনার যা যত্ন নিতে হবে তা হ'ল যেহেতু আপনার একাধিক প্রযোজক রয়েছে আপনার লেখকের পারমাণবিক হওয়া দরকার যাতে সেগুলি সারিবদ্ধভাবে প্রবেশ না করে। man 7 pipeকীভাবে কোনও রচনাটি পারমাণবিক হয় তা নিশ্চিত করার জন্য বিশদটি দেখুন ।

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