যখন কোনও শিশু কাঁটাচামচ করা হয় তখন এটি পিতামাতার ফাইল বর্ণনাকারীদের উত্তরাধিকার সূত্রে প্রাপ্ত হয়, যদি শিশু ফাইল বিবরণকারীটি বন্ধ করে দেয় তবে কী হবে?
এটি ফাইল বর্ণনাকারীর একটি অনুলিপি উত্তরাধিকার সূত্রে প্রাপ্ত । সুতরাং সন্তানের মধ্যে বর্ণনাকারীটি বন্ধ করা সন্তানের জন্য এটি বন্ধ করে দেবে, তবে পিতামাতার নয় এবং তদ্বিপরীত।
যদি বাচ্চারা লিখতে শুরু করে তবে পিতামাতার শেষে ফাইলটির কী হবে? কে এই অসঙ্গতিগুলি, কার্নেল বা ব্যবহারকারী পরিচালনা করে?
এটি হুবহু (ঠিক তেমন আক্ষরিকভাবে) একই ফাইলটিতে দুটি প্রক্রিয়া লেখার মতো। কার্নেলটি প্রক্রিয়াগুলি স্বাধীনভাবে সময়সূচী করে, তাই আপনি সম্ভবত ফাইলটিতে আন্তঃবিস্তারিত ডেটা পাবেন।
যাইহোক, পসিক্স (যার কাছে * নিক্স সিস্টেমগুলি মূলত বা সম্পূর্ণরূপে মেনে চলে), সিপিআইপি থেকে যেগুলি read()
এবং write()
ফাংশনগুলি (সিস্টেম কলগুলিতে কোন মানচিত্রটি থাকে) "নিয়মিত ফাইলগুলিতে অপারেট করার সময় একে অপরের প্রতি সম্মানজনক [...] হয় প্রতীকী লিঙ্ক "। জিএনইউ সি ম্যানুয়ালি পাইপের ক্ষেত্রেও অস্থায়ীভাবে এই প্রতিশ্রুতি দেয় (ডিফল্টটি নোট করুন PIPE_BUF
, যা প্রোভিসোর অংশ, ki৪ কিবি)। এর অর্থ হ'ল অন্যান্য ভাষা / সরঞ্জামগুলিতে কলগুলি, যেমন ব্যবহার echo
বা এর ব্যবহারকে cat
সেই চুক্তিতে অন্তর্ভুক্ত করা উচিত, সুতরাং যদি দুটি স্বতন্ত্র প্রক্রিয়া একই পাইপে একই সাথে "হ্যালো" এবং "ওয়ার্ল্ড" লেখার চেষ্টা করে তবে অন্যটি কী প্রকাশ পাবে শেষটি হয় "হেলিওরল্ড" বা "ওয়ার্ল্ডহেলো" এবং কখনও "এর মতো কিছু হয় না"
যখন কোনও প্রসেস কল ক্লোজ ফাংশনটি ফাইল ডেস্ক্রিপ্টরের মাধ্যমে কোনও নির্দিষ্ট ওপেন ফাইলটি বন্ধ করে দেয় process প্রক্রিয়া ফাইলের টেবিলটি রেফারেন্স গণনাটিকে এক দ্বারা হ্রাস করে ut তবে পিতামাতা এবং শিশু উভয়ই একই ফাইল ধারণ করে (সেখানে রেফারেন্স গণনা 2 হয় এবং বন্ধ হওয়ার পরে এটি হ্রাস পায়) 1) যেহেতু এটি শূন্য নয় তাই প্রক্রিয়া এখনও কোনও সমস্যা ছাড়াই ফাইল ব্যবহার করা চালিয়ে যায়।
TWO প্রক্রিয়া রয়েছে, পিতামাতা এবং শিশু। তাদের উভয়ের পক্ষে কোনও "রেফারেন্স কাউন্ট" সাধারণ নেই। তারা স্বাধীন। ডাব্লুআরটি যখন তাদের মধ্যে একটি ফাইল বর্ণনাকারী বন্ধ করে তখন কী হয়, প্রথম প্রশ্নের উত্তর দেখুন।
open()
এবংfork()
সেখানে একটি মধ্যে একটি পার্থক্য হল ফাইল descript-অথবা একটি ফাইল descipt-আয়ন - সাবেক পরে উল্লেখ করে, এবং যদিও একটি কাঁটাচামচ মধ্যে বর্ণনাকারী কপি, তারা একই বর্ণনা উল্লেখ। যাইহোক, পরীক্ষিত হলে এটি সুস্পষ্ট যে এর অর্থ এই নয় যে সন্তানের হ্যান্ডেলটি বন্ধ করা পিতামাতার হাতল বন্ধ করে দেয়। আমি মনে করি উভয় হ্যান্ডলগুলি লেখার সময় এটি ডেটা ইন্টারলাইভিংয়ে একটি সূক্ষ্ম পার্থক্য আনতে পারে - তবে এটি যেভাবেই হোক অনির্ধারিত, তাই ঠিক কীভাবে ঘটে তা এত গুরুত্বপূর্ণ নয়।