যখন কোনও ডিস্ক রিড বা ডিস্ক রাইটিং ঘটে তখন ডেটা কোথায় যায়?


10

আমি বুঝতে পেরেছি যে ডিস্ক নিয়ামক হিসাবে এমন একটি জিনিস রয়েছে যার মধ্যে একটি বাফার রয়েছে, তবে ভাবছিলাম যে সিপিইউ এই বাফারটি থেকে সরাসরি পড়ে কিনা, বা ডেটাটি প্রথমে মেমরির কোনও নির্দিষ্ট জায়গায় যেতে হবে এবং তারপরে নিজেই পড়ার অনুমতি দেবে কিনা সিপিইউ দ্বারা?

কেউ কি জানেন বাফারকে কী বলা হয়? এবং কিভাবে ডিএমএ এই সমস্ত মধ্যে ফিট করে?

উত্তর:


20

কোনও ডিস্কের জন্য ডেটা প্রবাহটি পড়া মূলত:

  • পঠন / লেখার সমাবেশটি অনুরোধকৃত সিলিন্ডারে যাওয়ার পরে, অনুরোধ করা r / w শিরোনামটি নির্বাচন করা হয়।
  • প্রতিটি সেক্টরে, সেক্টর আইডি পড়া হয়। যদি সেক্টরের নম্বরটি পড়েছিল যদি অনুরোধকৃত সেক্টরের সংখ্যার সাথে মেলে, তবে সেক্টরের ডেটাটি পড়ে।
  • সেক্টর ডেটা সিরিয়াল বিট স্ট্রিম হিসাবে পড়া হয় এবং বাইটে রূপান্তরিত হয়।
  • সেক্টরের বাইটগুলি একটি সেক্টর বাফারে সংরক্ষণ করা হয় (সাধারণত কন্ট্রোলারে এসআরএএম); এই সেক্টর বাফারটি "ডিস্ক ক্যাশে" থেকে পৃথক।
  • পুরো খাতটি একবার পড়ার পরে, ডেটা ইসিসি ব্যবহার করে বৈধ করা হয়েছে, এবং সম্ভবত সংশোধন করা হয়েছে।
  • একবার বৈধ হয়ে গেলে, খাতটির ডেটা নিয়ামক থেকে হোস্ট পিসিতে স্থানান্তরিত হয়। দ্রষ্টব্য: এই সেক্টর বাফারটির অস্তিত্ব ভালভাবে জানা যায় না এবং হোস্টের (ট্রাফিক) ইন্টারফেসের স্থানান্তর গতি আর / ডাব্লু বিট বিট রেট দ্বারা আবদ্ধ বা সীমাবদ্ধ রয়েছে এমন বিস্তৃত ভুল তথ্য রয়েছে। এটি সম্পূর্ণ মিথ্যা, যেহেতু এই দুটি ডেটা স্থানান্তরগুলি স্বতন্ত্র এবং অনুক্রমিক ক্রিয়াকলাপ এবং সমবর্তী নয়।
  • পিসি যেমন এটিএ ইন্টারফেসের মাধ্যমে ডিস্ক কন্ট্রোলার থেকে ডেটা গ্রহণ করে, পিসি হয় প্রোগ্রামড আই / ও ব্যবহার করতে পারে (সিপিইউ বারবার এটিএ পোর্টের ডেটা রেজিস্টার পড়ে এবং গন্তব্য মেমোরিতে মানটি অনুলিপি করে) বা ডিএমএ (ডিএমএ নিয়ামক) এটিএ বন্দরের ডেটা রেজিস্ট্রার থেকে এন বাইটস মেমরি বাফার ডাব্লু / আরও সিপিইউ হস্তক্ষেপে অনুলিপি করতে সেটআপ)।
  • পিসির মেমোরি "বাফার" যা ডেটা গ্রহণ করে তা অ্যাপ্লিকেশনটির বাফার ( ব্লক আই / ও সিস্টেম কল ব্যবহার করার সময় ) হতে পারে, বা ফাইল সিস্টেম নিয়ন্ত্রণের অভ্যন্তরীণ সিস্টেম বাফার হতে পারে, এমনকি যদি ডেটা অদলবদল থেকে আসে তবে প্রোগ্রাম বা ডেটা মেমরিও হতে পারে অঞ্চল (বা পৃষ্ঠা ফাইল)

ডিস্কে একটি লিখন অনুরূপ, পিসি থেকে ডিস্ক নিয়ন্ত্রকের কাছে ডেটা স্থানান্তরিত করা বাদে ইসিসি গণনা করা হয়, অনুরোধকৃত সেক্টরটি অবস্থিত এবং তারপরে ডেটা সেক্টর বাফার থেকে প্ল্যাটারে লেখা হয়।

অতিরিক্ত creditণের জন্য:

" স্ক্যাটার-সংগ্রহ " স্থানান্তরগুলি পড়ুন, যা ডিএমএ চেইনিং এবং মেমরি ঠিকানা এবং বাফার দৈর্ঘ্যের একটি স্ক্রেটার-সংগ্রহের তালিকা ব্যবহার করে। একটি বৃহত, সংলগ্ন মেমরি বাফারের পরিবর্তে, "স্ক্র্যাটার-সংগ্রহ" স্থানান্তরটি নন-কন্টিগিউজ মেমরি বাফার্সকে ডিস্ক I / O অনুরোধের জন্য একত্রিত করতে দেয়।


1
'আর / ডাব্লু হেডস' সম্পর্কে সম্ভবত কিছুটা সুনির্দিষ্ট হতে পারে যেহেতু আজকাল নন-মেকানিকাল ড্রাইভগুলি প্রায়শই ঘন ঘন ব্যবহৃত হচ্ছে, তবে এটি একটি ভাল উত্তর।
— শিনরাই

@ শনরাই - আমার কেবল চলন্ত-আর্ম ডিস্ক ড্রাইভের সাথে প্রথম হাতের প্রোগ্রামিংয়ের অভিজ্ঞতা রয়েছে (এবং আমি স্থির-হেড ড্রাইভগুলি ব্যবহার করেছি)। আমি এসএসডি কীভাবে কাজ করে সে সম্পর্কে 2 য় বা তৃতীয় হাতের তথ্য অনুমান করা বা পুনরাবৃত্তি না করা পছন্দ করি choose
— করাতাল

এই দুর্দান্ত উত্তরের জন্য +1, ভাল নথিভুক্ত এবং লিখিত। খুবই পেশাগত.
— ক্লিমোনলে

2

এটি একটি নির্দিষ্ট মেমরি অঞ্চলে চলে যায় যে কার্নেলটি ডিস্কের ড্রাইভার বরাদ্দ করেছে। আমি মনে করি না এটির নামকরণ বিশেষভাবে করা হয়েছে। এই মেমরি অঞ্চলটি সাধারণত রিং বাফার হিসাবে কনফিগার করা হয় । ওএসের উপর নির্ভর করে অ্যাপ্লিকেশনটি ব্যবহারের জন্য এই স্মৃতিটিকে দ্বিতীয়বার ব্যবহার করা যাবে না।

ডিএমএ হ'ল "ডাইরেক্ট মেমোরি অ্যাক্সেস" যার অর্থ ডিস্ক ড্রাইভের নিয়ামক সরাসরি সিএমইউ না করে সরাসরি র‍্যামে লিখতে পারেন আরও তথ্য পাওয়া যায় কিনা তা জিজ্ঞাসা না করে (পোলিং হিসাবে পরিচিত - জিনিসগুলি যেভাবে ব্যবহৃত হত)। পরিবর্তে, যখন পুরো বাফারটি স্থানান্তরিত করা হবে, তখন নিয়ামক সিপিইউকে বাধা দেয় এটি জানাতে ডেটা এখন উপলব্ধ।

আপনি যদি আরও নিম্ন স্তরের সম্পর্কে আগ্রহী হন তবে ড্রাইভারটি আইওএসটিএল কল করে।


1
রিং বাফারগুলি সাধারণত নেটওয়ার্ক ডিভাইস দ্বারা নিযুক্ত করা হয় (যেমন ইথারনেট নিয়ামক) কারণ ডেটা অনাকাঙ্ক্ষিতভাবে আসতে পারে (অপ্রত্যাশিতভাবে ডাব্লু / ওএ মুলতুবি পড়ার অনুরোধ)। কোনও ডিস্ক ড্রাইভ / নিয়ামক থেকে প্রাপ্ত ডেটা সর্বদা হোস্টের অনুরোধের প্রতিক্রিয়া হিসাবে থাকে। ডেটা চাওয়া হয়, সুতরাং ডিস্ক ড্রাইভারে "রিং বাফার" লাগবে না।
— করাতাল

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